lkml.org 
[lkml]   [2006]   [Nov]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: __alloc_pages() failures reported due to fragmentation
    Arjan van de Ven wrote:

    >>--- linux-2.6.18.noarch/net/core/sock.c.orig
    >>+++ linux-2.6.18.noarch/net/core/sock.c
    >>@@ -1154,7 +1154,7 @@ static struct sk_buff *sock_alloc_send_p
    >> goto failure;
    >>
    >> if (atomic_read(&sk->sk_wmem_alloc) < sk->sk_sndbuf) {
    >>- skb = alloc_skb(header_len, sk->sk_allocation);
    >>+ skb = alloc_skb(header_len, gfp_mask);
    >> if (skb) {
    >> int npages;
    >> int i;
    >>
    >>
    >
    >Hi,
    >
    >this is not actually right though... sk_allocation is very possible to
    >have a restricting mask compared to the one passed in (say "no highmem"
    >or even GFP_DMA) and you now discard this... probably better would be to
    >calculate a set of "transient" flags that you then or into the
    >sk_allocation mask at this time...
    >
    >Greetings,
    > Arjan van de Ven
    >
    >
    >
    Hi Arjan. Right but this just includes __GFP_REPEAT in the mask so we can
    defrag in __alloc_pages and only if GFP_WAIT was passed in origionally.

    Larry


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-11-03 13:51    [W:0.021 / U:31.760 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site