Re: Kernel oops with 2.6.26, padlock and ipsec: probably problem with fpu state changes

From: Suresh Siddha
Date: Mon Aug 11 2008 - 16:21:08 EST


On Mon, Aug 11, 2008 at 12:24:59PM -0700, H. Peter Anvin wrote:
> Ingo Molnar wrote:
> > * Suresh Siddha <suresh.b.siddha@xxxxxxxxx> wrote:
> >
> >> Reported-and-bisected-by: Wolfgang Walter <wolfgang.walter@xxxxxxx>
> >> Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
> >
> > no fundamental objection to the x86 bits.
> >
> > shouldnt this:
> >
> > + if (!in_interrupt())
> > + return 0;
> >
> > just be eliminated and the cr0/TS save/restore be made unconditional?
> > irq-assymetric APIs are not nice in general.
> >
> > Reading/setting cr0 isnt _that_ slow. (or if it is, by how much does it
> > slow things down, exactly?)
> >
>
> Setting it is relatively slow. I think that's part of the reason for
> special instructions to muck with the TS flag.
>
> Reading it might be slow on obsolete processors.

In addition to the slowness(Wolf has collected some data with earlier
patch and I think it showed a double digit increase in cpu utilization with
some crypt tests):

we can't unconditionally do clts() in the process context. We have
to disable pre-emption to avoid interactions with context switch and
lazy restore. So there will be RT latency issues aswell.

thanks,
suresh
--
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/