On 04/17/2013 11:27 AM, Neil Horman wrote:
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.
pahole -C sctp_association <sctp object file> works for me.
-vlad
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
--
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