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

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Linus Torvalds <torvalds@...>
Cc: Siddha, Suresh B <suresh.b.siddha@...>, <akpm@...>, <ak@...>, <linux-kernel@...>, <tony.luck@...>, <asit.k.mallick@...>
Date: Friday, September 21, 2007 - 3:07 pm

On Fri, 21 Sep 2007, Linus Torvalds wrote:


On x86_64 the quicklists partially replace the role of the mmu_gather
list because we would otherwise create more overhead by having to move
pages between the mmu gather and the quicklists lists.
lists.

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.

The only problem is that we cannot release any pages before the TLB flush 
has happened. The optimization of releasing off node pages in order to 
keep only node local pages is therefore not valid.



---
 include/linux/quicklist.h |    8 --------
 1 file changed, 8 deletions(-)

Index: linux-2.6/include/linux/quicklist.h
===================================================================
--- linux-2.6.orig/include/linux/quicklist.h	2007-09-21 11:46:44.000000000 -0700
+++ linux-2.6/include/linux/quicklist.h	2007-09-21 11:55:01.000000000 -0700
@@ -56,14 +56,6 @@ static inline void __quicklist_free(int 
 	struct page *page)
 {
 	struct quicklist *q;
-	int nid = page_to_nid(page);
-
-	if (unlikely(nid != numa_node_id())) {
-		if (dtor)
-			dtor(p);
-		__free_page(page);
-		return;
-	}
 
 	q = &get_cpu_var(quicklist)[nr];
 	*(void **)p = q->page;
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: x86_64: potential critical issue with quicklists and pag..., Christoph Lameter, (Fri Sep 21, 2:48 pm)
Re: x86_64: potential critical issue with quicklists and pag..., Christoph Lameter, (Fri Sep 21, 2:50 pm)
Re: x86_64: potential critical issue with quicklists and pag..., Christoph Lameter, (Fri Sep 21, 3:07 pm)
Re: x86_64: potential critical issue with quicklists and pag..., Benjamin Herrenschmidt, (Mon Sep 24, 5:27 pm)
Re: x86_64: potential critical issue with quicklists and pag..., Christoph Lameter, (Mon Sep 24, 5:42 pm)
Re: x86_64: potential critical issue with quicklists and pag..., Benjamin Herrenschmidt, (Mon Sep 24, 8:09 pm)
Re: x86_64: potential critical issue with quicklists and pag..., Christoph Lameter, (Fri Sep 21, 3:26 pm)
Re: x86_64: potential critical issue with quicklists and pag..., Christoph Lameter, (Fri Sep 21, 3:56 pm)
RE: x86_64: potential critical issue with quicklists and pag..., Christoph Lameter, (Fri Sep 21, 4:15 pm)