Re: ftrace introduces instability into kernel 2.6.27(-rc2,-rc3)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Benjamin Herrenschmidt
Date: Wednesday, August 20, 2008 - 12:18 am

Found the problem (or at least -a- problem), it's a gcc bug.

Well, first I must say the code generated by -pg is just plain
horrible :-)

Appart from that, look at the exit of, for example, __d_lookup, as
generated by gcc when ftrace is enabled:

c00c0498:       38 60 00 00     li      r3,0
c00c049c:       81 61 00 00     lwz     r11,0(r1)
c00c04a0:       80 0b 00 04     lwz     r0,4(r11)
c00c04a4:       7d 61 5b 78     mr      r1,r11
c00c04a8:       bb 0b ff e0     lmw     r24,-32(r11)
c00c04ac:       7c 08 03 a6     mtlr    r0
c00c04b0:       4e 80 00 20     blr

As you can see, it restores r1 -before- it pops r24..r31 off
the stack ! I let you imagine what happens if an interrupt happens
just in between those two instructions (mr and lmw). We don't do
redzones on our ABI, so basically, the registers end up corrupted
by the interrupt.

Cheers,
Ben.


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Mathieu Desnoyers, (Mon Aug 18, 8:47 am)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Mathieu Desnoyers, (Mon Aug 18, 10:04 am)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Mathieu Desnoyers, (Mon Aug 18, 11:41 am)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Benjamin Herrenschmidt, (Mon Aug 18, 6:51 pm)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Benjamin Herrenschmidt, (Mon Aug 18, 6:53 pm)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Benjamin Herrenschmidt, (Mon Aug 18, 6:54 pm)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Benjamin Herrenschmidt, (Mon Aug 18, 7:39 pm)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Mathieu Desnoyers, (Mon Aug 18, 7:47 pm)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Benjamin Herrenschmidt, (Mon Aug 18, 7:56 pm)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Mathieu Desnoyers, (Mon Aug 18, 8:36 pm)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Benjamin Herrenschmidt, (Mon Aug 18, 9:17 pm)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Mathieu Desnoyers, (Tue Aug 19, 6:02 am)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Mathieu Desnoyers, (Tue Aug 19, 6:05 am)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Mathieu Desnoyers, (Tue Aug 19, 7:42 am)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Mathieu Desnoyers, (Tue Aug 19, 10:34 am)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Benjamin Herrenschmidt, (Tue Aug 19, 2:46 pm)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Benjamin Herrenschmidt, (Tue Aug 19, 2:47 pm)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Jeremy Fitzhardinge, (Tue Aug 19, 4:58 pm)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Benjamin Herrenschmidt, (Tue Aug 19, 6:17 pm)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Benjamin Herrenschmidt, (Wed Aug 20, 12:18 am)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Benjamin Herrenschmidt, (Wed Aug 20, 2:36 pm)
Re: ftrace introduces instability into kernel 2.6.27(-rc2, ..., Benjamin Herrenschmidt, (Wed Aug 20, 2:37 pm)