Re: x86_64: potential critical issue with quicklists and page tablepages

From: Linus Torvalds
Date: Fri Sep 21 2007 - 15:44:37 EST




On Fri, 21 Sep 2007, Linus Torvalds wrote:
>
> So for example, if you actually want to use quicklists in the "generic"
> TLB-gather implementation, you should replace the
>
> struct page *pages[FREE_PTE_NR];
>
> entry in the "struct mmu_gather" with a set of quicklists instead.

Side note: this would obviously require that the interfaces to the
"quicklists" would have to be changed, and you'd have an actual head
pointer rather than using explicitly numbered per-cpu variables, but that
seems to be a good idea in itself.

Another option is to just not use quicklists AT ALL, but just have a
simple list of pages that is purely internal to mmu_gather, and just teach
pgd/pmd/pud_alloc about that list. That actually sounds like the most
straightforward and least confusing approach. The quicklists code is
pretty damn ugly in its mixing of "struct page" and the virtual address.

Linus
-
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/