[Precise][PATCH 1/1] Revert "zram: use zram->lock to protect zram_free_page() in swap free notify path"
Luis Henriques
luis.henriques at canonical.com
Tue Sep 10 10:34:52 UTC 2013
BugLink: http://bugs.launchpad.net/bugs/1215513
This reverts commit f7c24073403a8d28064542b8e1e41424f90319a3, which was
commit 57ab048532c0d975538cebd4456491b5c34248f4 upstream.
This has been found to cause system lock ups when under high memory
pressure.
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
drivers/staging/zram/zram_drv.c | 2 --
drivers/staging/zram/zram_drv.h | 5 ++---
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/zram/zram_drv.c b/drivers/staging/zram/zram_drv.c
index 926d483..d197b3e 100644
--- a/drivers/staging/zram/zram_drv.c
+++ b/drivers/staging/zram/zram_drv.c
@@ -709,9 +709,7 @@ static void zram_slot_free_notify(struct block_device *bdev,
struct zram *zram;
zram = bdev->bd_disk->private_data;
- down_write(&zram->lock);
zram_free_page(zram, index);
- up_write(&zram->lock);
zram_stat64_inc(zram, &zram->stats.notify_free);
}
diff --git a/drivers/staging/zram/zram_drv.h b/drivers/staging/zram/zram_drv.h
index 87f2fec..e5cd246 100644
--- a/drivers/staging/zram/zram_drv.h
+++ b/drivers/staging/zram/zram_drv.h
@@ -107,9 +107,8 @@ struct zram {
void *compress_buffer;
struct table *table;
spinlock_t stat64_lock; /* protect 64-bit stats */
- struct rw_semaphore lock; /* protect compression buffers, table,
- * 32bit stat counters against concurrent
- * notifications, reads and writes */
+ struct rw_semaphore lock; /* protect compression buffers and table
+ * against concurrent read and writes */
struct request_queue *queue;
struct gendisk *disk;
int init_done;
--
1.8.3.2
More information about the kernel-team
mailing list