Commit 73dca124 authored by Xin Long's avatar Xin Long Committed by David S. Miller

sctp: move sent_count to the memory hole in sctp_chunk

Now pahole sctp_chunk, it has 2 memory holes:
   struct sctp_chunk {
	struct list_head           list;
	atomic_t                   refcnt;
	/* XXX 4 bytes hole, try to pack */
	...
	long unsigned int          prsctp_param;
	int                        sent_count;
	/* XXX 4 bytes hole, try to pack */

This patch is to move up sent_count to fill the 1st one and eliminate
the 2nd one.

It's not just another struct compaction, it also fixes the "netperf-
Throughput_Mbps -37.2% regression" issue when overloading the CPU.

Fixes: a6c2f792 ("sctp: implement prsctp TTL policy")
Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1b0ff898
...@@ -554,6 +554,9 @@ struct sctp_chunk { ...@@ -554,6 +554,9 @@ struct sctp_chunk {
atomic_t refcnt; atomic_t refcnt;
/* How many times this chunk have been sent, for prsctp RTX policy */
int sent_count;
/* This is our link to the per-transport transmitted list. */ /* This is our link to the per-transport transmitted list. */
struct list_head transmitted_list; struct list_head transmitted_list;
...@@ -610,9 +613,6 @@ struct sctp_chunk { ...@@ -610,9 +613,6 @@ struct sctp_chunk {
*/ */
unsigned long prsctp_param; unsigned long prsctp_param;
/* How many times this chunk have been sent, for prsctp RTX policy */
int sent_count;
/* Which association does this belong to? */ /* Which association does this belong to? */
struct sctp_association *asoc; struct sctp_association *asoc;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment