I found 2048-byte slab heavy users. 8MB doesn't seem much they all
add up.
size-2048 before:98 after:4095 diff:3997 size:2060 incr:8233820
The problem is with
sd.c: sd_attach()
alloc_disk(16)
alloc_disk() allocates "hd_struct" structure for 15 minors.
So it is a 84*15 = 1260 byte allocation. They all come from
2048-byte slabs. Since I have 4000 simulated disks, it uses up 8MB.
Proposed fixes:
1) Make the allocations come from its own slab, instead of
2048-byte slab. (~40% saving).
2) Instead of allocatinf hd_struct structure for all possible partitions,
why not allocated them dynamically, as we see a partition ? This
way we could (in theory) support more than 16 partitions, if needed.
Are there any issues with doing (2) ?
Thanks,
Badari
-
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/