aboutsummaryrefslogtreecommitdiff
path: root/Documentation/filesystems/configfs/configfs_example.c
diff options
context:
space:
mode:
authorYinghai Lu <[email protected]>2008-03-24 12:29:45 -0700
committerLinus Torvalds <[email protected]>2008-03-24 19:22:19 -0700
commit5a982cbc7b3fe6cf72266f319286f29963c71b9e (patch)
tree97afbc2ebc81b31ec13e261d0127f5e1639f0e26 /Documentation/filesystems/configfs/configfs_example.c
parent2875fb65f8e40401c4b781ebc5002df10485f635 (diff)
mm: fix boundary checking in free_bootmem_core
With numa enabled, some callers could have a range of memory on one node but try to free that on other node. This can cause some pages to be freed wrongly. For example: when we try to allocate 128g boot ram early for gart/swiotlb, and free that range later so gart/swiotlb can get some range afterwards. With this patch, we don't need to care which node holds the range, just loop to call free_bootmem_node for all online nodes. This patch makes free_bootmem_core() more robust by trimming the sidx and eidx according the ram range that the node has. And make the free_bootmem_core handle this out of range case. We could use bdata_list to make sure the range can be freed for sure. So next time, we don't need to loop online nodes and could use free_bootmem directly. Signed-off-by: Yinghai Lu <[email protected]> Cc: Andi Kleen <[email protected]> Cc: Yasunori Goto <[email protected]> Cc: KAMEZAWA Hiroyuki <[email protected]> Acked-by: Ingo Molnar <[email protected]> Tested-by: Ingo Molnar <[email protected]> Cc: Christoph Lameter <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'Documentation/filesystems/configfs/configfs_example.c')
0 files changed, 0 insertions, 0 deletions