Messages in this thread | | | Subject | | Date | Tue, 19 Oct 2004 09:09:13 +0800 | From | "Zhang, Yanmin" <> |
| |
In base kernel 2.6.9-rc4, function hugetlb_get_unmapped_area failed to find an unmapped area while unmapped area is huge. That's because hugetlb_get_unmapped_area just searches forward from mm->free_area_cache. If reaching TASK_SIZE, it does not go back to TASK_UNMAPPED_BASE, just returns -ENOMEM. The attachment is a simple case to trigger it on IA32 machine.
The other attachment is the patch to fix it. 1) Add a specific hugetlb_get_unmapped_area on i386. 2) Generic hugetlb_get_unmapped_area is also fixed.
Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
<<case.tar>> <<hugetlb_unmapped_area_2.6.9_rc4_i386.patch.diff>> [unhandled content-type:application/x-tar][unhandled content-type:application/octet-stream] | |