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