> OK, that's a fatal bug and it's present in 2.6.25.x and 2.6.26.x. AThat 64GB is not quite correct. That assumes all 1TB is free. The quicklists are trimmed down as the nodes undergo allocations. The problem I see right now is that page tables allocated on one node and freed on a cpu on a different node could be placed early enough on the quicklist that it will not be freed until the other node gets under memory pressure. Could you give the following a try? It hasn't even been compiled. I think this in addition to your cpus per node change are the right thing to do. Thanks, Robin Index: ia64-cleanups/include/linux/quicklist.h =================================================================== --- ia64-cleanups.orig/include/linux/quicklist.h 2008-08-20 21:35:10.000000000 -0500 +++ ia64-cleanups/include/linux/quicklist.h 2008-08-20 21:38:00.891943270 -0500 @@ -66,6 +66,15 @@ static inline void __quicklist_free(int static inline void quicklist_free(int nr, void (*dtor)(void *), void *pp) { +#ifdef CONFIG_NUMA + unsigned long nid = page_to_nid(virt_to_page(pp)); + + if (unlikely(nid != numa_node_id())) { + free_page((unsigned long)pp); + return; + } +#endif + __quicklist_free(nr, dtor, pp, virt_to_page(pp)); } --
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Jeff Garzik | Re: fallocate-implementation-on-i86-x86_64-and-powerpc.patch |
git: | |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Arjan van de Ven | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Natalie Protasevich | [BUG] New Kernel Bugs |
