Messages in this thread | | | Date | Mon, 8 Aug 2005 12:32:12 +0500 | From | Fawad Lateef <> | Subject | Re: Highmemory Problem with RHEL3 .... 2.4.21-5.ELsmp |
| |
On 8/8/05, Zachary Amsden <zach@vmware.com> wrote: > > IIRC 2.4.21 has some highmem bugs that have since been fixed. But, it > sounds like you might be doing something quite unusual. Code would > definitely give people a better idea of what might be wrong.
I think you overlooked what i mentioned in P.S. ; which is
My memory reservation and later using that memory through kmap_atomic works well on the kernels other than RHEL3 2.4.21-e.ELsmp .............. the page reservation was done in the arch/i386/mm/init.c file in function one_highpage_init ...... I have Machine with 16GB RAM and 2 - Xeon 2.4GHz Processors .....
The code which I added for memory reservation in kernel is :
void __init one_highpage_init(struct page *page, int pfn, int bad_ppro) { if (!page_is_ram(pfn)) { SetPageReserved(page); return; } if (bad_ppro && page_kills_ppro(pfn)) { SetPageReserved(page); return; }
// Here's the code which i added for memory reservation ..... i m setting 0xC4 in page->count just because i will know later that these pages have been reserved by me ... not by kernel .....
if ((unsigned long)(page - mem_map) > 0x80000) { SetPageReserved(page); set_bit(PG_highmem, &page->flags); atomic_set(&page->count, 0xC4); totalhigh_pages++; return; }
// My code Ends here ClearPageReserved(page); set_bit(PG_highmem, &page->flags); atomic_set(&page->count, 1); __free_page(page); totalhigh_pages++; }
After this in my module, i simply use kmap_atomic to map the page reserved by me and tried to use that ........ its working perfect in both 2.4.x series and also working in 2.6.x .....
> You should definitely consider moving to 2.6 to get a better response. >
i already moved to 2.6.x already !!! but the current requiment is to use RHEL3 Kernel which is 2.4.21-27.ELsmp
I think its now more clear !!!! waiting for your resposes !!!
-- Fawad Lateef - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |