summaryrefslogtreecommitdiffstats
path: root/kernel/task_work.c
diff options
context:
space:
mode:
authorRodrigo Vivi <rodrigo.vivi@intel.com>2021-01-08 06:03:51 -0500
committerRodrigo Vivi <rodrigo.vivi@intel.com>2021-01-08 06:03:51 -0500
commit10205618052908770451acd33eaeaa7685e97ed2 (patch)
tree4d025943e32f343fa917db7abed8a606faa17775 /kernel/task_work.c
parent6fdb335f1c9c0845b50625de1624d8445c4c4a07 (diff)
parentcb3cfbf79aff7decb4e5ee69a7c74864497f61dc (diff)
downloadcachepc-linux-10205618052908770451acd33eaeaa7685e97ed2.tar.gz
cachepc-linux-10205618052908770451acd33eaeaa7685e97ed2.zip
Merge drm/drm-next into drm-intel-next
sync-up to not fall too much behind. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'kernel/task_work.c')
-rw-r--r--kernel/task_work.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/kernel/task_work.c b/kernel/task_work.c
index 8d6e1217c451..9cde961875c0 100644
--- a/kernel/task_work.c
+++ b/kernel/task_work.c
@@ -33,7 +33,6 @@ int task_work_add(struct task_struct *task, struct callback_head *work,
enum task_work_notify_mode notify)
{
struct callback_head *head;
- unsigned long flags;
do {
head = READ_ONCE(task->task_works);
@@ -49,17 +48,7 @@ int task_work_add(struct task_struct *task, struct callback_head *work,
set_notify_resume(task);
break;
case TWA_SIGNAL:
- /*
- * Only grab the sighand lock if we don't already have some
- * task_work pending. This pairs with the smp_store_mb()
- * in get_signal(), see comment there.
- */
- if (!(READ_ONCE(task->jobctl) & JOBCTL_TASK_WORK) &&
- lock_task_sighand(task, &flags)) {
- task->jobctl |= JOBCTL_TASK_WORK;
- signal_wake_up(task, 0);
- unlock_task_sighand(task, &flags);
- }
+ set_notify_signal(task);
break;
default:
WARN_ON_ONCE(1);