public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] introduce for_each_process_thread_break() and for_each_process_thread_continue()
@ 2018-09-12 16:33 Oleg Nesterov
  2018-09-12 16:33 ` [PATCH 1/2] " Oleg Nesterov
  2018-09-12 16:33 ` [PATCH 2/2] hung_task: change check_hung_uninterruptible_tasks() to use for_each_process_thread_break/continue Oleg Nesterov
  0 siblings, 2 replies; 5+ messages in thread
From: Oleg Nesterov @ 2018-09-12 16:33 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Dmitry Vyukov, Michal Hocko, Paul E. McKenney, Peter Zijlstra,
	linux-kernel

Resend.

IMHO this makes sense anyway, but mostly this is preparation for other changes.
show_state_filter() and other "slow" users of for_each_process() can livelock
and even trigger hard lockups.

Peter, you have already reviewed at least 1/2 (heh, two years ago) and iirc
you were mostly agree but pointed out that for_each_xxx() in _continue() could
be SPEND_TOO_MUCH_TIME themselves. I added a note into the changelog.

Oleg.

 include/linux/sched/signal.h | 10 ++++++++++
 kernel/exit.c                | 42 ++++++++++++++++++++++++++++++++++++++++++
 kernel/hung_task.c           | 25 +++++++++----------------
 3 files changed, 61 insertions(+), 16 deletions(-)


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-09-13 17:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-12 16:33 [PATCH 0/2] introduce for_each_process_thread_break() and for_each_process_thread_continue() Oleg Nesterov
2018-09-12 16:33 ` [PATCH 1/2] " Oleg Nesterov
2018-09-12 19:25   ` Andrew Morton
2018-09-13 15:55     ` Oleg Nesterov
2018-09-12 16:33 ` [PATCH 2/2] hung_task: change check_hung_uninterruptible_tasks() to use for_each_process_thread_break/continue Oleg Nesterov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox