From: Tejun Heo <tj@kernel.org>
To: Matt Fleming <matt@console-pimps.org>
Cc: Oleg Nesterov <oleg@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/1] kthreads: allow_signal: don't play with ->blocked
Date: Wed, 17 Aug 2011 09:27:46 +0200 [thread overview]
Message-ID: <20110817072746.GI4254@htj.dyndns.org> (raw)
In-Reply-To: <1313531422.3436.218.camel@mfleming-mobl1.ger.corp.intel.com>
Hello,
On Tue, Aug 16, 2011 at 10:50:22PM +0100, Matt Fleming wrote:
> On Tue, 2011-08-16 at 21:51 +0200, Tejun Heo wrote:
> > I agree with the patchset but given that daemonize() isn't all that
> > popular and you already posted most (or was it all?) conversions,
> > wouldn't it be better to do this in a single patchset? ie. Convert
> > all daemonize() users, kill daemonize(), and drop the hack from
> > allow_signal().
>
> But because daemonize() is exported by the kernel should it go through
> the Documentation/feature-removal-schedule.txt procedure? And if so, can
> the allow_signal() patch still go in before daemonize() is removed?
IMHO, not really. APIs get modified and dropped all the time and only
small fraction goes through feature-removal-schedule. For APIs which
are widely used and/or difficult to migrate from, it sure makes sense
to do the staged removal but in this case it's an interface which is
quite unpopular and with relatively easy workaround (just use
kthread).
The worst thing we can do regarding API change is silently changing
semantics while not changing the interface. For this patchset I don't
think it would matter all that much but is going that route.
ie. allow_signal() behavior is proposed to be changed because
in-kernel daemonize() users don't depend on it while leaving
daemonize() alone. This is much worse than simply removing
daemonize() with sufficient explanation in the commit message.
Out-of-kernel user which depended on the combination working would now
be left with code which compiles fine but behaves differently, which
sucks big time.
These changes _are_ related and interdependent, and routing these
small changes through different trees often end up delaying things
unnecessarily. One subsystem maintainer forgets to apply a patch or
send pull request and it can get easily drawn out half a year and
people forget what the original change was about after a while often
leading to half done conversions. So, let's please collect all the
related patches into one series, drop all in-kernel daemonize() users,
kill daemonize() and then change allow_signal() behavior.
Thanks.
--
tejun
next prev parent reply other threads:[~2011-08-17 7:27 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-11 13:56 [PATCH 00/41] signal: Use set_current_blocked() Matt Fleming
2011-08-11 13:56 ` [PATCH 01/41] alpha: " Matt Fleming
2011-08-11 13:56 ` [PATCH 02/41] arm: " Matt Fleming
2011-08-11 17:04 ` Will Deacon
2011-08-11 13:56 ` [PATCH 03/41] avr32: Don't mask signals in the error path Matt Fleming
2011-08-11 13:56 ` [PATCH 04/41] avr32: use set_current_blocked() in handle_signal/sys_rt_sigreturn Matt Fleming
2011-08-11 13:56 ` [PATCH 05/41] blackfin: Use set_current_blocked() Matt Fleming
2011-08-11 13:56 ` [PATCH 06/41] cris: " Matt Fleming
2011-08-11 13:56 ` [PATCH 07/41] frv: " Matt Fleming
2011-08-11 13:56 ` [PATCH 08/41] h8300: " Matt Fleming
2011-08-11 13:56 ` [PATCH 09/41] ia64: " Matt Fleming
2011-08-11 13:56 ` [PATCH 10/41] m32r: " Matt Fleming
2011-08-11 13:56 ` [PATCH 11/41] m68k: " Matt Fleming
2011-08-11 13:56 ` [PATCH 12/41] microblaze: Don't reimplement force_sigsegv() Matt Fleming
2011-08-16 17:20 ` Oleg Nesterov
2011-08-16 17:20 ` Oleg Nesterov
2011-08-17 13:01 ` Michal Simek
2011-08-17 13:14 ` Oleg Nesterov
2011-08-17 13:25 ` Matt Fleming
2011-08-17 13:17 ` Matt Fleming
2011-08-17 13:22 ` Michal Simek
2011-08-11 13:56 ` [PATCH 13/41] microblaze: No need to reset handler if SA_ONESHOT Matt Fleming
2011-08-11 13:56 ` [PATCH 14/41] microblaze: Fix signal masking Matt Fleming
2011-08-11 13:56 ` [PATCH 15/41] microblaze: Use set_current_blocked() Matt Fleming
2011-08-11 13:56 ` [PATCH 16/41] MIPS: " Matt Fleming
2011-08-11 13:56 ` [PATCH 17/41] mn10300: " Matt Fleming
2011-08-11 13:56 ` [PATCH 18/41] OpenRISC: Don't reimplement force_sigsegv() Matt Fleming
2011-08-16 16:49 ` Oleg Nesterov
2011-08-16 19:33 ` Matt Fleming
2011-08-18 17:47 ` Oleg Nesterov
2011-08-11 13:56 ` [PATCH 19/41] OpenRISC: No need to reset handler if SA_ONESHOT Matt Fleming
2011-08-16 16:53 ` Oleg Nesterov
2011-08-11 13:56 ` [PATCH 20/41] OpenRISC: Don't mask signals if we fail to setup signal stack Matt Fleming
2011-08-11 13:56 ` [PATCH 21/41] OpenRISC: Use set_current_blocked() Matt Fleming
2011-08-11 13:56 ` [PATCH 22/41] parisc: " Matt Fleming
2011-08-11 13:56 ` [PATCH 23/41] powerpc: " Matt Fleming
2011-08-11 13:56 ` [PATCH 24/41] score: Don't mask signals if we fail to setup signal stack Matt Fleming
2011-08-11 13:56 ` [PATCH 25/41] score: Use set_current_blocked() Matt Fleming
2011-08-11 13:57 ` [PATCH 26/41] sh: No need to reset handler if SA_ONESHOT Matt Fleming
2011-08-16 17:25 ` Oleg Nesterov
2011-08-11 13:57 ` [PATCH 27/41] sh: Use set_current_blocked() Matt Fleming
2011-08-11 13:57 ` [PATCH 28/41] sparc: " Matt Fleming
2011-08-11 13:57 ` [PATCH 29/41] tile: " Matt Fleming
2011-08-11 17:10 ` Chris Metcalf
2011-08-11 13:57 ` [PATCH 30/41] um: " Matt Fleming
2011-08-11 13:57 ` [PATCH 31/41] um: Don't restore current->blocked on error Matt Fleming
2011-08-16 17:38 ` Oleg Nesterov
2011-08-11 13:57 ` [PATCH 32/41] unicore32: Use set_current_blocked() Matt Fleming
2011-08-18 8:34 ` Guan Xuetao
2011-08-11 13:57 ` [PATCH 33/41] xtensa: Don't reimplement force_sigsegv() Matt Fleming
2011-08-16 17:40 ` Oleg Nesterov
2011-08-11 13:57 ` [PATCH 34/41] xtensa: No need to reset handler if SA_ONESHOT Matt Fleming
2011-08-11 13:57 ` [PATCH 35/41] xtensa: Don't mask signals if we fail to setup signal stack Matt Fleming
2011-08-11 13:57 ` [PATCH 36/41] xtensa: Use set_current_blocked() Matt Fleming
2011-08-11 13:57 ` [PATCH 37/41] autofs4: " Matt Fleming
2011-08-16 17:47 ` Oleg Nesterov
2011-08-16 20:29 ` Matt Fleming
2011-08-11 13:57 ` [PATCH 38/41] coda: " Matt Fleming
2011-08-11 13:57 ` [PATCH 39/41] dlm: Remove another superfluous call to recalc_sigpending() Matt Fleming
2011-08-11 15:39 ` David Teigland
2011-08-16 19:36 ` Oleg Nesterov
2011-08-11 13:57 ` [PATCH 40/41] ncpfs: Use set_current_blocked() Matt Fleming
2011-08-16 17:56 ` Oleg Nesterov
2011-08-16 20:56 ` Matt Fleming
2011-08-17 12:04 ` Oleg Nesterov
2011-08-17 13:58 ` Matt Fleming
2011-08-17 14:41 ` Oleg Nesterov
[not found] ` <CA+i2_De=mKMHj++b5=ZPdXxp7pm2KzY+PzCaG++GWSud20a_qQ@mail.gmail.com>
2011-08-18 17:05 ` Oleg Nesterov
2011-08-18 20:09 ` Matt Fleming
2011-08-11 13:57 ` [PATCH 41/41] exit: Use __set_task_blocked() Matt Fleming
2011-08-16 18:06 ` Oleg Nesterov
2011-08-16 19:44 ` [PATCH 0/1] kthreads: allow_signal: don't play with ->blocked Oleg Nesterov
2011-08-16 19:44 ` [PATCH 1/1] " Oleg Nesterov
2011-08-16 19:51 ` Tejun Heo
2011-08-16 20:07 ` Oleg Nesterov
2011-08-16 21:50 ` Matt Fleming
2011-08-17 7:27 ` Tejun Heo [this message]
2011-08-17 9:56 ` Matt Fleming
2011-08-17 18:26 ` Oleg Nesterov
2011-08-16 21:51 ` [PATCH 41/41] exit: Use __set_task_blocked() Matt Fleming
2011-08-11 16:03 ` [PATCH 00/41] signal: Use set_current_blocked() Oleg Nesterov
2011-08-16 19:40 ` Matt Fleming
2011-08-17 17:01 ` Oleg Nesterov
2011-08-17 22:17 ` Matt Fleming
2011-08-18 11:09 ` Matt Fleming
2011-08-18 18:36 ` Oleg Nesterov
2011-08-16 19:58 ` Oleg Nesterov
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=20110817072746.GI4254@htj.dyndns.org \
--to=tj@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matt@console-pimps.org \
--cc=oleg@redhat.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
all inboxes | Powered by JetHome®