On Mon, Jul 29, 2019 at 11:31 PM Bharath Vedartham <linux.bhar@xxxxxxxxx> 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 > > Kernelnewbies@xxxxxxxxxxxxxxxxx > > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies -- Thanks, Sekhar _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies