Messages in this thread | | | Date | Thu, 31 May 2012 17:43:44 -0400 | From | John Moser <> | Subject | Is this code right in zram? |
| |
before I go stomping all over other peoples' work and sending idiotic patches, I think I'll ask. Since I have no clue what I'm doing.
in drivers/staging/zram.c out of 3.4 (I just grabbed the source hours ago), I see this on lines 810-822:
/* Allocate the device array and initialize each one */ pr_info("Creating %u devices ...\n", num_devices); zram_devices = kzalloc(num_devices * sizeof(struct zram), GFP_KERNEL); if (!zram_devices) { ret = -ENOMEM; goto unregister; }
for (dev_id = 0; dev_id < num_devices; dev_id++) { ret = create_device(&zram_devices[dev_id], dev_id); if (ret) goto free_devices; }
Curiosity got me to here:
http://lwn.net/Articles/147014/
So assuming this, what I see here is:
- kmalloc(num_devices * sizeof(struct zram), GFP_KERNEL); - memset() that to 0 - immediately fill in this RAM without reading it
I'm wondering what the immediate need is to fill the area with zeros? Also curious as to whether the kzalloc() thing should better be kcalloc(num_devices, sizeof(struct zram), GFP_KERNEL) as a matter of convention.
| |