lkml.org 
[lkml]   [2016]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] MIPS: lib: Mark intrinsics notrace
From
Date
Hi Ralf,

On 29/05/16 22:03, Ralf Baechle wrote:
> On Wed, May 25, 2016 at 11:06:35AM +0100, Harvey Hunt wrote:
>
>> On certain MIPS32 devices, the ftrace tracer "function_graph" uses
>> __lshrdi3() during the capturing of trace data. ftrace then attempts to
>> trace __lshrdi3() which leads to infinite recursion and a stack overflow.
>> Fix this by marking __lshrdi3() as notrace. Mark the other compiler
>> intrinsics as notrace in case the compiler decides to use them in the
>> ftrace path.
>
> Makes perfect sense - but I'm wondering how you triggered it. Was this
> a build with the GCC option -Os that is CONFIG_CC_OPTIMIZE_FOR_SIZE?
> Usually people build with CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE that is -O2
> which results in intrinsics being inlined.

This is triggered by building with CONFIG_CC_OPTIMIZE_FOR_SIZE. This
explains why I only saw it on certain MIPS32 devices - Malta's
defconfigs don't have CONFIG_CC_OPTIMIZE_FOR_SIZE enabled, but the
pistachio and Ci20 defconfigs do.

>
> Ralf
>

Thanks,

Harvey

\
 
 \ /
  Last update: 2016-05-31 14:41    [W:0.085 / U:0.212 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site