Date: Fri, 9 Dec 2011 09:45:56 -0500 From: John Baldwin <jhb@freebsd.org> To: freebsd-hackers@freebsd.org Cc: Filippo Sironi <filippo.sironi@gmail.com>, Poul-Henning Kamp <phk@phk.freebsd.dk> Subject: Re: mmap implementation for cdev Message-ID: <201112090945.56414.jhb@freebsd.org> In-Reply-To: <0011FD6A-E29D-4F67-913C-897BA1B2F56F@gmail.com> References: <11076.1322906459@critter.freebsd.dk> <0011FD6A-E29D-4F67-913C-897BA1B2F56F@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday, December 03, 2011 5:37:01 am Filippo Sironi wrote: > I need to access the memory both from user space and kernel space, I cannot do that (simply) with an mmap or thread-specific storage if I recall correctly. You could allocate a dedicated VM object for each thread's information and populate it with a single page. You could then return that from a csw->d_mmap_single() routine. You could also use some routines I'm about to add for the shm_open() API that let you easily map shm_open() objects into the kernel where threads create a shm object in userland and pass the fd into the kernel to let the kernel map it. > On 03/dic/2011, at 11.00, Poul-Henning Kamp wrote: > > > In message <A842C229-1846-408A-999A-9347770EFE7A@gmail.com>, Filippo Sironi wri > > tes: > > > > Why don't you just use mmap(2) ? I couldn't see anything you > > couldn't do with it. > > > > There's also support in pthread for thread specific storage, which > > should be your first choice. > > > > > > -- > > Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 > > phk@FreeBSD.ORG | TCP/IP since RFC 956 > > FreeBSD committer | BSD since 4.3-tahoe > > Never attribute to malice what can adequately be explained by incompetence. > > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" > -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112090945.56414.jhb>