No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tetsuo Handa 780cbcf287 kernel/hung_task.c: defer showing held locks
When I was running my testcase which may block hundreds of threads on fs
locks, I got lockup due to output from debug_show_all_locks() added by
commit b2d4c2edb2 ("locking/hung_task: Show all locks").

For example, if 1000 threads were blocked in TASK_UNINTERRUPTIBLE state
and 500 out of 1000 threads hold some lock, debug_show_all_locks() from
for_each_process_thread() loop will report locks held by 500 threads for
1000 times.  This is a too much noise.

In order to make sure rcu_lock_break() is called frequently, we should
avoid calling debug_show_all_locks() from for_each_process_thread() loop
because debug_show_all_locks() effectively calls for_each_process_thread()
loop.  Let's defer calling debug_show_all_locks() till before panic() or
leaving for_each_process_thread() loop.

Link: http://lkml.kernel.org/r/1489296834-60436-1-git-send-email-penguin-kernel@I-love.SAKURA.ne.jp
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reviewed-by: Vegard Nossum <vegard.nossum@oracle.com>
Cc: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-05-08 17:15:10 -07:00
arch DeviceTree for 4.12: 2017-05-05 19:33:07 -07:00
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2017-05-06 11:25:08 -07:00
certs
crypto Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2017-05-03 08:50:52 -07:00
Documentation docs: complete bumping minimal GNU Make version to 3.81 2017-05-06 18:49:09 -07:00
drivers drivers/virt/fsl_hypervisor.c: use get_user_pages_unlocked() 2017-05-08 17:15:10 -07:00
firmware
fs fs/proc/inode.c: remove cast from memory allocation 2017-05-08 17:15:10 -07:00
include jiffies.h: declare jiffies and jiffies_64 with ____cacheline_aligned_in_smp 2017-05-08 17:15:10 -07:00
init initramfs: avoid "label at end of compound statement" error 2017-05-06 10:27:13 -07:00
ipc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2017-05-05 11:08:43 -07:00
kernel kernel/hung_task.c: defer showing held locks 2017-05-08 17:15:10 -07:00
lib refcount: change EXPORT_SYMBOL markings 2017-05-06 11:01:34 -07:00
mm mm, compaction: finish whole pageblock to reduce fragmentation 2017-05-08 17:15:10 -07:00
net Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2017-05-05 11:08:43 -07:00
samples char/misc patches for 4.12-rc1 2017-05-04 19:15:35 -07:00
scripts DeviceTree for 4.12: 2017-05-05 19:33:07 -07:00
security Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2017-05-03 08:50:52 -07:00
sound sound updates for 4.12-rc1 2017-05-03 11:58:59 -07:00
tools libnvdimm for 4.12 2017-05-05 18:49:20 -07:00
usr
virt arm64 updates for 4.12: 2017-05-05 12:11:37 -07:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap Staging/IIO patches for 4.12-rc1 2017-05-05 18:16:23 -07:00
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Staging/IIO patches for 4.12-rc1 2017-05-05 18:16:23 -07:00
Makefile make help: add tools help target 2017-05-08 17:15:10 -07:00
README

Linux kernel
============

This file was moved to Documentation/admin-guide/README.rst

Please notice that there are several guides for kernel developers and users.
These guides can be rendered in a number of formats, like HTML and PDF.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.