Re: x86_64: potential critical issue with quicklists and page table pages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Fri, 21 Sep 2007, Christoph Lameter wrote:
> 
> The final flush does only check if there are too many pages on the
> quicklists. Otherwise the quicklist is not dumped/freed (unlike the
> mmu_gather list) but kept for the following page table page allocations
> since we have cache hot cpu objects there.

Yeah, and the whole thing seems totally bogus. It totally depends on 
mmu_gather doing everything right (which very much includes the dependency 
on mmu gathering disabling preempt).

For exmaple, if we were to go back to the original small tlb_gather with a 
simple quicklist on the stack, rather than the per-cpu datastructure, the 
quicklists would immediately break horribly - simply because they are 
incorrectly now depending on the internal semantics of that tlb-gather.

As it is, the quicklists try to be something separate, but by virtue of 
being separate, they will always be buggy.

The only way to fix it would be to integrate the quicklist stuff *with* 
the mmu_gather stuff, so that these kinds of implementation issues are 
explicitly shown in the relationship, instead of havign two "independent" 
pieces of code where one piece very subtly depends on the exact 
implementation of the other.

		Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux