The wait queue is a linked list of who is waiting. That list spans the
kernel stacks of each process. When you walk a wakeup list you walk
across all those stacks.
BSD could never do this as it inherited the V7 uarea stuff where the
kernel stack page and most variables for a process were swappable on
the PDP11, and also only one was mapped into the 64K limited data
segment for that task (not being able to do that btw is the biggest
killer in Linux 8086 - because we dont have any chunky paging hardware
as the 11 did).
Newer BSD doesnt work that way but they've never changed scheme
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html