lkml.org 
[lkml]   [2008]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: x86: 4kstacks default
Alexander E. Patrakov wrote:
> Adrian Bunk wrote:
>> On Sun, Apr 20, 2008 at 08:41:27AM -0700, Arjan van de Ven wrote:
>>> ...
>>> yes. Adrian is waay off in the weeds on this one. Nobody but him is
>>> suggesting to remove
>>> 8Kb stacks. I think everyone else agrees that having both options is
>>> valuable; and there
>>> are better ways to find+fix stack bloat than removing this config
>>> option.
>>
>> I'm not arguing for removing the option immediately, but long-term we
>> shouldn't need it.
>>
>> This comes from my experience of removing obsolete drivers for
>> hardware for which also a more recent driver exists:
>> As long as there is some workaround (e.g. using an older driver or
>> 8k stacks) the workaround will be used instead of the getting proper
>> bug reports and fixes.
>>
>> As far as I know all problems that are known with 4k stacks are some
>> nested things with XFS in the trace.
>
> This "as far as I know" is a problem itself. Is it possible to
> implement (e.g., using some form of memory protection in hardware, but
> I am not an expert here) an option with 8k stacks that, however, spams
> the log if the actual usage goes above 4k, and have this as a default
> for some time? If 4k stacks are the goal that is almost achieved, then
> this debugging option should have zero impact on performance.
Shouldn't be hard. Use the 8k stack, and have the system mark the second
page as "not present"
If it ever gets used you get a page fault. The page fault handler then
have to mark the page
present before returning, as well as queue up some spam (the call chain
perhaps) for the log.

A less intrusive way is to use 8k stacks as-is, but put a signature in
the second page.
When the process quits, examine the second stack page to see if the
signature
got overwritten. This approach will only show that a problem exists, it
won't
pinpoint exactly what does it.

Helge Hafting



\
 
 \ /
  Last update: 2008-04-23 11:11    [W:0.269 / U:0.984 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site