Hi,
Commit log says it all.
Signed-off-by: Balazs Scheidler <[EMAIL PROTECTED]>
diff-tree a262e285077cb1604c25c5de99d71bbf739823e2 (from
684a28105211367d9040ee945cead597912cc49e)
Author: Balazs Scheidler <[EMAIL PROTECTED](none)>
Date: Sun Aug 7 20:23:59 2005 +0200
As discussed [1] in a previous thread by DaveM and Harald the use of arrays
in BSS should be avoided if possible.
This simple patch converts the XFRM code to use __get_free_pages instead of
statically allocated arrays.
[1] http://marc.theaimsgroup.com/?l=linux-netdev&m=112236788222811&w=2
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -35,8 +35,8 @@ static DEFINE_SPINLOCK(xfrm_state_lock);
* Main use is finding SA after policy selected tunnel or transport mode.
* Also, it can be used by ah/esp icmp error handler to find offending SA.
*/
-static struct list_head xfrm_state_bydst[XFRM_DST_HSIZE];
-static struct list_head xfrm_state_byspi[XFRM_DST_HSIZE];
+static struct list_head *xfrm_state_bydst;
+static struct list_head *xfrm_state_byspi;
DECLARE_WAIT_QUEUE_HEAD(km_waitq);
EXPORT_SYMBOL(km_waitq);
@@ -1097,6 +1097,8 @@ void __init xfrm_state_init(void)
{
int i;
+ xfrm_state_bydst = (struct list_head *) __get_free_pages(GFP_KERNEL,
get_order(sizeof(struct list_head) * XFRM_DST_HSIZE * 2));
+ xfrm_state_byspi = &xfrm_state_bydst[XFRM_DST_HSIZE];
for (i=0; i<XFRM_DST_HSIZE; i++) {
INIT_LIST_HEAD(&xfrm_state_bydst[i]);
INIT_LIST_HEAD(&xfrm_state_byspi[i]);
--
Bazsi
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html