Skip to content

Commit

Permalink
[PATCH] Don't need to disable interrupts for tasklist_lock
Browse files Browse the repository at this point in the history
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
  • Loading branch information
Oleg Nesterov authored and Jens Axboe committed Sep 30, 2006
1 parent 25034d7 commit cf342e5
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions fs/ioprio.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,12 @@ asmlinkage long sys_ioprio_set(int which, int who, int ioprio)
}

ret = -ESRCH;
read_lock_irq(&tasklist_lock);
/*
* We want IOPRIO_WHO_PGRP/IOPRIO_WHO_USER to be "atomic",
* so we can't use rcu_read_lock(). See re-copy of ->ioprio
* in copy_process().
*/
read_lock(&tasklist_lock);
switch (which) {
case IOPRIO_WHO_PROCESS:
if (!who)
Expand Down Expand Up @@ -124,7 +129,7 @@ asmlinkage long sys_ioprio_set(int which, int who, int ioprio)
ret = -EINVAL;
}

read_unlock_irq(&tasklist_lock);
read_unlock(&tasklist_lock);
return ret;
}

Expand Down Expand Up @@ -170,7 +175,7 @@ asmlinkage long sys_ioprio_get(int which, int who)
int ret = -ESRCH;
int tmpio;

read_lock_irq(&tasklist_lock);
read_lock(&tasklist_lock);
switch (which) {
case IOPRIO_WHO_PROCESS:
if (!who)
Expand Down Expand Up @@ -221,7 +226,7 @@ asmlinkage long sys_ioprio_get(int which, int who)
ret = -EINVAL;
}

read_unlock_irq(&tasklist_lock);
read_unlock(&tasklist_lock);
return ret;
}

0 comments on commit cf342e5

Please sign in to comment.