Re: context switch vs. signal delivery [was: Re: Accelerating user mode linux]

Andi Kleen (ak@suse.de)
Mon, 5 Aug 2002 23:35:42 +0200


On Mon, Aug 05, 2002 at 10:30:06PM +0100, Jamie Lokier wrote:
> Andi Kleen wrote:
> > + err |= setup_sigcontext(&frame->sc, &frame->fpstate, regs, set->sig[0],
> > + (ka->sa.sa_flags&SA_NOFP));
>
> > err |= setup_sigcontext(&frame->uc.uc_mcontext, &frame->fpstate,
> > - regs, set->sig[0]);
> > + regs, set->sig[0], !!(ka->sa.sa_flags&SA_NOFP));
>
> 1: Why the inconsistency between the two ways the SA_NOFP flag is checked?

I don't remember. Probably there was some reason in an earlier version
of the code. The !! could be probably removed now.

>
> 2: What happens when the user's signal handler decides it wants to save
> the FPU state itself (after all) and proceed with some FPU use. Will
> sigreturn restore the user-saved FPU state? Just curious.

Nope it won't because there is no saved state. The previous context's FPU
state will be silently corrupted.

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