Re: Highmemory Problem with RHEL3 .... 2.4.21-5.ELsmp

From: Fawad Lateef
Date: Mon Aug 08 2005 - 02:32:42 EST


On 8/8/05, Zachary Amsden <zach@xxxxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/