2008-12-12 13:40:01

by Richard Kennedy

[permalink] [raw]
Subject: [PATCH] netfilter: remove padding from struct xt_match on 64bit builds

reorder struct xt_match to remove 8 bytes of padding and make its size
128 bytes.

This saves a small amount of data space in each of the xt netfilter
modules and fits xt_match in one 128 byte cache line.

Signed-off-by: Richard Kennedy <[email protected]>
----

patch against v2.6.28-rc8
Compiled & running on AMD X2 desktop machine.
regards
Richard



diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h
index e52ce47..c7ee874 100644
--- a/include/linux/netfilter/x_tables.h
+++ b/include/linux/netfilter/x_tables.h
@@ -270,6 +270,7 @@ struct xt_match
struct list_head list;

const char name[XT_FUNCTION_MAXNAMELEN-1];
+ u_int8_t revision;

/* Return true or false: return FALSE and set *hotdrop = 1 to
force immediate packet drop. */
@@ -302,7 +303,6 @@ struct xt_match
unsigned short proto;

unsigned short family;
- u_int8_t revision;
};

/* Registration hooks for targets. */


2008-12-15 13:10:58

by Patrick McHardy

[permalink] [raw]
Subject: Re: [netfilter-core] [PATCH] netfilter: remove padding from struct xt_match on 64bit builds

Richard Kennedy wrote:
> reorder struct xt_match to remove 8 bytes of padding and make its size
> 128 bytes.
>
> This saves a small amount of data space in each of the xt netfilter
> modules and fits xt_match in one 128 byte cache line.

Applied, thanks.