On Mon, Jul 29, 2019 at 11:31 PM Bharath Vedartham <[email protected]> wrote:
>
> On Mon, Jul 29, 2019 at 10:48:57PM +0530, Muni Sekhar wrote:
> > Hi All,
> >
> > Let us assume that multiple processes are waiting on wait_event()\
> > wait_event_interruptible()\ wait_event_interruptible_timeout(), which
> > process gets woken up on calling wake_up()??
> >
> > I presume wake_up() picks one process, but is there any algorithm to
> > pick which process?
> >
> >
> > --
> > Thanks,
> > Sekhar
> Sorry to spoil the fun here. But check out what the queue data structure
> is all about. 'wait_queue' :)
A wait queue is a doubly linked list of wait_queue_t structures that
hold pointers to the process task structures of the processes that are
blocking. Each list is headed up by a wait_queue_head_t structure,
which marks the head of the list and holds the spinlock to the list to
prevent wait_queue_t additional race conditions

>
> Thank you
> Bharath
> > _______________________________________________
> > Kernelnewbies mailing list
> > [email protected]
> > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



-- 
Thanks,
Sekhar

_______________________________________________
Kernelnewbies mailing list
[email protected]
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to