From: Jason Baron <jbaron@redhat.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
rostedt@goodmis.org
Subject: Re: [PATCH] jump_label: jump_label for boot options.
Date: Thu, 1 Dec 2011 16:13:50 -0500 [thread overview]
Message-ID: <20111201211350.GD2443@redhat.com> (raw)
In-Reply-To: <1322761185.4699.47.camel@twins>
On Thu, Dec 01, 2011 at 06:39:45PM +0100, Peter Zijlstra wrote:
> On Thu, 2011-12-01 at 11:50 -0500, Jason Baron wrote:
>
> > I think its just a matter of reversing the true and false returns.
> > That is, instead of:
>
> that's the same as !static_branch()
>
> > jump_label_inc/dec(), don't need to be changed, they just mean reverse
> > the branch on 0, 1 transitions. Although using the same key in both
> > static_branch_true, and static_branch_false, might be confusing. Maybe
> > we rename jump_label_inc/dec to static_branch_reverse_inc()/dec()?
>
> Right, that's the problem really. That makes it impossible to make the
> control code generic.
>
> What I'd want is something that doesn't out-of-line the branch, is
> possibly enabled by default, but has the same inc/dec behaviour, not the
> reversed.
>
I think what you have below should work modulo the no out-of-line
branches and the following change:
> - if (neg)
> + if (neg) {
> sysctl_sched_features &= ~(1UL << i);
> - else
> +#ifdef HAVE_JUMP_LABEL
> + if (!jump_label_enabled(&sched_feat_keys[i]))
> + jump_label_inc(&sched_feat_keys[i]);
> +#endif
I think here its:
if (jump_label_enabled())
jump_label_dec();
> + } else {
> sysctl_sched_features |= (1UL << i);
> +#ifdef HAVE_JUMP_LABEL
> + if (jump_label_enabled(&sched_feat_keys[i]))
> + jump_label_dec(&sched_feat_keys[i]);
> +#endif
> + }
Same here:
if (!jump_label_enabled())
jump_label_inc()
The inc/dec behavior we have now, in fact will only mess up in the case
where we define 'static_branch_true()'. Because then, in that case the
jump_label_inc() will cause a jump to the false branch. So as long as we
don't introduce 'static_branch_true()' and do an early setting of those
branches which are true via __init code as you have here, I think things are
correct.
Thanks,
-Jason
next prev parent reply other threads:[~2011-12-01 21:14 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-01 2:53 [PATCH] jump_label: jump_label for boot options KAMEZAWA Hiroyuki
2011-12-01 14:48 ` Steven Rostedt
2011-12-01 15:06 ` Peter Zijlstra
2011-12-01 16:14 ` Steven Rostedt
2011-12-01 15:07 ` Peter Zijlstra
2011-12-02 0:18 ` KAMEZAWA Hiroyuki
2011-12-01 15:05 ` Peter Zijlstra
2011-12-02 0:22 ` KAMEZAWA Hiroyuki
2011-12-02 9:24 ` Peter Zijlstra
2011-12-02 12:45 ` Johannes Weiner
2011-12-02 12:53 ` Peter Zijlstra
2011-12-07 10:16 ` Johannes Weiner
2011-12-01 15:40 ` Jason Baron
2011-12-01 16:28 ` Peter Zijlstra
2011-12-01 16:50 ` Jason Baron
2011-12-01 17:16 ` Jason Baron
2011-12-01 18:16 ` Peter Zijlstra
2011-12-01 17:39 ` Peter Zijlstra
2011-12-01 17:45 ` Peter Zijlstra
2011-12-01 21:13 ` Jason Baron [this message]
2011-12-01 22:08 ` Peter Zijlstra
2011-12-02 0:28 ` KAMEZAWA Hiroyuki
2011-12-02 5:34 ` Mike Galbraith
2011-12-02 5:47 ` KAMEZAWA Hiroyuki
2011-12-02 8:39 ` Peter Zijlstra
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=20111201211350.GD2443@redhat.com \
--to=jbaron@redhat.com \
--cc=a.p.zijlstra@chello.nl \
--cc=jeremy.fitzhardinge@citrix.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
/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.