diff options
author | Nishanth Aravamudan <[email protected]> | 2006-08-31 21:27:53 -0700 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2006-09-01 11:39:10 -0700 |
commit | 3b98b087fc2daab67518d2baa8aef19a6ad82723 (patch) | |
tree | a7defc8fa53b2023affc072cd20c4f4734e4395d /scripts/basic/docproc.c | |
parent | 1678df37be8abbb381becdc40242ed915e775550 (diff) |
[PATCH] fix NUMA interleaving for huge pages
Since vma->vm_pgoff is in units of smallpages, VMAs for huge pages have the
lower HPAGE_SHIFT - PAGE_SHIFT bits always cleared, which results in badd
offsets to the interleave functions. Take this difference from small pages
into account when calculating the offset. This does add a 0-bit shift into
the small-page path (via alloc_page_vma()), but I think that is negligible.
Also add a BUG_ON to prevent the offset from growing due to a negative
right-shift, which probably shouldn't be allowed anyways.
Tested on an 8-memory node ppc64 NUMA box and got the interleaving I
expected.
Signed-off-by: Nishanth Aravamudan <[email protected]>
Signed-off-by: Adam Litke <[email protected]>
Cc: Andi Kleen <[email protected]>
Acked-by: Christoph Lameter <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'scripts/basic/docproc.c')
0 files changed, 0 insertions, 0 deletions