* Re: [RFC PATCH 01/11] Add basic support for gcc profiler instrumentation
[not found] ` <20080103092104.GE10813@elte.hu>
@ 2008-01-03 13:58 ` Steven Rostedt
[not found] ` <Pine.LNX.4.58.0801030849180.1468@gandalf.stny.rr.com>
1 sibling, 0 replies; 5+ messages in thread
From: Steven Rostedt @ 2008-01-03 13:58 UTC (permalink / raw)
To: Ingo Molnar
Cc: Chris Wright, Mathieu Desnoyers, Peter Zijlstra, Gregory Haskins,
LKML, virtualization, Christoph Hellwig, Steven Rostedt,
Arnaldo Carvalho de Melo, William L. Irwin, Andrew Morton,
Linus Torvalds
[Added Chris Wright, Rusty and Virt list because they were involved with
this issue before]
On Thu, 3 Jan 2008, Ingo Molnar wrote:
>
> * Steven Rostedt <rostedt@goodmis.org> wrote:
>
> > +# function tracing might turn this off:
> > +config REGPARM
> > + bool
> > + depends on !MCOUNT
> > + default y
>
> are you sure -pg really needs this?
Nope! Arnaldo and I only carried it because you had it ;-)
> I just carried this along the years
> and went the path of least resistence, but we should not be
> reintroducing the !REGPARM build mode for the kernel. I'd not be
> surprised if there were a few issues with REGPARM + mcount, but we have
> to figure it out before merging ...
Hmm, I know paravirt-ops had an issue with mcount in the RT tree. I can't
remember the exact issues, but it did have something to do with the way
parameters were passed in.
Chris, do you remember what the issues were?
I'm also thinking that this is only an i386 issue.
Thanks,
-- Steve
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC PATCH 01/11] Add basic support for gcc profiler instrumentation
[not found] ` <Pine.LNX.4.58.0801030849180.1468@gandalf.stny.rr.com>
@ 2008-01-03 18:16 ` Chris Wright
2008-01-03 19:15 ` Steven Rostedt
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Chris Wright @ 2008-01-03 18:16 UTC (permalink / raw)
To: Steven Rostedt
Cc: Chris Wright, Mathieu Desnoyers, Peter Zijlstra, Gregory Haskins,
LKML, virtualization, Christoph Hellwig, Steven Rostedt,
Arnaldo Carvalho de Melo, William L. Irwin, Ingo Molnar,
Linus Torvalds, Andrew Morton
* Steven Rostedt (rostedt@goodmis.org) wrote:
> Hmm, I know paravirt-ops had an issue with mcount in the RT tree. I can't
> remember the exact issues, but it did have something to do with the way
> parameters were passed in.
>
> Chris, do you remember what the issues were?
Yes, paravirt ops have a well-specified calling convention (register
based). There was a cleanup that Andi did that caused the problem
because it removed all the "fastcall" annotations since -mregparm=3
is now always on for i386. Since MCOUNT disables REGPARM the calling
convention changes (caller pushes to stack, callee expects register)
chaos ensues. I sent a patch to fix that quite some months back, but
it went stale and I neglected to update it. Would you like me to dig
it up refresh and resend?
thanks,
-chris
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC PATCH 01/11] Add basic support for gcc profiler instrumentation
2008-01-03 18:16 ` Chris Wright
@ 2008-01-03 19:15 ` Steven Rostedt
[not found] ` <Pine.LNX.4.58.0801031413410.5746@gandalf.stny.rr.com>
2008-01-03 19:18 ` Jeremy Fitzhardinge
2 siblings, 0 replies; 5+ messages in thread
From: Steven Rostedt @ 2008-01-03 19:15 UTC (permalink / raw)
To: Chris Wright
Cc: Chris Wright, Mathieu Desnoyers, Peter Zijlstra, Gregory Haskins,
LKML, virtualization, Christoph Hellwig, Steven Rostedt,
Arnaldo Carvalho de Melo, William L. Irwin, Ingo Molnar,
Linus Torvalds, Andrew Morton
On Thu, 3 Jan 2008, Chris Wright wrote:
>
> Yes, paravirt ops have a well-specified calling convention (register
> based). There was a cleanup that Andi did that caused the problem
> because it removed all the "fastcall" annotations since -mregparm=3
> is now always on for i386. Since MCOUNT disables REGPARM the calling
> convention changes (caller pushes to stack, callee expects register)
> chaos ensues. I sent a patch to fix that quite some months back, but
> it went stale and I neglected to update it. Would you like me to dig
> it up refresh and resend?
Chris, thanks for the refresher.
I'm going to see if we can remove the REGPARM hack and change the way
mcount does its calls. Maybe this will fix things for us.
-- Steve
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC PATCH 01/11] Add basic support for gcc profiler instrumentation
[not found] ` <Pine.LNX.4.58.0801031413410.5746@gandalf.stny.rr.com>
@ 2008-01-03 19:17 ` Chris Wright
0 siblings, 0 replies; 5+ messages in thread
From: Chris Wright @ 2008-01-03 19:17 UTC (permalink / raw)
To: Steven Rostedt
Cc: Chris Wright, Chris Wright, Mathieu Desnoyers, Peter Zijlstra,
Gregory Haskins, LKML, virtualization, Christoph Hellwig,
Steven Rostedt, Arnaldo Carvalho de Melo, William L. Irwin,
Ingo Molnar, Linus Torvalds, Andrew Morton
* Steven Rostedt (rostedt@goodmis.org) wrote:
> On Thu, 3 Jan 2008, Chris Wright wrote:
> > Yes, paravirt ops have a well-specified calling convention (register
> > based). There was a cleanup that Andi did that caused the problem
> > because it removed all the "fastcall" annotations since -mregparm=3
> > is now always on for i386. Since MCOUNT disables REGPARM the calling
> > convention changes (caller pushes to stack, callee expects register)
> > chaos ensues. I sent a patch to fix that quite some months back, but
> > it went stale and I neglected to update it. Would you like me to dig
> > it up refresh and resend?
>
> Chris, thanks for the refresher.
>
> I'm going to see if we can remove the REGPARM hack and change the way
> mcount does its calls. Maybe this will fix things for us.
I don't recall why mcount disables regparm, but I think you're on the
right path to remove that dependency.
thanks,
-chris
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC PATCH 01/11] Add basic support for gcc profiler instrumentation
2008-01-03 18:16 ` Chris Wright
2008-01-03 19:15 ` Steven Rostedt
[not found] ` <Pine.LNX.4.58.0801031413410.5746@gandalf.stny.rr.com>
@ 2008-01-03 19:18 ` Jeremy Fitzhardinge
2 siblings, 0 replies; 5+ messages in thread
From: Jeremy Fitzhardinge @ 2008-01-03 19:18 UTC (permalink / raw)
To: Chris Wright
Cc: Christoph Hellwig, Mathieu Desnoyers, Peter Zijlstra,
Linus Torvalds, LKML, virtualization, Chris Wright,
Steven Rostedt, Arnaldo Carvalho de Melo, William L. Irwin,
Ingo Molnar, Gregory Haskins, Andrew Morton
Chris Wright wrote:
> * Steven Rostedt (rostedt@goodmis.org) wrote:
>
>> Hmm, I know paravirt-ops had an issue with mcount in the RT tree. I can't
>> remember the exact issues, but it did have something to do with the way
>> parameters were passed in.
>>
>> Chris, do you remember what the issues were?
>>
>
> Yes, paravirt ops have a well-specified calling convention (register
> based). There was a cleanup that Andi did that caused the problem
> because it removed all the "fastcall" annotations since -mregparm=3
> is now always on for i386. Since MCOUNT disables REGPARM the calling
> convention changes (caller pushes to stack, callee expects register)
> chaos ensues. I sent a patch to fix that quite some months back, but
> it went stale and I neglected to update it. Would you like me to dig
> it up refresh and resend?
Ingo/Andrew have been accepting patches to systematically remove all the
fastcall annotations from the kernel, so adding them back isn't going to
help.
Ingo and I discussed whether we need to reannotate paravirt.h (either
with fastcall or something else indicating a register-only calling
convention), specifically because of the -pg issue, but I think the
conclusion was that whatever problem existed no longer does, and there's
no incompatibility between -pg and regparm.
J
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-01-03 19:18 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20080103071609.478486470@goodmis.org>
[not found] ` <20080103072226.776141236@goodmis.org>
[not found] ` <20080103092104.GE10813@elte.hu>
2008-01-03 13:58 ` [RFC PATCH 01/11] Add basic support for gcc profiler instrumentation Steven Rostedt
[not found] ` <Pine.LNX.4.58.0801030849180.1468@gandalf.stny.rr.com>
2008-01-03 18:16 ` Chris Wright
2008-01-03 19:15 ` Steven Rostedt
[not found] ` <Pine.LNX.4.58.0801031413410.5746@gandalf.stny.rr.com>
2008-01-03 19:17 ` Chris Wright
2008-01-03 19:18 ` Jeremy Fitzhardinge
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox