Chris Metcalf
f51c0eaee3
procfs: treat parked tasks as sleeping for task state
...
Allowing watchdog threads to be parked means that we now have the
opportunity of actually seeing persistent parked threads in the output
of /proc/<pid>/stat and /proc/<pid>/status. The existing code reported
such threads as "Running", which is kind-of true if you think of the
case where we park them as part of taking cpus offline. But if we allow
parking them indefinitely, "Running" is pretty misleading, so we report
them as "Sleeping" instead.
We could simply report them with a new string, "Parked", but it feels
like it's a bit risky for userspace to see unexpected new values; the
output is already documented in Documentation/filesystems/proc.txt, and
it seems like a mistake to change that lightly.
The scheduler does report parked tasks with a "P" in debugging output
from sched_show_task() or dump_cpu_task(), but that's a different API.
Similarly, the trace_ctxwake_* routines report a "P" for parked tasks,
but again, different API.
This change seemed slightly cleaner than updating the task_state_array
to have additional rows. TASK_DEAD should be subsumed by the exit_state
bits; TASK_WAKEKILL is just a modifier; and TASK_WAKING can very
reasonably be reported as "Running" (as it is now). Only TASK_PARKED
shows up with unreasonable output here.
Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Ulrich Obergfell <uobergfe@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-06-24 17:49:40 -07:00
..
9p
get rid of assorted nameidata-related debris
2015-05-15 01:10:37 -04:00
adfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
affs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
afs
VFS: normal filesystems (and lustre): d_inode() annotations
2015-04-15 15:06:57 -04:00
autofs4
don't pass nameidata to ->follow_link()
2015-05-10 22:20:15 -04:00
befs
don't pass nameidata to ->follow_link()
2015-05-10 22:20:15 -04:00
bfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
btrfs
Merge branch 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
2015-05-23 11:14:10 -07:00
cachefiles
VFS: fs/cachefiles: d_backing_inode() annotations
2015-04-15 15:06:59 -04:00
ceph
ceph: switch to simple_follow_link()
2015-05-10 22:18:28 -04:00
cifs
Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-06-22 12:51:21 -07:00
coda
VFS: normal filesystems (and lustre): d_inode() annotations
2015-04-15 15:06:57 -04:00
configfs
configfs: unexport/make static config_item_init()
2015-06-24 17:49:39 -07:00
cramfs
debugfs
debugfs: switch to simple_follow_link()
2015-05-10 22:18:24 -04:00
devpts
VFS: normal filesystems (and lustre): d_inode() annotations
2015-04-15 15:06:57 -04:00
dlm
ecryptfs
get rid of assorted nameidata-related debris
2015-05-15 01:10:37 -04:00
efivarfs
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-05-06 10:57:37 -07:00
efs
VFS: normal filesystems (and lustre): d_inode() annotations
2015-04-15 15:06:57 -04:00
exofs
exofs: switch to {simple,page}_symlink_inode_operations
2015-05-10 22:18:27 -04:00
exportfs
VFS: (Scripted) Convert S_ISLNK/DIR/REG(dentry->d_inode) to d_is_*(dentry)
2015-02-22 11:38:41 -05:00
ext2
ext2: use simple_follow_link()
2015-05-10 22:18:21 -04:00
ext3
ext3: switch to simple_follow_link()
2015-05-10 22:18:22 -04:00
ext4
Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-06-22 12:51:21 -07:00
f2fs
switch ->put_link() from dentry to inode
2015-05-11 08:13:12 -04:00
fat
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
freevxfs
freevxfs: switch to simple_follow_link()
2015-05-10 22:18:27 -04:00
fscache
fuse
new helper: free_page_put_link()
2015-05-11 08:13:13 -04:00
gfs2
don't pass nameidata to ->follow_link()
2015-05-10 22:20:15 -04:00
hfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
hfsplus
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
hostfs
Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-06-22 12:51:21 -07:00
hpfs
VFS: normal filesystems (and lustre): d_inode() annotations
2015-04-15 15:06:57 -04:00
hppfs
switch ->put_link() from dentry to inode
2015-05-11 08:13:12 -04:00
hugetlbfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
isofs
VFS: normal filesystems (and lustre): d_inode() annotations
2015-04-15 15:06:57 -04:00
jbd
jbd2
jbd2: fix r_count overflows leading to buffer overflow in journal recovery
2015-05-14 19:11:50 -04:00
jffs2
MTD fixes for 4.2
2015-06-23 17:38:39 -07:00
jfs
jfs: switch to simple_follow_link()
2015-05-10 22:18:26 -04:00
kernfs
Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-06-22 12:51:21 -07:00
lockd
nfsd: eliminate NFSD_DEBUG
2015-04-21 16:16:02 -04:00
logfs
logfs: fix a pagecache leak for symlinks
2015-05-10 22:18:28 -04:00
minix
VFS: normal filesystems (and lustre): d_inode() annotations
2015-04-15 15:06:57 -04:00
ncpfs
VFS: normal filesystems (and lustre): d_inode() annotations
2015-04-15 15:06:57 -04:00
nfs
Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-06-22 12:51:21 -07:00
nfs_common
nfsd
nfsd: skip CB_NULL probes for 4.1 or later
2015-05-04 12:02:42 -04:00
nilfs2
nilfs2: fix sanity check of btree level in nilfs_btree_root_broken()
2015-05-05 17:10:11 -07:00
nls
notify
fanotify: fix event filtering with FAN_ONDIR set
2015-03-12 18:46:08 -07:00
ntfs
NTFS: use kvfree() in ntfs_free()
2015-06-24 17:49:38 -07:00
ocfs2
ocfs2: mark local functions as static
2015-06-24 17:49:40 -07:00
omfs
omfs: fix potential integer overflow in allocator
2015-05-28 18:25:19 -07:00
openpromfs
overlayfs
Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-06-22 12:51:21 -07:00
proc
procfs: treat parked tasks as sleeping for task state
2015-06-24 17:49:40 -07:00
pstore
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
qnx4
qnx6
VFS: normal filesystems (and lustre): d_inode() annotations
2015-04-15 15:06:57 -04:00
quota
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
ramfs
VFS: normal filesystems (and lustre): d_inode() annotations
2015-04-15 15:06:57 -04:00
reiserfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
romfs
make new_sync_{read,write}() static
2015-04-11 22:29:40 -04:00
squashfs
VFS: normal filesystems (and lustre): d_inode() annotations
2015-04-15 15:06:57 -04:00
sysfs
sysfs: Only accept read/write permissions for file attributes
2015-03-25 13:27:57 +01:00
sysv
sysv: switch to simple_follow_link()
2015-05-10 22:18:26 -04:00
tracefs
tracing: Have mkdir and rmdir be part of tracefs
2015-02-03 12:48:43 -05:00
ubifs
ubifs: switch to simple_follow_link()
2015-05-10 22:18:25 -04:00
udf
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
ufs
ufs: switch to simple_follow_link()
2015-05-10 22:18:25 -04:00
xfs
Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-06-22 12:51:21 -07:00
aio.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-16 23:27:56 -04:00
anon_inodes.c
attr.c
bad_inode.c
don't bother with most of the bad_file_ops methods
2015-02-20 04:03:58 -05:00
binfmt_aout.c
binfmt_elf.c
fs/binfmt_elf.c:load_elf_binary(): return -EINVAL on zero-length mappings
2015-05-28 18:25:18 -07:00
binfmt_elf_fdpic.c
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
binfmt_script.c
block_dev.c
direct-io: only inc/dec inode->i_dio_count for file systems
2015-04-24 15:45:28 -04:00
buffer.c
page_writeback: clean up mess around cancel_dirty_page()
2015-04-14 16:49:01 -07:00
char_dev.c
compat.c
compat_binfmt_elf.c
compat_ioctl.c
Bluetooth: bnep: Add support for get bnep features via ioctl
2015-04-03 23:21:34 +02:00
coredump.c
coredump: accept any write method
2015-04-11 22:29:39 -04:00
dax.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
dcache.c
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-06-22 18:57:44 -07:00
dcookies.c
direct-io.c
direct-io: only inc/dec inode->i_dio_count for file systems
2015-04-24 15:45:28 -04:00
drop_caches.c
vmscan: per memory cgroup slab shrinkers
2015-02-12 18:54:09 -08:00
eventfd.c
eventfd: don't take the spinlock in eventfd_poll
2015-02-17 14:34:52 -08:00
eventpoll.c
epoll: optimize setting task running after blocking
2015-02-13 21:21:40 -08:00
exec.c
parisc,metag: Fix crashes due to stack randomization on stack-grows-upwards architectures
2015-05-12 22:03:44 +02:00
fcntl.c
fhandle.c
vfs: read file_handle only once in handle_to_path
2015-06-02 10:29:07 -07:00
file.c
mm: rcu-protected get_mm_exe_file()
2015-04-17 09:04:07 -04:00
file_table.c
->aio_read and ->aio_write removed
2015-04-11 22:29:43 -04:00
filesystems.c
fs-writeback.c
fs: add dirtytime_expire_seconds sysctl
2015-03-17 12:23:32 -04:00
fs_pin.c
fs_pin: Allow for the possibility that m_list or s_list go unused.
2015-04-09 11:39:55 -05:00
fs_struct.c
inode.c
VFS/namei: make the use of touch_atime() in get_link() RCU-safe.
2015-05-15 01:06:27 -04:00
internal.h
trylock_super(): replacement for grab_super_passive()
2015-02-22 11:38:42 -05:00
ioctl.c
fsioctl.c: make generic_block_fiemap() signal-tolerant
2015-02-10 14:30:30 -08:00
Kconfig
f2fs: relocate Kconfig from misc filesystems
2015-04-10 15:08:35 -07:00
Kconfig.binfmt
mm: split ET_DYN ASLR from mmap ASLR
2015-04-14 16:49:05 -07:00
libfs.c
new helper: free_page_put_link()
2015-05-11 08:13:13 -04:00
locks.c
proc: show locks in /proc/pid/fdinfo/X
2015-04-17 09:04:12 -04:00
Makefile
This adds the new tracefs file system. This has been in linux-next for
2015-04-14 10:22:29 -07:00
mbcache.c
mount.h
new helper: __legitimize_mnt()
2015-05-11 08:13:14 -04:00
mpage.c
namei.c
turn user_{path_at,path,lpath,path_dir}() into static inlines
2015-05-15 01:10:45 -04:00
namespace.c
new helper: __legitimize_mnt()
2015-05-11 08:13:14 -04:00
no-block.c
nsfs.c
VFS: assorted weird filesystems: d_inode() annotations
2015-04-15 15:06:58 -04:00
open.c
VFS: Handle lower layer dentry/inode in pathwalk
2015-05-11 08:13:10 -04:00
pipe.c
VFS: assorted weird filesystems: d_inode() annotations
2015-04-15 15:06:58 -04:00
pnode.c
mnt: Don't propagate unmounts to locked mounts
2015-04-02 20:34:20 -05:00
pnode.h
mnt: Honor MNT_LOCKED when detaching mounts
2015-04-09 11:39:55 -05:00
posix_acl.c
VFS: assorted d_backing_inode() annotations
2015-04-15 15:06:59 -04:00
proc_namespace.c
vfs: add support for a lazytime mount option
2015-02-05 02:45:00 -05:00
read_write.c
new_sync_write(): discard ->ki_pos unless the return value is positive
2015-04-11 22:29:46 -04:00
readdir.c
select.c
locking/arch: Rename set_mb() to smp_store_mb()
2015-05-19 08:32:00 +02:00
seq_file.c
bitmap, cpumask, nodemask: remove dedicated formatting functions
2015-02-13 21:21:39 -08:00
signalfd.c
splice.c
splice: sendfile() at once fails for big files
2015-05-06 09:27:41 -06:00
stack.c
stat.c
VFS: assorted d_backing_inode() annotations
2015-04-15 15:06:59 -04:00
statfs.c
super.c
cleancache: remove limit on the number of cleancache enabled filesystems
2015-04-14 16:49:03 -07:00
sync.c
vfs: add support for a lazytime mount option
2015-02-05 02:45:00 -05:00
timerfd.c
utimes.c
xattr.c