All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] ipc/sem.c: Fix semctl(,,{GETNCNT,GETZCNT})
@ 2014-05-10 10:03 Manfred Spraul
  2014-05-10 10:03 ` [PATCH 1/6] ipc/sem.c: further whitespace cleanups Manfred Spraul
                   ` (2 more replies)
  0 siblings, 3 replies; 24+ messages in thread
From: Manfred Spraul @ 2014-05-10 10:03 UTC (permalink / raw)
  To: Davidlohr Bueso, Michael Kerrisk
  Cc: LKML, Andrew Morton, 1vier1, Manfred Spraul

Hi all,

According to the man page of semop(), semzcnt or semncnt are increased
exactly for the operation that couldn't proceed.

The Linux implementation always tried to be clever and to increase the counters
for all operations that might be the reason why a task sleeps.

The following patches fix that and make the code conform to the 
documentation.

The series got fairly long, because I also noticed that semzcnt was calculated
incorrectly.

What do you think?
I ran a few test cases, and the semncnt and semzcnt counts now match
the expectation.

Is anyone aware of an application that uses GETNCNT or GETZCNT?

--
	Manfred

^ permalink raw reply	[flat|nested] 24+ messages in thread
* [PATCH 0/6] ipc/sem.c: Fix semctl(,,{GETNCNT,GETZCNT})
@ 2014-05-18  7:58 Manfred Spraul
  2014-05-18  7:58 ` [PATCH 1/6] ipc/sem.c: further whitespace cleanups Manfred Spraul
  0 siblings, 1 reply; 24+ messages in thread
From: Manfred Spraul @ 2014-05-18  7:58 UTC (permalink / raw)
  To: Andrew Morton
  Cc: LKML, Davidlohr Bueso, Michael Kerrisk, 1vier1, Manfred Spraul

Hi Andrew,

I've applied the changes recommended by Michael and Davidlohr - and I don't 
have any open points on my list, either.

Therefore: Could you add the series to -mm and move it towards mainline?

Background:

SUSv4 and the man page of semop() clearly define how semncnt or semzcnt must
be updated: Exactly for the single sop that cannot proceed.

The Linux implementation always tried to be clever and to increase the counters
for all operations that might be the reason why a task sleeps.

The following patches fix that and make the code conform to the standard and
the documentation.

The series got fairly long, because I also noticed that semzcnt was calculated
incorrectly.

--
	Manfred

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2014-05-20 19:01 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-10 10:03 [PATCH 0/6] ipc/sem.c: Fix semctl(,,{GETNCNT,GETZCNT}) Manfred Spraul
2014-05-10 10:03 ` [PATCH 1/6] ipc/sem.c: further whitespace cleanups Manfred Spraul
2014-05-10 10:03   ` [PATCH 2/6] ipc/sem.c: Bugfix for semctl(,,GETZCNT) Manfred Spraul
2014-05-10 10:03     ` [PATCH 3/6] ipc/sem.c: remove code duplication Manfred Spraul
2014-05-10 10:03       ` [PATCH 4/6] ipc/sem.c: Change perform_atomic_semop parameters Manfred Spraul
2014-05-10 10:03         ` [PATCH 5/6] ipc/sem.c: Store which operation blocks in perform_atomic_semop() Manfred Spraul
2014-05-10 10:03           ` [PATCH 6/6] ipc/sem.c: make semctl(,,{GETNCNT,GETZCNT}) standard compliant Manfred Spraul
2014-05-14 14:52             ` Davidlohr Bueso
2014-05-14 22:30               ` Andrew Morton
2014-05-15  4:24                 ` Manfred Spraul
2014-05-13  0:04         ` [PATCH 4/6] ipc/sem.c: Change perform_atomic_semop parameters Davidlohr Bueso
2014-05-12 18:19       ` [PATCH 3/6] ipc/sem.c: remove code duplication Davidlohr Bueso
2014-05-12 18:11     ` [PATCH 2/6] ipc/sem.c: Bugfix for semctl(,,GETZCNT) Davidlohr Bueso
2014-05-13 17:43       ` Manfred Spraul
2014-05-11 23:34   ` [PATCH 1/6] ipc/sem.c: further whitespace cleanups Davidlohr Bueso
2014-05-12 17:50     ` Manfred Spraul
2014-05-12  2:56 ` [PATCH 0/6] ipc/sem.c: Fix semctl(,,{GETNCNT,GETZCNT}) Davidlohr Bueso
2014-05-12  8:02 ` Michael Kerrisk (man-pages)
2014-05-12 17:43   ` Manfred Spraul
2014-05-18  7:58 Manfred Spraul
2014-05-18  7:58 ` [PATCH 1/6] ipc/sem.c: further whitespace cleanups Manfred Spraul
2014-05-18  7:58   ` [PATCH 2/6] ipc/sem.c: Bugfix for semctl(,,GETZCNT) Manfred Spraul
2014-05-18  7:58     ` [PATCH 3/6] ipc/sem.c: remove code duplication Manfred Spraul
2014-05-18  7:58       ` [PATCH 4/6] ipc/sem.c: Change perform_atomic_semop parameters Manfred Spraul
2014-05-18  7:58         ` [PATCH 5/6] ipc/sem.c: Store which operation blocks in perform_atomic_semop() Manfred Spraul
2014-05-18  7:58           ` [PATCH 6/6] ipc/sem.c: make semctl(,,{GETNCNT,GETZCNT}) standard compliant Manfred Spraul
2014-05-19 22:46             ` Andrew Morton
2014-05-20  6:56               ` Michael Kerrisk (man-pages)
2014-05-20 18:30               ` Manfred Spraul
2014-05-20 19:01                 ` Andrew Morton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.