[PATCH 0/5] ipc/sem.c: multiple fixes

From: Manfred Spraul
Date: Sat Oct 15 2011 - 09:14:06 EST


Hi all,

The wakeup scheme used by semtimedop() does not work as intended on -rt.

The following series:
- fixes one bug that I noticed while thinking about a -rt compatible
implementation
- prevents the code from returning to user space due to spurious wakeups.
(noticed by Peter Zijlstra)
- moves private structures from include/linux/sem.h to ipc/sem.c
- saves some memory if sysvipc is disabled.
- reworks the wakeup scheme and adds a 2nd wakeup scheme that is based
on a completion. For CONFIG_PREEMPT_RT_BASE, this scheme is used.

What do you think?
The rework of the wakeup should also help to convert the code to
using the wake_up_list framework.

Andrew: Could you replace the patches in -mm with this series?
I would prefer to keep the current scheme as the default, it's
~5% faster (6.5 usec vs. 6.8 usec per wakeup).

The patches pass checkpatch.pl and I didn't observe any problems
with my test apps.

--
Manfred
--
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/