Re: How to share physical pages in multi-process???

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

 



On 2009-04-20, yihect <yihect@xxxxxxx> wrote:
> Hi, all:
>     I allocated some physical pages using __get_free_pages() api and mapped them into user-space with mmap() in my driver, 
> but It seems not be shared in multi process. 
>
> Following is content of /proc/157/maps file. The vma range of 40244000-40444000 mapped to /dev/mux_dev, notice the rw-p column.
Note that p stands for private (copy on write). That does not mean the pages
can't be shared by multi processes. Initially multi processes will map their
pages to the same physical memory. And the physical pages will be copied once
some guy writes data to the page.

Jeffrey

>
> /proc/157 $ cat maps 
> 00008000-000c6000 r-xp 00000000 00:0b 262686     /mnt/nfs/mux_test
> 000ce000-00882000 rw-p 000be000 00:0b 262686     /mnt/nfs/mux_test
> 40000000-40015000 r-xp 00000000 00:01 142        /lib/ld-2.3.5.so
> 40015000-40017000 rw-p 40015000 00:00 0 
> 4001c000-4001d000 r--p 00014000 00:01 142        /lib/ld-2.3.5.so
> 4001d000-4001e000 rw-p 00015000 00:01 142        /lib/ld-2.3.5.so
> 40020000-4002f000 r-xp 00000000 00:01 154        /lib/libpthread-0.10.so
> 4002f000-40036000 ---p 0000f000 00:01 154        /lib/libpthread-0.10.so
> 40036000-40037000 r--p 0000e000 00:01 154        /lib/libpthread-0.10.so
> 40037000-40038000 rw-p 0000f000 00:01 154        /lib/libpthread-0.10.so
> 40038000-4007a000 rw-p 40038000 00:00 0 
> 4007c000-40123000 r-xp 00000000 00:01 156        /lib/libm-2.3.5.so
> 40123000-4012a000 ---p 000a7000 00:01 156        /lib/libm-2.3.5.so
> 4012a000-4012b000 r--p 000a6000 00:01 156        /lib/libm-2.3.5.so
> 4012b000-4012c000 rw-p 000a7000 00:01 156        /lib/libm-2.3.5.so
> 4012c000-40236000 r-xp 00000000 00:01 157        /lib/libc-2.3.5.so
> 40236000-4023d000 ---p 0010a000 00:01 157        /lib/libc-2.3.5.so
> 4023d000-4023f000 r--p 00109000 00:01 157        /lib/libc-2.3.5.so
> 4023f000-40242000 rw-p 0010b000 00:01 157        /lib/libc-2.3.5.so
> 40242000-40244000 rw-p 40242000 00:00 0 
> 40244000-40444000 rw-p 00000000 00:01 722        /dev/mux_dev
> be9bf000-be9d4000 rwxp be9bf000 00:00 0          [stack]
> -------------------------------------------------------------------
> List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
> FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
> Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php
>


--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux