From: Oleg Nesterov <oleg@redhat.com>
To: Ivo Sieben <meltedpianoman@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
linux-kernel@vger.kernel.org, Andi Kleen <andi@firstfloor.org>,
Preeti U Murthy <preeti@linux.vnet.ibm.com>,
Jiri Slaby <jslaby@suse.cz>, Alan Cox <alan@lxorguk.ukuu.org.uk>,
linux-serial@vger.kernel.org, Alan Cox <alan@linux.intel.com>,
Greg KH <gregkh@linuxfoundation.org>
Subject: Re: [PATCH] tty: Only wakeup the line discipline idle queue when queue is active
Date: Thu, 3 Jan 2013 19:36:11 +0100 [thread overview]
Message-ID: <20130103183611.GA28225@redhat.com> (raw)
In-Reply-To: <CAMSQXEGU2WmhmMqP7XMK2x39GN9iDDWpg-Wa7_cAauHWx5OWbQ@mail.gmail.com>
On 01/03, Ivo Sieben wrote:
>
> Oleg, Peter, Ingo, Andi & Preeti,
>
> 2013/1/2 Jiri Slaby <jslaby@suse.cz>:
> > On 01/02/2013 04:21 PM, Ivo Sieben wrote:
> >> I don't understand your responses: do you suggest to implement this
> >> "if active" behavior in:
> >> * A new wake_up function called wake_up_if_active() that is part of
> >> the waitqueue layer?
> >
> > Sounds good.
> >
> > --
> > js
> > suse labs
>
> I want to ask you 'scheduler' people for your opinion:
>
> Maybe you remember my previous patch where I suggested an extra
> 'waitqueue empty' check before entering the critical section of the
> wakeup() function (If you do not remember see
> https://lkml.org/lkml/2012/10/25/159)
>
> Finally Oleg responded that a lot of callers do
>
> if (waitqueue_active(q))
> wake_up(...);
>
> what made my patch pointless and adds a memory barrier.
Plus this change doesn't look 100% correct, at least in theory.
> I then decided
> to also implement the 'waitqueue_active' approach for my problem.
Well, if you ask me I think this is the best solution ;)
But I won't insist.
> But now I get a review comment by Jiri that he would like to hide this
> 'if active behavior' in a wake_up_if_active() kind of function. I
> think he is right that implementing this check in the wakeup function
> would clean things up, right?
>
> I would like to have your opinion on the following two suggestions:
> - We still can do the original patch on the wake_up() that I
> suggested. I then can do an additional code cleanup patch that removes
> the double 'waitqueue_active' call (a quick grep found about 150 of
> these waitqueue active calls) on several places in the code.
In this case we should also fix some users of add_wait_queue().
> - Or - as an alternative - I could add extra _if_active() versions of
> all wake_up() functions, that implement this extra test.
Not sure this will actually help to make the code cleaner. The last
patch you sent looks simple and clean. IMHO it doesn't make sense
to create _if_active helper for each wake_up*.
Oleg.
next prev parent reply other threads:[~2013-01-03 18:38 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-18 14:48 [PATCH] tty: Only wakeup the line discipline idle queue when queue is active Ivo Sieben
2013-01-02 9:29 ` Jiri Slaby
2013-01-02 11:43 ` Alan Cox
2013-01-02 15:21 ` Ivo Sieben
2013-01-02 19:06 ` Jiri Slaby
2013-01-03 9:49 ` Ivo Sieben
2013-01-03 18:36 ` Oleg Nesterov [this message]
2013-01-15 9:16 ` Ivo Sieben
2013-01-15 18:03 ` Oleg Nesterov
2013-01-16 8:13 ` Preeti U Murthy
2013-01-16 9:16 ` Ivo Sieben
2013-01-16 10:41 ` Preeti U Murthy
2013-01-16 12:02 ` Ivo Sieben
2013-01-17 10:56 ` Preeti U Murthy
2013-01-18 15:45 ` Oleg Nesterov
2013-01-21 2:56 ` Preeti U Murthy
2013-01-21 7:20 ` Ivo Sieben
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=20130103183611.GA28225@redhat.com \
--to=oleg@redhat.com \
--cc=alan@linux.intel.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=andi@firstfloor.org \
--cc=gregkh@linuxfoundation.org \
--cc=jslaby@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=meltedpianoman@gmail.com \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=preeti@linux.vnet.ibm.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).