Re: [patch] compress the stack layout of do_page_fault(), x86

From: Ingo Molnar
Date: Sun Jul 10 2005 - 21:34:13 EST



* Andi Kleen <ak@xxxxxxx> wrote:

> On Sat, Jul 09, 2005 at 09:42:20PM +0200, Ingo Molnar wrote:
> >
> > * Andi Kleen <ak@xxxxxxx> wrote:
> >
> > > Ingo Molnar <mingo@xxxxxxx> writes:
> > > >
> > > > +static void force_sig_info_fault(int si_signo, int si_code,
> > > > + unsigned long address, struct task_struct *tsk)
> > >
> > > This won't work with a unit-at-a-time compiler which happily inlines
> > > everything static with only a single caller. Use noinline
> >
> > this function has two callers.
>
> Even then it's still better to mark it noinline, otherwise a different
> inlining algorithm in a new compiler might do the wrong thing. It's
> also useful documentation.

ok, agreed. Delta patch below.

Ingo

----
make force_sig_info_fault() noinline, suggested by Andi Kleen.

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

--- linux/arch/i386/mm/fault.c.orig
+++ linux/arch/i386/mm/fault.c
@@ -199,8 +199,8 @@ static inline int is_prefetch(struct pt_
return 0;
}

-static void force_sig_info_fault(int si_signo, int si_code,
- unsigned long address, struct task_struct *tsk)
+static noinline void force_sig_info_fault(int si_signo, int si_code,
+ unsigned long address, struct task_struct *tsk)
{
siginfo_t info;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/