RE: Could convert a buffer that allocated by vmalloc to pages?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Anton,
	Thanks for r your answer.
I tried vmalloc_to_page() and I have some question.
I print the "pages" in vm_struct structure of the buffer to compare the
address get from vmalloc_to_page(), result as follows:

//===source code====
L2cache=vmalloc(L2SIZE);// L2SIZE=40960
printk(KERN_INFO "find_vm_struct OK:%x
addr:%xnr_pages:%d\n",L2vm,L2vm->addr,L2vm->nr_pages);
for(i=0;i<L2vm->nr_pages;i++)
 {
      if(L2vm->pages[i])
         printk("page allocated:%x\n",page_address(L2vm->pages[i]));
 }
tpage=vmalloc_to_page(L2cache);
printk(KERN_INFO "vmalloc_to_page tpage :%x\n",tpage);
//===========info of dmesg==================
[ 1561.768471] page allocated:73d65000
[ 1561.768474] page allocated:781e9000
[ 1561.768476] page allocated:6203f000
[ 1561.768478] page allocated:57fdf000
[ 1561.768481] page allocated:56ed4000
[ 1561.768483] page allocated:56ed5000
[ 1561.768485] page allocated:64ab6000
[ 1561.768488] page allocated:7cc1e000
[ 1561.768490] page allocated:60ea8000
[ 1561.768492] page allocated:60ea9000
[ 1561.768497] vmalloc_to_page tpage :7fcf7e18

Why the page address get from vmalloc_to_page is different with the first
page address of the vm_struct (73d65000)?

THX
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Anton Altaparmakov
Sent: Tuesday, January 23, 2007 9:12 PM
To: Yu-Chen Wu
Cc: [email protected]
Subject: Re: Could convert a buffer that allocated by vmalloc to pages?

On Tue, 2007-01-23 at 21:04 +0800, Yu-Chen Wu wrote:
> Hi,
> I write a driver have a big buffer (16MB,allocated by vmalloc).
> I want to use the buffer to do DMA transmission so I need getting the
pages
> of the buffer.
> Have any kernel API can do this?
> My platform is x86_64 and 2GB RAM

vmalloc_to_page()...

See mm/memory.c for the function and how to use it.

Best regards,

        Anton
-- 
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer, http://www.linux-ntfs.org/

-
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/

-
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]
  Powered by Linux