Re: Linux-2.5.16

David S. Miller (davem@redhat.com)
Mon, 20 May 2002 16:37:24 -0700 (PDT)


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/