Messages in this thread | | | Date | Mon, 27 May 2013 14:00:03 -0400 | From | Rik van Riel <> | Subject | Re: [PATCH 3/4] ipc/sem.c: Always use only one queue for alter operations. |
| |
On 05/26/2013 05:08 AM, Manfred Spraul wrote: > There are two places that can contain alter operations: > - the global queue: sma->pending_alter > - the per-semaphore queues: sma->sem_base[].pending_alter. > > Since one of the queues must be processed first, this causes an odd > priorization of the wakeups: > Right now, complex operations have priority over simple ops. > > The patch restores the behavior of linux <=3.0.9: The longest > waiting operation has the highest priority. > > This is done by using only one queue: > - if there are complex ops, then sma->pending_alter is used. > - otherwise, the per-semaphore queues are used. > > As a side effect, do_smart_update_queue() becomes much simpler: > No more goto logic. > > Signed-off-by: Manfred Spraul <manfred@colorfullife.com>
This is the one where I really wonder whether the complexity is warranted.
Again, the code does look correct.
Acked-by: Rik van Riel <riel@redhat.com>
| |