Dipankar Sarma wrote: > On Tue, Oct 15, 2002 at 08:10:08AM +0200, Dave Hansen wrote: > >>* interrupt stacks (3/3) >> - allocate per-cpu interrupt stacks. upon entry to >> common_interrupt, switch to the current cpu's stack. >> - inherit the interrupted task's preempt count > > Adding current->thread_info->preempt_count doesn't make sense. What > you need to do is to copy the old thread_info->preempt_count to > new thread_info->preempt_count. If you aren't switching stack > this has no effect. Right you are. > movl TI_PRE_COUNT(%ebx),%ecx > movl %ecx,TI_PRE_COUNT(%esi) > > So if you are not switching stack, %ebx == %esi and this has no effect. > The preempt_count() manipulation in do_IRQ() should be deleted. > > And, no you can't weasel out of x86 assembly :) Updated patch is attached. -- Dave Hansen haveblue@us.ibm.com