On Fri, Mar 25, 2005 at 08:26:25PM +0100, Christophe Saout wrote:
> Fortunately the kernel locked up and there was no data corruption.
>
> I've got PREEMPT and PREEMPT_BKL enabled under UP.
>
> I just took a look at the change and found this:
>
> x86-64 does this (in entry.S):
>
> bt $9,EFLAGS-ARGOFFSET(%rsp) /* interrupts off? */
> jnc retint_restore_args
> movl $PREEMPT_ACTIVE,threadinfo_preempt_count(%rcx)
> sti
> call schedule
> cli
> GET_THREAD_INFO(%rcx)
> movl $0,threadinfo_preempt_count(%rcx)
> jmp exit_intr
>
> while i386 does this:
>
> testl $IF_MASK,EFLAGS(%esp) # interrupts off (exception path) ?
> jz restore_all
> call preempt_schedule_irq
> jmp need_resched
>
> preempt_schedule_irq is not an i386 specific function and seems to take
> special care of BKL preemption and since reiserfs does use the BKL to do
> certain things I think this actually might be the problem...?
Hmm, preempt_schedule_irq is not in mainline as far as I can see.
My patches are always for mainline; i dont do a special
patch kit for -mm*
It looks like a unfortunate interaction with some other patches
in mm. Andrew, can you disable CONFIG_PREEMPT on x86-64 in
mm for now?
Just calling preempt_schedule_irq may also work,
but most likely the patch that introduces that function needs
careful reading if it does not require more support from architectures.
BTW I suspect it will break other archs too...
> Unfortunately I don't have a amd64 machine to play with, so can somebody
> please check this?
How did you generate the crash dumps above then?
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]