Re: TLB flush question (x86_64)

From: Brian Gerst
Date: Sat Sep 17 2011 - 19:38:16 EST


On Sat, Sep 17, 2011 at 3:12 PM, Andreas Mohr <andi@xxxxxxxx> wrote:
> Hi,
>
> decided to reply since there hasn't been any activity yet.
>
>> Is there any particular reason why
>> the entire address space is flushed from the tlb while only a range of
>> virtual address space was supposedly required to be flushed?
>
> While this particular function has actually changed in less medieval
> kernel versions, it would be nice if someone knew an answer to that,
> especially since TLB activity may have grave performance implications.
>

x86 hardware can only flush single pages or the whole TLB. It would
be possible to loop over a small set of pages and invalidate each one,
but the threshold for where that becomes more efficient than flushing
everything is difficult to determine.

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