The patch titled Subject: proc: add /proc/<pid>/arch_status has been added to the -mm tree. Its filename is proc-add-proc-pid-arch_status.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/proc-add-proc-pid-arch_status.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/proc-add-proc-pid-arch_status.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> Subject: proc: add /proc/<pid>/arch_status The architecture specific information of the running processes could be useful to the userland. Add /proc/<pid>/arch_status interface support to examine process architecture specific information externally. Link: http://lkml.kernel.org/r/20190606012236.9391-1-aubrey.li@xxxxxxxxxxxxxxx Signed-off-by: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Alexey Dobriyan <adobriyan@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/proc/Kconfig | 4 ++++ fs/proc/base.c | 6 ++++++ include/linux/proc_fs.h | 9 +++++++++ 3 files changed, 19 insertions(+) --- a/fs/proc/base.c~proc-add-proc-pid-arch_status +++ a/fs/proc/base.c @@ -3061,6 +3061,9 @@ static const struct pid_entry tgid_base_ #ifdef CONFIG_STACKLEAK_METRICS ONE("stack_depth", S_IRUGO, proc_stack_depth), #endif +#ifdef CONFIG_PROC_PID_ARCH_STATUS + ONE("arch_status", S_IRUGO, proc_pid_arch_status), +#endif }; static int proc_tgid_base_readdir(struct file *file, struct dir_context *ctx) @@ -3449,6 +3452,9 @@ static const struct pid_entry tid_base_s #ifdef CONFIG_LIVEPATCH ONE("patch_state", S_IRUSR, proc_pid_patch_state), #endif +#ifdef CONFIG_PROC_PID_ARCH_STATUS + ONE("arch_status", S_IRUGO, proc_pid_arch_status), +#endif }; static int proc_tid_base_readdir(struct file *file, struct dir_context *ctx) --- a/fs/proc/Kconfig~proc-add-proc-pid-arch_status +++ a/fs/proc/Kconfig @@ -99,3 +99,7 @@ config PROC_CHILDREN Say Y if you are running any user-space software which takes benefit from this interface. For example, rkt is such a piece of software. + +config PROC_PID_ARCH_STATUS + def_bool n + depends on PROC_FS --- a/include/linux/proc_fs.h~proc-add-proc-pid-arch_status +++ a/include/linux/proc_fs.h @@ -75,6 +75,15 @@ struct proc_dir_entry *proc_create_net_s void *data); extern struct pid *tgid_pidfd_to_pid(const struct file *file); +#ifdef CONFIG_PROC_PID_ARCH_STATUS +/* + * The architecture which selects CONFIG_PROC_PID_ARCH_STATUS must + * provide proc_pid_arch_status() definition. + */ +int proc_pid_arch_status(struct seq_file *m, struct pid_namespace *ns, + struct pid *pid, struct task_struct *task); +#endif /* CONFIG_PROC_PID_ARCH_STATUS */ + #else /* CONFIG_PROC_FS */ static inline void proc_root_init(void) _ Patches currently in -mm which might be from aubrey.li@xxxxxxxxxxxxxxx are proc-add-proc-pid-arch_status.patch x86-proc-pid-arch_status-add-avx-512-usage-elapsed-time.patch documentation-filesystems-proctxt-add-arch_status-file.patch