Re: [PATCH 2/5] mm: frontswap: lazy initialization to allow tmembackends to build/run as modules
From: Cesar Eduardo Barros
Date: Wed Oct 31 2012 - 17:43:04 EST
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@xxxxxxxxxx
cesar.barros@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/