Subject: Re: PR 31468 -- distributed LKMs are not useful because of incompatible config
To: Nathan J. Williams <email@example.com>
From: Steven M. Bellovin <firstname.lastname@example.org>
Date: 10/30/2005 18:36:39
In message <email@example.com>, "Nathan J. Willia
>Chuck Silvers <firstname.lastname@example.org> writes:
>> does anyone object to turning off DIAGNOSTIC in all the GENERIC configs?
>> this seems like reasonable anyway, and it fixes this issue in nicely.
>Why is this preferable to turning *on* DIAGNOSTIC in all the GENERIC
>> - these structures have an extra field if DIAGNOSTIC is on:
>> struct irframe_softc
>> struct usbd_xfer
>> struct wsemul_vt100_emuldata
>> struct cpu_data
>The one DIAGNOSTIC field in usbd_xfer is only accessed by the host
>controller driver (including allocation and deallocation), so its
>presence or absence just affects offsets. Would it be sufficent to
>move it to the end of the structure? Alternately, keeping 4 extra
>bytes on a 112-byte structure (on ILP32) isn't much to worry about.
>For the rest it seems pretty clear that the structures aren't numerous
>enough for size to be a big concern. It's probably worth marking that
>those members aren't filled with valid data if DIAGNOSTIC is off.
I think it's highly unlikely that the per-instance data structure
overhead for DIAGNOSTIC is significant. I'd suggest that as a design
principle, data structure entries not be conditional, only sections of
code. I'd be astonished if the difference was more than a (very) few K
bytes -- and even on the smallest platforms we support, that's not
--Steven M. Bellovin, http://www.cs.columbia.edu/~smb