Re: INIT hangs with tonight BK pull (2.6.9-rc1+)

From: Kirill Korotaev
Date: Fri Sep 03 2004 - 03:02:25 EST


After doing BK pull last night INIT gets stuck in do_tty_hangup after
executing rc.sysinit. Was booting fine with pull from 2 days ago...
Anyone else seeing this?
I suspect pidhash patch because it touched tty_io.c, but I have not tried
reverting it as it is getting too late here... So I apologize in advance
if I am pointing finger at the innocent ;)


Well, I was excited about blowing away 100B from each task but am now
a bit concerned about the semantic impact of the refcounting part of it.
It's unclear what pins an ID while a tty has a reference to it without
the reference counting; Kirill, could you answer this?
stop.
tty doesn't hold reference to ID neither in my patch nor in the original kernel.
tty only knows session ID and wants to traverse all tasks with such ID. if task dies it calls detach_pid() and it won't be found in such a loop.
No reference counting is required.

The problem was in loop. Or more exactly my do_each_task_pid()/while_each_task_pid() macros were incompatible with continue statement inside. It was really foolish error. Like the most are...

Kirill

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/