Re: andrea buffer code (2.2.9-C.gz)

Manfred Spraul (manfreds@colorfullife.com)
Wed, 19 May 1999 20:57:30 +0200


Andrea Arcangeli wrote:
> Maybe we'll have to drop the mem_map idea instead of start removing bits
> from the huge memmap.

That would be something for 2.[34], and your patch is for the stable
kernel tree.
Therefore, I'd prefer not to add new entries to mem_map unless there
is no way around. In this case: one spinlock or a small array
are the better solution.

>
> >BTW, I think I found a major SMP-race, I've posted it to
> >linux-kernel@vger.
> >Since your buffer code fixes parts of that problem, I've attached my
> >mail.
>
> I would be glad if you would explain _why_ my new SMP per-pagemap io-async
> locking is not yet safe enough according to you.

You code is safe, but there are several functions which call
__global_cli()
with disabled interrupts. I've added a printk() to __global_cli(), but
I have not yet checked if these are real races or just bad code.
(floppy driver, vgacon_set_cursor_size(), several other)

The most frequent one was the old buffer code, that one is fixed.
(But I'm not sure when Linus will accept the next changes
to fs/buffer.c after the 2.2.8 disaster)

Regards,
Manfred

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