Re: regression in /proc/self/numa_maps with huge pages

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

 



On Wed, 19 Oct 2011, Andrew Morton wrote:

> > We are working on an application that uses a library that uses
> > both huge pages and parses numa_maps.  This application is no longer
> > able to identify the socket id correctly for huge pages because the
> > that 'huge' is no longer part of /proc/self/numa_maps.
> > 
> > Basically, application sets up huge page mmaps, then reads /proc/self/numa_maps
> > and skips all entries without the string " huge ".  Then it looks for address
> > and socket info.
> > 
> > Why was this information dropped?
> 
> Mistake?
> 
> > Looks like the desire to be generic
> > overstepped the desire to remain compatible.
> 
> Or it was a mistake.
> 
> This?
> 
> --- a/fs/proc/task_mmu.c~a
> +++ a/fs/proc/task_mmu.c
> @@ -1009,6 +1009,9 @@ static int show_numa_map(struct seq_file
>  		seq_printf(m, " stack");
>  	}
>  
> +	if (is_vm_hugetlb_page(vma))
> +		seq_printf(m, " huge");
> +
>  	walk_page_range(vma->vm_start, vma->vm_end, &walk);
>  
>  	if (!md->pages)

Hmm, Dave Hansen (cc'd) was working on a patch that would add a pagesize= 
field to /proc/pid/numa_maps because there's now a discrepency in what is 
labeled "huge."  Hugetlbfs pages, for which "huge" would now be shown 
again for the patch above, always have their page counts shown in their 
appropriate hugepage size (2M, 1G for x86, others for other archs) which 
is ambiguous with just "huge" shown.  THP page counts, on the other hand, 
are always shown in PAGE_SIZE pages.

So adding "huge" back is ambiguous in terms of hugetlbfs size and doesn't 
represent THP hugepages.  No objection to the patch if it's strictly for 
numa_maps compatibility starting from 3.0, but we need to extend the 
output with a pagesize= type field unless we want to require users to use 
/proc/pid/smaps anytime they want to parse the page counts emitted by 
numa_maps.

--
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=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]