Messages in this thread Patch in this message | | | Date | Fri, 21 Sep 2007 11:48:58 -0700 (PDT) | From | Christoph Lameter <> | Subject | Re: x86_64: potential critical issue with quicklists and page table pages |
| |
On Fri, 21 Sep 2007, Siddha, Suresh B wrote:
> Essentially quicklist free routines are doing something like > __quicklist_free() > ... > if (unlikely(nid != numa_node_id())) { > __free_page(page); > ... > } > > .... > > > Now this will potentially cause a problem, if a cpu in someother node starts > using this page, while the corresponding TLB entries are still alive > in the original cpu which is still freeing the page table pages.
Hmmm... Yes could be.
> This potentially can cause SW failures and hard to debug issues like > http://www.ussg.iu.edu/hypermail/linux/kernel/0205.2/1254.html
Cannot get to this page:
Not Found
The requested URL /hypermail/linux/kernel/0205.2/1254.htm was not found on this server.
> Can we revert this commit for 2.6.23 and look at this code post 2.6.23?
We can remove this piece alone since it was an optimization.
--- include/linux/quicklist.h | 7 ------- 1 file changed, 7 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:47:01.000000000 -0700 @@ -58,13 +58,6 @@ static inline void __quicklist_free(int 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; q->page = p; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |