diff options
| author | Rebecca Schultz Zavin <rebecca@android.com> | 2012-10-08 23:01:23 -0700 | 
|---|---|---|
| committer | Arve Hjønnevåg <arve@android.com> | 2013-07-01 14:16:10 -0700 | 
| commit | 7cc23d4c71227b9d0b4d4168c4b57ed31e015513 (patch) | |
| tree | 475434dc49521f9be6ee626db55d04351dbffbb5 /drivers/gpu/ion/ion_system_heap.c | |
| parent | abbfb7cc1cec8018615a636c46d4a9e94d97aa22 (diff) | |
| download | olio-linux-3.10-7cc23d4c71227b9d0b4d4168c4b57ed31e015513.tar.xz olio-linux-3.10-7cc23d4c71227b9d0b4d4168c4b57ed31e015513.zip  | |
gpu: ion: Fix several issues with page pool
Split out low and high mem pages so they are correctly reported
when the shrinker is called.
Fix potential deadlock caused by holding the page pool lock while
allocationg and also needing that lock from the shrink function
Change-Id: I6def3a3111f59914ef6b5b59d81a6fde37cb60c5
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Diffstat (limited to 'drivers/gpu/ion/ion_system_heap.c')
| -rw-r--r-- | drivers/gpu/ion/ion_system_heap.c | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/ion/ion_system_heap.c b/drivers/gpu/ion/ion_system_heap.c index 31555fa979e..4e413786840 100644 --- a/drivers/gpu/ion/ion_system_heap.c +++ b/drivers/gpu/ion/ion_system_heap.c @@ -328,9 +328,12 @@ static int ion_system_heap_debug_show(struct ion_heap *heap, struct seq_file *s,  	int i;  	for (i = 0; i < num_orders; i++) {  		struct ion_page_pool *pool = sys_heap->pools[i]; -		seq_printf(s, "%d order %u pages in pool = %lu total\n", -			   pool->count, pool->order, -			   (1 << pool->order) * PAGE_SIZE * pool->count); +		seq_printf(s, "%d order %u highmem pages in pool = %lu total\n", +			   pool->high_count, pool->order, +			   (1 << pool->order) * PAGE_SIZE * pool->high_count); +		seq_printf(s, "%d order %u lowmem pages in pool = %lu total\n", +			   pool->low_count, pool->order, +			   (1 << pool->order) * PAGE_SIZE * pool->low_count);  	}  	return 0;  }  |