Re: [PATCH] M386 flush_one_tlb invlpg

From: Linus Torvalds (torvalds@transmeta.com)
Date: Tue Aug 27 2002 - 14:22:59 EST


On Tue, 27 Aug 2002, Hugh Dickins wrote:
>
> I just sent the 2.4.20-pre4 asm-i386/pgtable.h patch to Marcelo:
> here's patch against 2.5.31 or current BK: please apply.

This test is senseless, in my opinion:

> + if (cpu_has_pge) \
> + __flush_tlb_single(addr); \

The test _should_ be for something like

        if (cpu_has_invlpg)
                __flush_tlb_single(addr);

since we want to use the invlpg instruction regardless of any PGE issues
if it is available.

There's another issue, which is the fact that I do not believe that invlpg
is even guaranteed to invalidate a G page at all - although obviously all
current CPU's seem to work that way. However, I don't see that documented
anywhere. It might make sense to mark the places that expect to invalidate
a global page explicitly, and call that function "flush_one_global_rlb()"
(even if it - at least for now - does the same thing as the regular single
invalidate).

                Linus

-
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 : Sat Aug 31 2002 - 22:00:20 EST