On Mon, Mar 31, 2014 at 8:34 AM, Rik van Riel <r...@redhat.com> wrote: > > However, clearing the accessed bit does not lead to any > consistency issues, there is no reason to flush the TLB > immediately. The TLB flush can be deferred until some > later point in time.
Ugh. I absolutely detest this patch. If we're going to leave the TLB dirty, then dammit, leave it dirty. Don't play some half-way games. Here's the patch you should just try: int ptep_clear_flush_young(struct vm_area_struct *vma, unsigned long address, pte_t *ptep) { return ptep_test_and_clear_young(vma, address, ptep); } instead of complicating things. Rationale: if the working set is so big that we start paging things out, we sure as hell don't need to worry about TLB flushing. It will flush itself. And conversely - if it doesn't flush itself, and something stays marked as "accessed" in the TLB for a long time even though we've cleared it in the page tables, we don't care, because clearly there isn't enough memory pressure for the accessed bit to matter. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/