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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/