From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Steven Rostedt <rostedt@goodmis.org>,
David Daney <ddaney@caviumnetworks.com>,
Ingo Molnar <mingo@elte.hu>, Jason Baron <jbaron@redhat.com>,
rth@redhat.com, tglx@linutronix.de, andi@firstfloor.org,
roland@redhat.com, masami.hiramatsu.pt@hitachi.com,
fweisbec@gmail.com, avi@redhat.com, davem@davemloft.net,
vgoyal@redhat.com, sam@ravnborg.org, tony@bakeyournoodle.com,
dsd@laptop.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] jump label: disable due to compiler bug
Date: Fri, 29 Oct 2010 16:42:33 -0400 [thread overview]
Message-ID: <20101029204233.GA28585@Krystal> (raw)
In-Reply-To: <4CCB2B7B.6020002@zytor.com>
* H. Peter Anvin (hpa@zytor.com) wrote:
> On 10/29/2010 10:33 AM, Steven Rostedt wrote:
> >>
> >> Should this knowledge be builtin to the jump label enabling calculus?
> >
> > No, because we can't trust versions. We never know what home grown gcc a
> > kernel developer is using (and what has been backported or not). Thus
> > the only option is to have a builtin test we can do at compile time to
> > determine if the bug exists or not and decide then.
> >
> > Note, I'm currently running my last set of patches through ktest. When
> > it finishes (presumably with no issues), I'll post a pull request.
> >
>
> I disagree with that assessment.
>
> We know that if version >= 4.5.2 the problem has been fixed, and that
> for earlier versions we can't know if it's there, so just disable it for
> gcc < 4.5.2. The fix might have been backported, but it's not a big
> deal if the users of backported compilers don't see the full benefit --
> it's only a problem during a limited time window anyway.
I agree with HPA here. Moreover, we have no hard guarantee that the
automated assembly inspection proposed won't be breaked in the future
caused by changes in gcc. Compiling and running a user-level runtime
test at kernel build time does not work with cross-compilers, and
matching the exact options used for kernel builds might be hard.
I would tend to argue that the added longer-term maintainance burden of
adding such a test is far worse than leaving gcc < 4.5.2 users without
static jump patching, especially given that we have a fallback.
For now, we know that x86_64 works, but the standard setup for x86_32
kernel is broken. What do we do if testing shows that some other
architecture has similar issues ? Add more work-arounds ? At this early
stage, I would simply bump the gcc version dependency forward for all
architectures. Later on, after things have settled and as more and more
architectures are supported, we could deal with arch-specific breakages
on a per-architecture basis.
If this was a showstopper feature, my position would be different. But
the fact that we have been able to wait for gcc to integrate asm gotos
while adding tracepoints shows that it's not crucial in the short term.
We still have to be careful when adding new tracepoints anyway as long
as gcc < 4.5 is still widely used.
Thanks,
Mathieu
>
> Admittedly it would be nice to have a header file or even a
> configuration file where the gcc version is tested and workarounds are
> centralized; then the backporters could put their own overrides in there.
>
> -hpa
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
next prev parent reply other threads:[~2010-10-29 21:22 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-27 21:07 [PATCH 0/2] jump label updates Jason Baron
2010-10-27 21:07 ` [PATCH 1/2] move arch_init_ideal_nop5 later Jason Baron
2010-10-27 22:24 ` H. Peter Anvin
2010-10-28 2:11 ` Steven Rostedt
2010-10-28 2:59 ` H. Peter Anvin
2010-10-27 21:07 ` [PATCH 2/2] jump label: disable due to compiler bug Jason Baron
2010-10-27 22:21 ` H. Peter Anvin
2010-10-28 14:17 ` Jason Baron, rth
2010-10-28 18:55 ` David Daney
2010-10-28 20:11 ` Jason Baron
2010-10-29 6:34 ` Ingo Molnar
2010-10-29 12:18 ` Steven Rostedt
2010-10-29 12:22 ` Ingo Molnar
2010-10-29 12:46 ` Steven Rostedt
2010-10-29 13:10 ` Ingo Molnar
2010-10-29 13:35 ` Mathieu Desnoyers
2010-10-29 16:18 ` Steven Rostedt
2010-10-29 17:18 ` David Daney
2010-10-29 17:33 ` Steven Rostedt
2010-10-29 17:48 ` David Daney
2010-10-29 18:03 ` Steven Rostedt
2010-10-29 18:13 ` Richard Henderson
2010-10-29 18:25 ` Steven Rostedt
2010-10-29 20:15 ` H. Peter Anvin
2010-10-29 20:42 ` Mathieu Desnoyers [this message]
2010-10-29 20:47 ` Steven Rostedt
2010-10-29 20:51 ` H. Peter Anvin
2010-10-29 20:58 ` Steven Rostedt
2010-10-30 7:47 ` Andi Kleen
2010-10-30 14:00 ` Steven Rostedt
2010-10-29 20:05 ` Mathieu Desnoyers
2010-10-29 20:44 ` Steven Rostedt
2010-10-29 15:59 ` Richard Henderson
2010-10-27 21:15 ` [PATCH 0/2] jump label updates David Miller
2010-10-28 1:33 ` Steven Rostedt
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=20101029204233.GA28585@Krystal \
--to=mathieu.desnoyers@polymtl.ca \
--cc=andi@firstfloor.org \
--cc=avi@redhat.com \
--cc=davem@davemloft.net \
--cc=ddaney@caviumnetworks.com \
--cc=dsd@laptop.org \
--cc=fweisbec@gmail.com \
--cc=hpa@zytor.com \
--cc=jbaron@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@elte.hu \
--cc=roland@redhat.com \
--cc=rostedt@goodmis.org \
--cc=rth@redhat.com \
--cc=sam@ravnborg.org \
--cc=tglx@linutronix.de \
--cc=tony@bakeyournoodle.com \
--cc=vgoyal@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