On Thu, Jun 28, 2012 at 07:54:02AM -0700, Dave Hansen wrote: >On 06/27/2012 11:03 PM, Gavin Shan wrote: >>> >Gavin, have you actually tested this in some way? It looks OK to me, >>> >but I worry that you've just added a block of code that's exceedingly >>> >unlikely to get run. >> I didn't test this and I just catch the point while reading the source >> code. By the way, I would like to know the popular utilities used for >> memory testing. If you can share some information regarding that, that >> would be great. >> >> - memory related benchmark testing utility. >> - some documents on Linux memory testing. > >This patch is intended to fix a memory leak in the case of a race. Can >you _actually_ make it race to ensure that things work properly? If >not, can you add something like a sleep() to _force_ it to race? > Thank you very much, Dave :-) >Or, have you simply run your code a couple of times like this, both for >the bootmem and slab cases: > > int nid = 0; > for (i=0; i < something; i++) { > section = sparse_index_alloc(nid); > sparse_index_free(section, nid); > } > I ran following function for bootmem/slab case and everything looks fine. Please let me know if you have any more concerns :-) void sparse_test(void) { int nid; int i; struct mem_section *section; pr_info("*************************************\n"); if (slab_is_available()) { pr_info("* Sparse Testing on slab\n"); } else { pr_info("* Sparse Testing on bootmem\n"); } pr_info("*************************************\n"); /* Currently, we have 2 nodes in the system */ for (nid = 0; nid < 2; nid++) { for (i = 0; i < 100; i++) { pr_info(" Testing sequence ... %d for nid %d\n", i, nid); section = sparse_index_alloc(nid); sparse_index_free(section, nid); } } } Thanks, Gavin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>