[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090731141122.a1939712.akpm@linux-foundation.org>
Date: Fri, 31 Jul 2009 14:11:22 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Peter Zijlstra <a.p.zijlstra@...llo.nl>
Cc: oleg@...hat.com, eranian@...il.com, mingo@...e.hu,
linux-kernel@...r.kernel.org, tglx@...utronix.de,
robert.richter@....com, paulus@...ba.org, andi@...stfloor.org,
mpjohn@...ibm.com, cel@...ibm.com, cjashfor@...ibm.com,
mucci@...s.utk.edu, terpstra@...s.utk.edu,
perfmon2-devel@...ts.sourceforge.net, mtk.manpages@...glemail.com,
roland@...hat.com
Subject: Re: [RFC][PATCH] fcntl: F_[SG]ETOWN_TID
On Fri, 31 Jul 2009 10:35:20 +0200
Peter Zijlstra <a.p.zijlstra@...llo.nl> wrote:
> In order to direct the SIGIO signal to a particular thread of a
> multi-threaded application we cannot, like suggested by the manpage, put
> a TID into the regular fcntl(F_SETOWN) call. It will still be send to
> the whole process of which that thread is part.
>
> Since people do want to properly direct SIGIO we introduce F_SETOWN_TID,
> which functions similarly to F_SETOWN, except positive arguments are
> interpreted as TIDs and negative arguments are interpreted as PIDs.
>
> This extension is fully bug compatible with the old F_GETOWN
> implementation in that F_GETOWN_TID will be troubled by the negative
> return value for PIDs similarly to F_GETOWN's trouble with process
> groups.
I'd be interested in seeing a bit more explanation about the "people do
want to properly direct SIGIO" thing - use cases, how the current code
causes them problems, etc. As it stands, it's a bit of a mystery-patch.
> [ compile tested only so far ]
I will continue to lurk :)
> arch/parisc/include/asm/fcntl.h | 2 +
> fs/fcntl.c | 64 +++++++++++++++++++++++++++++++++-----
> include/asm-generic/fcntl.h | 4 ++
> include/linux/fs.h | 11 +++++-
> net/socket.c | 2 +-
OK.
Alpha has private definitions of F_SETSIG and F_GETSIG which are
identical to the generic ones. That's somewhat logical, given that
alpha's F_SETOWN/F_GETOWN _differ_ from the asm-generic ones.
Alpha appears to have made the decision to spell out _all_ the F_*
flags, given that some of them are different. That has some merit, I
guess.
But your patch broke that.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists