|
Driver porting: Zero-copy user-space accessDriver porting: Zero-copy user-space accessPosted Feb 15, 2006 17:17 UTC (Wed) by ceb (guest, #35717)Parent article: Driver porting: Zero-copy user-space access
Does anyone have any experience in using get_user_pages in a real system. As far as I can tell it is totally unreliable when the machine is in any way loaded. As well as getting zero addresses for pages returned, the physical addresses don't seem to correspond to the data to be transferred. This is on various flavors of Linux 2.6 based kernels.
(Log in to post comments)
Driver porting: Zero-copy user-space access Posted Jun 2, 2007 1:48 UTC (Sat) by yltian (guest, #45556) [Link] Please "grep get_user_pages linux/drivers/media/video/video-buf.c". It's a good example. V4L2 uses this method to share memory betweent DMA and application.
Driver porting: Zero-copy user-space access Posted Sep 6, 2007 15:28 UTC (Thu) by dnevil (guest, #47212) [Link] Sounds like your system is allocating memory from ZONE_HIGHMEM (since you are on a heavily loaded system, and you are probably running i386). The comments in include/linux/mm_types states that if page->virtual is null then the page is not mapped into kernel virtual memory (i.e. it is HIGHMEM). You should try allocating your memory as soon after system boot as possible. Are there other 'tricks' for assuring that user-allocated memory comes from ZONE_NORMAL or ZONE_DMA?
Driver porting: Zero-copy user-space access Posted Sep 6, 2007 16:31 UTC (Thu) by dnevil (guest, #47212) [Link] Try booting with a kernel parameter of "highmem=0".
|
Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.