Re: [RFC] 4KB stack + irq stack for x86

Andi Kleen (ak@suse.de)
05 Jun 2002 22:40:39 +0200


Benjamin LaHaise <bcrl@redhat.com> writes:

> On Wed, Jun 05, 2002 at 08:33:13AM -0700, Linus Torvalds wrote:
> > So, as far as I can tell, we now get a nasty aliasing issue on
> > "current_thread_info()->flags", and information like NEED_RESCHED and
> > SIGPENDING end up being set in the wrong place. They get set on the
> > _interrupt_ thread_info, not the "process native" thread_info.
> >
> > Or did I miss some subtlety?
>
> Ah, you're right. If anyone uses current_thread_info from IRQ context
> it will set the flags in the wrong structure. However, it actually
> works because nobody does that currently: all of the _thread_flag users

preemptive kernels do use current_thread_info() for every spinlock.
this required me to change its implementation on x86-64 from stack
arithmetic to access the base register.

-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/