Re: [RESEND][PATCH] Mark thread stack correctly in proc/<pid>/maps
From: Siddhesh Poyarekar <hidden>
Date: 2012-02-11 10:19:01
Also in:
linux-fsdevel, linux-mm, lkml
On Wed, Feb 8, 2012 at 11:27 PM, KOSAKI Motohiro [off-list ref] wrote:
Now, we are using some bit saving hack. example, 1) use ifdef #ifndef CONFIG_TRANSPARENT_HUGEPAGE #define VM_MAPPED_COPY 0x01000000 /* T if mapped copy of data (nommu mmap) */ #else #define VM_HUGEPAGE 0x01000000 /* MADV_HUGEPAGE marked this vma */ #endif 2) use bit combination #define VM_STACK_INCOMPLETE_SETUP (VM_RAND_READ | VM_SEQ_READ) Maybe you can take a similar way. And of course, you can ban some useless flag bits.
I found the thread in which Linus rejected the idea of expanding vm_flags: https://lkml.org/lkml/2011/11/10/522 and based on that, I don't think I can justify the need for a new flag for this patch since it is purely for display purposes and has nothing to do with the actual treatment of the vma. So I figured out another way to identify a thread stack without changing the way the vma properties (I should have done this in the first place I think) which is by checking if the vma contains the stack pointer of the task. With this change: /proc/pid/task/tid/maps: will only mark the stack that the task uses /proc/pid/maps: will mark all stacks. This path will be slower since it will iterate through the entire thread group for each vma. I'll test this and attach a new version of the patch. Regards, Siddhesh -- Siddhesh Poyarekar http://siddhesh.in -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html