Re: ll_rw_blk.c BUG

From: Manfred Spraul (manfreds@colorfullife.com)
Date: Wed May 31 2000 - 14:28:45 EST


From: "Jeff V. Merkey" <jmerkey@timpanogas.com>
>
> Something seems to have changed relative to stack memory and asynch
> I/O. I used to be able (prior to pre-5) to allocate an AIO structure on
> the stack and submit it (blocking of course in the process to pin the
> stack). I have seen SMP cases where writes from one processor to the
> AIO strcture don't show up when the final callback returns.

which stack? user space or kernel space?
the kernel mode stack pages are allocated from "normal" (non-HIGHMEM)
memory, and thus their TLB entries never change.

> This would
> indicate to me a problem with TLB IPI flushing.

AFAIK there is only one TLB race on i386:
establish_pte() first flushes the TLB, then it updates the pte.
This order is required for s390, because that platform has a special
"invalidate pte and flush tlb" asm instruction.

During 2.5 we must clean up all these flush [page_to_ram, cache_page, tlb,
update_mmu, flush_icache, icache flushing during update_mmu,...] functions:
IMHO they are sprinkled around in a random order :-(

Perhaps we should add a #ifdef s390 to establish_pte?

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



This archive was generated by hypermail 2b29 : Wed May 31 2000 - 21:00:28 EST