hi,
I am writing a driver for 2.6 in which i am locking down some pages
into the physical memory by manually traversing the page tables. After
my work with those pages is finished, i free them using
__free_page(). For some cases it is running fine. But while running
some applications, i got the following error:
Bad page state at free_hot_cold_page (in process 'data_lat', page
0000010003d208e8)
flags:0x01000074 mapping:0000000000000000 mapcount:0 count:0
Backtrace:
Call Trace:<ffffffff801571f7>{bad_page+112}
<ffffffff801578cf>{free_hot_cold_page+130}
<ffffffffa01aa101>{:ccp3k:VipkUnmapAndUnlock+162}
<ffffffffa01aaba0>{:ccp3k:VipkCloseNic+638}
<ffffffffa01a812d>{:ccp3k:VipkClose+30} <ffffffff80173117>{__fput+99}
<ffffffff80171d55>{filp_close+103}
<ffffffff80137771>{put_files_struct+101}
<ffffffff80137f76>{do_exit+665} <ffffffff80138a2c>{sys_exit_group+0}
<ffffffff8011003e>{system_call+126}
Trying to fix it up, but a reboot is needed
Then i replaced __free_page() with page_cache_release(). It is working
fine now. But what is the difference between these two? whether this
is the correct/safe replacement for __free_page()?
Can anybody help me out in this scenario? My machine is intel
xeon(EM64T) dual processor with redhat enterprise linux 4(2.6.9-11)
running on it.
if anybody knows any link about it, let me share that.
Thanks,
Yogeshwar
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]