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

Reply via email to