Re: [PATCH 2/3] Sysfs: Allow directories to be populateddynamically

From: Matthew Wilcox
Date: Fri Oct 30 2009 - 07:14:59 EST


On Fri, Oct 30, 2009 at 11:17:22AM +0100, Tejun Heo wrote:
> Matthew Wilcox wrote:
> > It is convoluted. The advantage of this is that we get to create many
> > fewer dirents. I wonder if we can do away with the dirents entirely, and
> > have dentries constructed dynamically instead.
>
> I think it's a bit misdirected. It's probably better to try to reduce
> the size of struct sysfs_dirent by tightly packing them and moving out
> dynamic part of the data structure into a separate one which is only
> allocated while the node is being accessed. The thing is that large
> number of the nodes would require struct sysfs_dirent anyway, so it
> would be much more benficial and less convoluted to diet the whole
> thing.
>
> In this particular case, the trade off is actually much worse because
> sysfs_dirent is being increased but the only one which is seeing any
> kind of memory usage drop is the new msi-x code. Given that there can
> be only a handful of msi-x controllers even in a fairly large system,
> I don't think memory usage will be reduced in any meaningful way even
> on affected systems and if you think about large systems with
> thousands and tens of thousands block devices, the bloat in
> sysfs_dirent will waste a lot of memory.

Every attribute sees a drop in memory usage. I think I saw about 30%
fewer dirents created on boot with this laptop. Why not try this patch
on one of your machines and see the difference?

--
Matthew Wilcox Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
--
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/