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; -
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Arjan van de Ven | Re: Linux 2.6.27-rc8 |
git: | |
| Arjan van de Ven | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Jeff Garzik | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
