[PATCH 2/2] sysvshm: SHM_LOCK use lru_add_drain_all_async()

From: kosaki . motohiro
Date: Sun Jan 01 2012 - 02:31:29 EST


From: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>

shmctl also don't need synchrounous pagevec drain. This patch replace it with
lru_add_drain_all_async().

Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
---
ipc/shm.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ipc/shm.c b/ipc/shm.c
index 02ecf2c..1eb25f0 100644
--- a/ipc/shm.c
+++ b/ipc/shm.c
@@ -872,8 +872,6 @@ SYSCALL_DEFINE3(shmctl, int, shmid, int, cmd, struct shmid_ds __user *, buf)
{
struct file *uninitialized_var(shm_file);

- lru_add_drain_all(); /* drain pagevecs to lru lists */
-
shp = shm_lock_check(ns, shmid);
if (IS_ERR(shp)) {
err = PTR_ERR(shp);
@@ -911,6 +909,8 @@ SYSCALL_DEFINE3(shmctl, int, shmid, int, cmd, struct shmid_ds __user *, buf)
shp->mlock_user = NULL;
}
shm_unlock(shp);
+ /* prevent user visible mismatch of unevictable accounting */
+ lru_add_drain_all_async();
goto out;
}
case IPC_RMID:
--
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/