On Wed, Apr 17, 2013 at 11:26:21AM +0200, Daniel Borkmann wrote: > On 04/17/2013 10:43 AM, David Laight wrote: > >> __u32 outstanding_bytes; > >> > >>- /* Are we doing fast-rtx on this queue */ > >>- char fast_rtx; > >>- > >>- /* Corked? */ > >>- char cork; > >>- > >>- /* Is this structure empty? */ > >>- char empty; > >>+ __u8 fast_rtx:1, /* Are we doing fast-rtx on this queue */ > >>+ cork:1, /* Corked? */ > >>+ empty:1; /* Is this structure empty? */ > >> }; > > > >Use of bitfields just makes the code slower. > >The only real excuse for using them is to reduce the size > >of a structure that is allocated a lot. > > sctp_outq is _embedded_ into an sctp_association structure, which > has [size: 2280, cachelines: 36, members: 76]! A next step would be > to try to reorder its elements carefully and see if we can reduce > the size by filling some holes. Unrelated note: How did you get pahole to give you that information? For some reason pahole can never glean any useful information about struct sctp_association for me, despite having dwarf info embedded into the cu. Neil > -- > To unsubscribe from this list: send the line "unsubscribe linux-sctp" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-sctp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html