linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Manfred Spraul <manfred@colorfullife.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Davidlohr Bueso <davidlohr.bueso@hp.com>,
	1vier1@web.de
Subject: Re: [PATCH 6/6] ipc/sem.c: make semctl(,,{GETNCNT,GETZCNT}) standard compliant
Date: Tue, 20 May 2014 08:56:38 +0200	[thread overview]
Message-ID: <CAKgNAkhhqzA5twBAXWGJc1h59EDXXZz+CjgCsxAbVrGowt6jig@mail.gmail.com> (raw)
In-Reply-To: <20140519154639.5570a30f8b47872a323dcdfd@linux-foundation.org>

On Tue, May 20, 2014 at 12:46 AM, Andrew Morton
<akpm@linux-foundation.org> wrote:
> On Sun, 18 May 2014 09:58:37 +0200 Manfred Spraul <manfred@colorfullife.com> wrote:
>
>> SUSv4 clearly defines how semncnt and semzcnt must be calculated:
>> A task waits on exactly one semaphore:
>> The semaphore from the first operation in the sop array that cannot proceed.
>>
>> The Linux implementation never followed the standard, it tried to count all
>> semaphores that might be the reason why a task sleeps.
>>
>> This patch fixes that.
>
> What are the back-compatibility implications of this change?

Hard to estimate, but some thoughts:
* These operations seem to be very little used. Grepping the public
  source that is contained Fedora 20 source DVD, there appear
  to be no uses. Of course, this says nothing about uses in
  private / non-mainstream FOSS code, but it seems likely that
  the same pattern is followed there.
* The existing behavior is hard enough to understand that I suspect that
  no one understood it well enough to rely on it anyway (especially as
  that behavior contradicted both man page and POSIX).

So, there's a chance of breakage, but I estimate that it's minute.

Cheers,

Michael

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

  reply	other threads:[~2014-05-20  6:57 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-18  7:58 [PATCH 0/6] ipc/sem.c: Fix semctl(,,{GETNCNT,GETZCNT}) 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) [this message]
2014-05-20 18:30               ` Manfred Spraul
2014-05-20 19:01                 ` Andrew Morton
2014-05-18 18:03 ` [PATCH 0/6] ipc/sem.c: Fix semctl(,,{GETNCNT,GETZCNT}) Davidlohr Bueso
  -- strict thread matches above, loose matches on Subject: below --
2014-05-10 10:03 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

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=CAKgNAkhhqzA5twBAXWGJc1h59EDXXZz+CjgCsxAbVrGowt6jig@mail.gmail.com \
    --to=mtk.manpages@gmail.com \
    --cc=1vier1@web.de \
    --cc=akpm@linux-foundation.org \
    --cc=davidlohr.bueso@hp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=manfred@colorfullife.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).