]> git.karo-electronics.de Git - karo-tx-linux.git/commit
sparc64: use latency groups to improve add_node_ranges speed
authorPavel Tatashin <pasha.tatashin@oracle.com>
Thu, 16 Feb 2017 20:05:58 +0000 (15:05 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Feb 2017 16:33:23 +0000 (08:33 -0800)
commit1537b26dab1c1dfd92a116a933143f52b1112a22
tree6555914c573ecb50d8f13efb72f51cc02d0e3a5a
parentdcd1912d21a02534d1f0a9005d5ba3283f164780
sparc64: use latency groups to improve add_node_ranges speed

add_node_ranges() takes 2.6s - 3.6s per 1T of boot time. On machine with 6T
memory it takes 15.4s, on 32T it would take 82s-115s of boot time.
This function sets NUMA ids for memory blocks, and scans the whole memory a
page at a time to do so. But, we could use values in latency groups mask
and match to determine the boundaries without checking every single page.
With the fix the add_node_ranges() time is reduced from 15.4s down to 0.2s
on machine with 6T memory.

Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
Reviewed-by: Babu Moger <babu.moger@oracle.com>
Reviewed-by: Bob Picco <bob.picco@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/mm/init_64.c