mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Sven Schnelle <svens@linux.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Peter Zijlstra <peterz@infradead.org>,
	Andy Lutomirski <luto@kernel.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] entry: fix compile error in dynamic_irqentry_exit_cond_resched()
Date: Wed, 30 Mar 2022 10:53:07 +0100	[thread overview]
Message-ID: <YkQog3+80izN1e1q@FVFF77S0Q05N> (raw)
In-Reply-To: <yt9dilrvztno.fsf@linux.ibm.com>

On Wed, Mar 30, 2022 at 11:17:15AM +0200, Sven Schnelle wrote:
> Mark Rutland <mark.rutland@arm.com> writes:
> 
> > On Wed, Mar 30, 2022 at 10:43:28AM +0200, Sven Schnelle wrote:
> >> kernel/entry/common.c: In function ‘dynamic_irqentry_exit_cond_resched’:
> >> kernel/entry/common.c:409:14: error: implicit declaration of
> >> function ‘static_key_unlikely’; did you mean ‘static_key_enable’?
> >> [-Werror=implicit-function-declaration]
> >>   409 |         if (!static_key_unlikely(&sk_dynamic_irqentry_exit_cond_resched))
> >>       |              ^~~~~~~~~~~~~~~~~~~
> >>       |              static_key_enable
> >> 
> >> static_key_unlikely() should be static_branch_unlikely().
> >> 
> >> Fixes: 99cf983cc8bca ("sched/preempt: Add PREEMPT_DYNAMIC using static keys")
> >> Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
> >
> > Sorry about this. FWIW:
> >
> > Reviewed-by: Mark Rutland <mark.rutland@arm.com>
> >
> > For context for others, this'll only show up on architectures which both use
> > the generic entry code and select CONFIG_HAVE_PREEMPT_DYNAMIC_KEY. Today, only
> > arm64 selects CONFIG_HAVE_PREEMPT_DYNAMIC_KEY, and it doesn't use the generic
> > entry code.
> >
> > Sven, I assume you're looking at wiring this up on s390 or parisc?
> 
> Yes, i'm looking whether we can use the same implementation on s390. :)
> 
> I reported it already on 03/18, but looks like that Mail was lost
> somehow:
> 
> https://www.spinics.net/lists/kernel/msg4283802.html

Ah; sorry, I didn't spot that somehow.

> I was wondering whether we can make dynamic_irqentry_exit_cond_resched()
> static, so it gets inlined. On s390 the compiler generates a branch to
> that function just to return immediately if the static key isn't enabled.
> With static it would get inlined, and therefore save one function call.
> What do you think?

I appreciate that it saves one call, but does that actually matter in practice,
given this is called only once per interrupt?

I'm not fundamentally opposed to changing it, but doing so would make it
different from all the other dynamic_*() cases which need the check to be
out-of-line to avoid bloating the callers, and it's not clear to me that we'd
gain much by doing so.

FWIW, on arm64 we had some additional conditions we have to check, so we roll
our own (out-of-line) implementation anyway. So doing something arch-specific
is also an option.

Thanks,
Mark.

  reply	other threads:[~2022-03-30  9:53 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-30  8:43 Sven Schnelle
2022-03-30  9:04 ` Mark Rutland
2022-03-30  9:17   ` Sven Schnelle
2022-03-30  9:53     ` Mark Rutland [this message]
2022-03-30 10:01       ` Sven Schnelle
2022-04-05  8:22 ` [tip: sched/urgent] entry: Fix " tip-bot2 for Sven Schnelle

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=YkQog3+80izN1e1q@FVFF77S0Q05N \
    --to=mark.rutland@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=peterz@infradead.org \
    --cc=svens@linux.ibm.com \
    --cc=tglx@linutronix.de \
    /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®