Ralf Baechle wrote:
> On Wed, Oct 03, 2001 at 01:02:56PM +0200, Maciej W. Rozycki wrote:
> > > Modified files:
> > > arch/mips/kernel: scall_o32.S sysmips.c
> > >
> > > Log message:
> > > Barf.
> > The new mips_atomic_set() doesn't mask interrupts in the non-ll/sc case.
> > Thus it may fail to keep coherency. Is it intentional?
> Yes. Assuming do_page_fault did it's job successfully the address which
> has been passed as argument to sysmips() is now writable and thus we
> won't take any pagefaults.
> There are two remaining failure scenarios which probably are't very
> interesting for practical usage. It's when an interrupt is accessing
> the same address. This could be fixed by disabling interrupts.
> The other case is missaligned words.
And a third one - when you enable kernel preemption with the preemptable
kernel patch. :-)