[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-kernel
Subject:    Re: [PATCH 2/5] mm: frontswap: lazy initialization to allow tmem backends to build/run as modules
From:       Cesar Eduardo Barros <cesarb () cesarb ! net>
Date:       2012-10-31 21:42:53
Message-ID: 50919B5D.9000100 () cesarb ! net
[Download RAW message or body]

Em 31-10-2012 15:05, Seth Jennings escreveu:
> On 10/31/2012 10:07 AM, Dan Magenheimer wrote:
>> +#define MAX_INITIALIZABLE_SD 32
>
> MAX_INITIALIZABLE_SD should just be MAX_SWAPFILES
>
>> +static int sds[MAX_INITIALIZABLE_SD];
>
> Rather than store and array of enabled types indexed by type, why not
> an array of booleans indexed by type.  Or a bitfield if you really
> want to save space.

Since it is indexed by swap_info_struct's type, and frontswap already 
pokes directly inside the swap_info_structs, it would be even cleaner to 
use a boolean field within the swap_info_struct.

And if you are using a field within the swap_info_struct, you could 
overload the already existing frontswap_map field, which should only 
have any use if you have a frontswap module already loaded. That is, 
move the vzalloc of the frontswap_map to within frontswap's init 
function, and call it outside the swapfile_lock/swapon_mutex. This also 
has the advantage of not allocating the frontswap_map when it is not 
going to be used.

-- 
Cesar Eduardo Barros
cesarb@cesarb.net
cesar.barros@gmail.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic