Dear Hugh Dickins, Thank you very much for your reply. >If these are ordinary pages with struct pages, then you could probably >use a loop of vm_insert_page()s to insert them at mmap time, or a fault >routine to insert them on fault. But as I said, I don't know if this >memory is part of the ordinary page pool or not. You suggestion about using vm_insert_page() instead of remap_pfn_range worked for me and I got the Rss/Pss information for my driver. But still there is one problem related to page fault. If I remove remap_pfn_range then I get a page fault in the beginning. I tried to use the same vm_insert_page() during page_fault_handler for each vmf->virtual_address but it did not work. So for time being I remove the page fault handler from my vm_operations. But with these my menu screen(LCD screen) is not behaving properly (I get colorful lines on my LCD). So I need to handle the page fault properly. But I am not sure what is that I need to do inside page fault handler. Do you have any example or references or suggestions? >Really, the question has to be, why do you need to see non-0s there? I want Rss/Pss value to account for how much video memory is used by the driver for the menu-screen,Xorg processes. Thanks, Pintu >________________________________ >From: Hugh Dickins <hughd@xxxxxxxxxx> >To: PINTU KUMAR <pintu_agarwal@xxxxxxxxx> >Cc: "linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>; "linux-mm@xxxxxxxxx" <linux-mm@xxxxxxxxx> >Sent: Thursday, 26 January 2012 6:29 AM >Subject: Re: [Help] : RSS/PSS showing 0 during smaps for Xorg > >On Tue, 24 Jan 2012, PINTU KUMAR wrote: >> >> Is there a way to convert our mapped pages to a normal pages. I tried pfn_to_page() but no effect. >> I mean the page is considered normal only if it is associated with "struct page" right??? >> Is is possible to convert these pages to a normal struct pages so that we can get the Rss/Pss value?? > >I don't understand why you are so anxious to see non-0 numbers there. > >I don't know if the pages you are mapping with remap_pfn_range() are >ordinary pages in normal memory, and so already have struct pages, or not. > >> >> Also, the VM_PFNMAP is being set for all dirvers during remap_pfn_range and stills shows Rss/Pss for other drivers. > >I'm surprised. It is possible to set up a private-writable VM_PFNMAP area, >which can then contain ordinary private copies of the underlying pages, >and these copies will count to Rss. But I thought that was very unusual. > >You don't mention which drivers these are that use remap_pfn_range yet >show Rss (and I don't particularly want to spend time researching them). > >I can see three or four places in drivers/ where VM_PFNMAP is set, >perhaps without going through remap_pfn_range(): that seems prone >to error, I wouldn't recommend going that route. > >> Then why it is not shown for our driver? >> How to avoid remap_pfn_range to not to set VM_PFNMAP for our driver? > >If these are ordinary pages with struct pages, then you could probably >use a loop of vm_insert_page()s to insert them at mmap time, or a fault >routine to insert them on fault. But as I said, I don't know if this >memory is part of the ordinary page pool or not. > >Really, the question has to be, why do you need to see non-0s there? > >Hugh > > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href