From: Manfred Spraul <manfred@colorfullife.com>
To: mtk.manpages@gmail.com
Cc: Davidlohr Bueso <davidlohr.bueso@hp.com>,
LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
1vier1@web.de
Subject: Re: [PATCH 0/6] ipc/sem.c: Fix semctl(,,{GETNCNT,GETZCNT})
Date: Mon, 12 May 2014 19:43:58 +0200 [thread overview]
Message-ID: <5371085E.2050407@colorfullife.com> (raw)
In-Reply-To: <CAKgNAkiLwFrn=kDSrc4JSfobaM98pLVMcrCy4EoobgeXjqfK0g@mail.gmail.com>
Hi Michael,
On 05/12/2014 10:02 AM, Michael Kerrisk (man-pages) wrote:
> Hi Manfred,
>
> On Sat, May 10, 2014 at 12:03 PM, Manfred Spraul
> <manfred@colorfullife.com> wrote:
>> Hi all,
>>
>> According to the man page of semop(), semzcnt or semncnt are increased
>> exactly for the operation that couldn't proceed.
> Perhaps it's woth noting here that the man page is also pretty close
> to the POSIX text that describes semzcnt and semncnt. Form the SUSv4
> <sys/sem.h> spec:
>
> semncnt: number of processes waiting for semval to become
> greater than current value.
> semzcnt: Number of processes waiting for semval to become 0.
Good idea, I have updated the comments.
>> 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.
> Are any of those test cases in a form that could be used by other to
> replicate your results? Also, are there any of those tests that could
> go into the source tree?
Unfortunately I have more or less given up writing specific tests,
instead I use a generic "change" application that allows to create
multi-semop operations.
# ./createary 5 3
# ./change 5 0 -1 1 -1 2 -1&
# ./getall 5 -v
I wrote a simple test for semncnt, too:
# ./ncnt
https://github.com/manfred-colorfu/ipcsemtest
next prev parent reply other threads:[~2014-05-12 17:44 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-05-18 7:58 Manfred Spraul
2014-05-18 18:03 ` Davidlohr Bueso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5371085E.2050407@colorfullife.com \
--to=manfred@colorfullife.com \
--cc=1vier1@web.de \
--cc=akpm@linux-foundation.org \
--cc=davidlohr.bueso@hp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mtk.manpages@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.