Re: [RFC][PATCH] don't show pgoff of vma if vma is pure ANON (wasRe: mmotm 2009-01-12-16-53 uploaded)

From: Hugh Dickins
Date: Wed Jan 14 2009 - 09:09:00 EST


On Wed, 14 Jan 2009, KAMEZAWA Hiroyuki wrote:
> Hmm, is this brutal ?
>
> ==
> Recently, it's argued that what proc/pid/maps shows is ugly when a
> 32bit binary runs on 64bit host.
>
> /proc/pid/maps outputs vma's pgoff member but vma->pgoff is of no use
> information is the vma is for ANON.
> By this patch, /proc/pid/maps shows just 0 if no file backing store.
>
> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
> ---

Brutal, but sensible enough: revert to how things looked before
we ever starting putting vm_pgoff to work on anonymous areas.

I slightly regret losing that visible clue to whether an anonymous
vma has ever been mremap moved. But have I ever actually used that
info? No, never.

I presume you test !vma->vm_file so the lines fit in, fair enough.
But I think you'll find checkpatch.pl protests at "(!vma->vm_file)?"

I dislike its decisions on the punctuation of the ternary operator
- perhaps even more than Andrew dislikes the operator itself!
Do we write a space before a question mark? no: nor before a colon;
but I also dislike getting into checkpatch.pl arguments!

While you're there, I'd also be inclined to make task_nommu.c
use the same loff_t cast as task_mmu.c is using.

Hugh

> Index: mmotm-2.6.29-Jan13/fs/proc/task_mmu.c
> ===================================================================
> --- mmotm-2.6.29-Jan13.orig/fs/proc/task_mmu.c
> +++ mmotm-2.6.29-Jan13/fs/proc/task_mmu.c
> @@ -220,7 +220,8 @@ static void show_map_vma(struct seq_file
> flags & VM_WRITE ? 'w' : '-',
> flags & VM_EXEC ? 'x' : '-',
> flags & VM_MAYSHARE ? 's' : 'p',
> - ((loff_t)vma->vm_pgoff) << PAGE_SHIFT,
> + (!vma->vm_file)? 0 :
> + ((loff_t)vma->vm_pgoff) << PAGE_SHIFT,
> MAJOR(dev), MINOR(dev), ino, &len);
>
> /*
> Index: mmotm-2.6.29-Jan13/fs/proc/task_nommu.c
> ===================================================================
> --- mmotm-2.6.29-Jan13.orig/fs/proc/task_nommu.c
> +++ mmotm-2.6.29-Jan13/fs/proc/task_nommu.c
> @@ -143,7 +143,8 @@ static int nommu_vma_show(struct seq_fil
> flags & VM_WRITE ? 'w' : '-',
> flags & VM_EXEC ? 'x' : '-',
> flags & VM_MAYSHARE ? flags & VM_SHARED ? 'S' : 's' : 'p',
> - (unsigned long long) vma->vm_pgoff << PAGE_SHIFT,
> + (!vma->vm_file) ? 0 :
> + (unsigned long long) vma->vm_pgoff << PAGE_SHIFT,
> MAJOR(dev), MINOR(dev), ino, &len);
>
> if (file) {
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/