Re: Linux-2.5.16

From: David S. Miller (davem@redhat.com)
Date: Mon May 20 2002 - 18:37:24 EST


   From: "David S. Miller" <davem@redhat.com>
   Date: Mon, 20 May 2002 16:30:26 -0700 (PDT)
   
   Architectures define tlb_flush_mm() as appropriate, on x86 it would
   be just flush_tlb_mm(mm), on Sparc/PPC/etc. which uses the VMA
   flushing it would just be a NOP.

Actually, there are some issues with my suggestion.

We are trying to do two things:

1) Flush all VMAs

2) Flush some unmapped area (1 or a few VMAs)

In the #1 case we'd like that to turn into something like:

        flush_cache_mm()
        for each vma {
                unmap_page_range();
        }
        tlb_finish_mmu();
        flush_tlb_mm();

Whereas in the #2 case it should look like:

        for each vma {
                tlb_start_vma(vma...);
                tlb_end_vma(vma...);
        }
        tlb_finish_mmu();

We have to reposition that tlb.h:flush_tlb_mm() call somehow to
make this a reality.

The next issue is how to make it so that this infrstructure
can allow us to kill off the buggy flush_tlb_pgtables() thing.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu May 23 2002 - 22:00:20 EST