Subject: Re: [PATCH] staging: fix powerpc linux-next break on zsmalloc

From: Marc Dietrich <[email-masked]>
Date: Tue, 14 Feb 2012 12:39:56 +0100

Am 14.02.2012 12:22, schrieb Marc Dietrich:
> Am 13.02.2012 15:47, schrieb Seth Jennings:
>> linux/vmalloc.h added to zsmalloc-main.c to resolve implicit
>> declaration errors.
>>
>> X86 dependency added to zsmalloc and dependent drivers zcache and zram.
>>
>> This X86 only requirement is not ideal.  Working to find portable
>> functions for __flush_tlb_one and set_pte.
>
> sorry, zcache/zram works fine one ARM here. Why not depend on !POWERPC?

ups, sorry again, I tested an older version only. flush_tlb_one and 
set_pte is only used with the new allocator as it seems.

> Marc
>
>> Signed-off-by: Seth Jennings<[email-masked]>
>> ---
>>    drivers/staging/zcache/Kconfig           |    4 +++-
>>    drivers/staging/zram/Kconfig             |    4 +++-
>>    drivers/staging/zsmalloc/Kconfig         |    5 ++++-
>>    drivers/staging/zsmalloc/zsmalloc-main.c |    1 +
>>    4 files changed, 11 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/staging/zcache/Kconfig b/drivers/staging/zcache/Kconfig
>> index 94e48aa..5a36fcf 100644
>> --- a/drivers/staging/zcache/Kconfig
>> +++ b/drivers/staging/zcache/Kconfig
>> @@ -1,6 +1,8 @@
>>    config ZCACHE
>>    	tristate "Dynamic compression of swap pages and clean pagecache pages"
>> -	depends on (CLEANCACHE || FRONTSWAP)&&   CRYPTO
>> +	# X86 dependency is because zsmalloc uses non-portable pte/tlb
>> +	# functions
>> +	depends on (CLEANCACHE || FRONTSWAP)&&   CRYPTO&&   X86
>>    	select ZSMALLOC
>>    	select CRYPTO_LZO
>>    	default n
>> diff --git a/drivers/staging/zram/Kconfig b/drivers/staging/zram/Kconfig
>> index ee23a86..9d11a4c 100644
>> --- a/drivers/staging/zram/Kconfig
>> +++ b/drivers/staging/zram/Kconfig
>> @@ -1,6 +1,8 @@
>>    config ZRAM
>>    	tristate "Compressed RAM block device support"
>> -	depends on BLOCK&&   SYSFS
>> +	# X86 dependency is because zsmalloc uses non-portable pte/tlb
>> +	# functions
>> +	depends on BLOCK&&   SYSFS&&   X86
>>    	select ZSMALLOC
>>    	select LZO_COMPRESS
>>    	select LZO_DECOMPRESS
>> diff --git a/drivers/staging/zsmalloc/Kconfig b/drivers/staging/zsmalloc/Kconfig
>> index 3e7a8d4..8e2c6a0 100644
>> --- a/drivers/staging/zsmalloc/Kconfig
>> +++ b/drivers/staging/zsmalloc/Kconfig
>> @@ -1,6 +1,9 @@
>>    config ZSMALLOC
>>    	tristate "Memory allocator for compressed pages"
>> -	depends on SPARSEMEM
>> +	# X86 dependency is because of the use of __flush_tlb_one and set_pte
>> +	# in zsmalloc-main.c.
>> +	# TODO: convert these to portable functions
>> +	depends on SPARSEMEM&&   X86
>>    	default n
>>    	help
>>    	  zsmalloc is a slab-based memory allocator designed to store
>> diff --git a/drivers/staging/zsmalloc/zsmalloc-main.c b/drivers/staging/zsmalloc/zsmalloc-main.c
>> index 189fb42..455fc2f 100644
>> --- a/drivers/staging/zsmalloc/zsmalloc-main.c
>> +++ b/drivers/staging/zsmalloc/zsmalloc-main.c
>> @@ -26,6 +26,7 @@
>>    #include<asm/pgtable.h>
>>    #include<linux/cpumask.h>
>>    #include<linux/cpu.h>
>> +#include<linux/vmalloc.h>
>>
>>    #include "zsmalloc.h"
>>    #include "zsmalloc_int.h"
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/