On Wed, 16 Jul 2014, Vlastimil Babka wrote: > I wonder if you could do this here? > > if (khugepaged_node_load[nid]) > return false; > > If the condition is true, it means you already checked the 'nid' node against > all other nodes present in the pmd in a previous khugepaged_scan_pmd iteration. > And if it passed then, it would also pass now. If meanwhile a new node was found > and recorded, it was also checked against everything present at that point, > including 'nid'. So it should be safe? > > The worst case (perfect interleaving page per page, so that "node != last_node" > is true in each iteration) complexity then reduces from O(HPAGE_PMD_NR * > MAX_NUMNODES) to O(HPAGE_PMD_NR + MAX_NUMNODES) iterations. > Excellent suggestion, thanks Vlastimil! -- 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>