On Mon, Aug 9, 2010 at 8:26 PM, Nitin Gupta <ngupta@xxxxxxxxxx> wrote: > Currently, the user has to explicitly write a positive value to > initstate sysfs node before the device can be used. This event > triggers allocation of per-device metadata like memory pool, > table array and so on. > > We do not pre-initialize all zram devices since the 'table' array, > mapping disk blocks to compressed chunks, takes considerable amount > of memory (8 bytes per page). So, pre-initializing all devices will > be quite wasteful if only few or none of the devices are actually > used. > > This explicit device initialization from user is an odd requirement and > can be easily avoided. We now initialize the device when first write is > done to the device. > > Signed-off-by: Nitin Gupta <ngupta@xxxxxxxxxx> AFAICT, most hardware block device drivers do things like this in the probe function. Why can't we do that for zram as well and drop the ->init_done and ->init_lock parts? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>