diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2016-09-04 22:27:01 -0400 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2016-09-04 22:27:01 -0400 |
commit | d0de6e4cb45053d5b4aa4ad75b37e440ca1b9510 (patch) | |
tree | 2628b71edb85ec064ac694d30254745c09cc49a6 | |
parent | 1d0972e8241850caa2cdb2341855e10d678ccc56 (diff) | |
download | 4.8-rt-patches-d0de6e4cb45053d5b4aa4ad75b37e440ca1b9510.tar.gz |
mm: zsmalloc refresh
-rw-r--r-- | patches/mm-zsmalloc-Use-get-put_cpu_light-in-zs_map_object-z.patch | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/patches/mm-zsmalloc-Use-get-put_cpu_light-in-zs_map_object-z.patch b/patches/mm-zsmalloc-Use-get-put_cpu_light-in-zs_map_object-z.patch index d3b55e4c8a67a6..aa37ce66e7a828 100644 --- a/patches/mm-zsmalloc-Use-get-put_cpu_light-in-zs_map_object-z.patch +++ b/patches/mm-zsmalloc-Use-get-put_cpu_light-in-zs_map_object-z.patch @@ -1,3 +1,4 @@ +From be4ae7542332259c9551a10c7bf88c48a3f47432 Mon Sep 17 00:00:00 2001 From: Mike Galbraith <umgwanakikbuti@gmail.com> Date: Tue, 22 Mar 2016 11:16:09 +0100 Subject: [PATCH] mm/zsmalloc: Use get/put_cpu_light in @@ -7,27 +8,29 @@ Otherwise, we get a ___might_sleep() splat. Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> ---- - mm/zsmalloc.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) +diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c +index 04176de6df70..fd40d6a68508 100644 --- a/mm/zsmalloc.c +++ b/mm/zsmalloc.c -@@ -1292,7 +1292,7 @@ void *zs_map_object(struct zs_pool *pool +@@ -1434,7 +1434,7 @@ void *zs_map_object(struct zs_pool *pool, unsigned long handle, class = pool->size_class[class_idx]; - off = obj_idx_to_offset(page, obj_idx, class->size); + off = (class->size * obj_idx) & ~PAGE_MASK; - area = &get_cpu_var(zs_map_area); + area = per_cpu_ptr(&zs_map_area, get_cpu_light()); area->vm_mm = mm; if (off + class->size <= PAGE_SIZE) { /* this object is contained entirely within a page */ -@@ -1345,7 +1345,7 @@ void zs_unmap_object(struct zs_pool *poo +@@ -1488,7 +1488,7 @@ void zs_unmap_object(struct zs_pool *pool, unsigned long handle) __zs_unmap_object(area, pages, off, class->size); } - put_cpu_var(zs_map_area); + put_cpu_light(); + + migrate_read_unlock(zspage); unpin_tag(handle); - } - EXPORT_SYMBOL_GPL(zs_unmap_object); +-- +2.5.0 + |