Oleg Nesterov 6fb614920b task_work_run: don't take ->pi_lock unconditionally
As Peter pointed out, task_work() can avoid ->pi_lock and cmpxchg()
if task->task_works == NULL && !PF_EXITING.

And in fact the only reason why task_work_run() needs ->pi_lock is
the possible race with task_work_cancel(), we can optimize this code
and make the locking more clear.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-03-02 14:06:33 -07:00
..
2019-11-27 11:42:01 -08:00
2020-02-28 11:43:30 -08:00
2019-12-18 18:07:31 +01:00
2019-07-08 18:55:42 -07:00
2020-01-03 11:17:14 -08:00
2020-01-29 19:56:50 -08:00
2020-01-09 13:23:40 +01:00
2020-02-09 16:05:50 -08:00
2019-12-04 19:44:14 -08:00
2020-01-08 16:32:55 +00:00
2020-01-14 12:20:48 +01:00
2019-12-11 16:37:02 +08:00
2020-01-13 21:49:36 +01:00
2019-12-04 15:18:39 +01:00
2019-12-18 18:07:31 +01:00
2019-07-08 19:36:47 -07:00
2019-07-08 19:36:47 -07:00