Re: device struct bloat

From: Greg KH
Date: Sun Nov 04 2007 - 22:56:50 EST


On Sun, Nov 04, 2007 at 09:29:18PM +0100, Peter Zijlstra wrote:
>
> On Sat, 2007-11-03 at 12:48 -0700, Stephen Hemminger wrote:
> > The sizeof(struct device) is way too big, especially in the network device case.
> > We want to support 1000's of device's and the change from class_device to
> > net_device has caused needless bloat.
> >
> > sizeof(struct device) = 272
> > sizeof(struct class_device) = 92
> > * not the class_id in class_device could also be removed or changed to
> > a ptr, since it is redundant for net_devices.
>
> The thing that surprised me most was that it contains a struct
> semaphore, Greg, is that really needed?

Yes, it serializes bind and unbind stuff for the device. There are
comments about it in drivers/base/dd.c if you want to look into it.

thanks,

greg k-h
-
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/