[PATCH 00/32] Swap over NFS - v19 - Kernel

This is a discussion on [PATCH 00/32] Swap over NFS - v19 - Kernel ; From: Peter Zijlstra Date: Thu, 02 Oct 2008 15:05:21 +0200 > Add some packet-split receive hooks. > > For one this allows to do NUMA node affine page allocs. Later on these hooks > will be extended to do emergency ...

+ Reply to Thread
Page 3 of 3 FirstFirst 1 2 3
Results 41 to 46 of 46

Thread: [PATCH 00/32] Swap over NFS - v19

  1. Re: [PATCH 17/32] net: packet split receive api

    From: Peter Zijlstra
    Date: Thu, 02 Oct 2008 15:05:21 +0200

    > Add some packet-split receive hooks.
    >
    > For one this allows to do NUMA node affine page allocs. Later on these hooks
    > will be extended to do emergency reserve allocations for fragments.
    >
    > Signed-off-by: Peter Zijlstra


    The individual driver changes get a bunch of rejects in the net-next-2.6
    tree, and you also missed some drivers such as NIU that also should use
    these new interfaces.

    So what I did for now was add just the non-driver parts that add the
    interfaces themselves.

    Thanks!

    --
    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/

  2. Re: [PATCH 18/32] net: sk_allocation() - concentrate socket related allocations

    From: Peter Zijlstra
    Date: Thu, 02 Oct 2008 15:05:22 +0200

    > @@ -952,6 +955,7 @@ static void tcp_v6_send_reset(struct soc
    > #ifdef CONFIG_TCP_MD5SIG
    > struct tcp_md5sig_key *key;
    > #endif
    > + gfp_t gfp_mask = GFP_ATOMIC;
    >
    > if (th->rst)
    > return;
    > @@ -969,13 +973,16 @@ static void tcp_v6_send_reset(struct soc
    > tot_len += TCPOLEN_MD5SIG_ALIGNED;
    > #endif
    >
    > + if (sk)
    > + gfp_mask = sk_allocation(skb->sk, gfp_mask);
    > +
    > /*
    > * We need to grab some memory, and put together an RST,
    > * and then put it into the queue to be sent.
    > */
    >
    > buff = alloc_skb(MAX_HEADER + sizeof(struct ipv6hdr) + tot_len,
    > - GFP_ATOMIC);
    > + sk_allocation(sk, GFP_ATOMIC));
    > if (buff == NULL)
    > return;
    >


    I don't think this is doing what you intend it to do.

    First, you're conditionally calling sk_allocation() if
    'sk' is non-NULL. But then later you unconditionally
    use sk_allocation() in the alloc_skb() call.

    Furthermore, in the conditionalized case you're using
    "skb->sk" instead of plain "sk" which is what you actually
    checked against NULL.

    I have no fundamental problem with this change, so please
    audit this patch for similar problems, fix them all up,
    and resubmit.

    I'm also tossing the rest of your networking changes since
    they'll have some dependency on this one, please resend those
    at the same time as the fixed up version of this one.

    Thanks.
    --
    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/

  3. Re: [PATCH 16/32] net: wrap sk->sk_backlog_rcv()

    From: Peter Zijlstra
    Date: Thu, 02 Oct 2008 15:05:20 +0200

    > Wrap calling sk->sk_backlog_rcv() in a function. This will allow extending the
    > generic sk_backlog_rcv behaviour.
    >
    > Signed-off-by: Peter Zijlstra


    Looks fine, applied to net-next-2.6, thanks!
    --
    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/

  4. Re: split-lru performance mesurement part2

    Andrew Morton wrote:

    > dbench is pretty chaotic and it could be that a good change causes
    > dbench to get worse. That's happened plenty of times in the past.
    >
    >
    >> Do you have any suggestion?

    >
    >
    > One of these:
    >
    > vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch
    > vm-dont-run-touch_buffer-during-buffercache-lookups.patch
    >
    > perhaps?


    Worth a try, but it could just as well be a CPU scheduler change
    that happens to indirectly impact locking

    --
    All rights reversed.
    --
    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/

  5. Re: [PATCH 18/32] net: sk_allocation() - concentrate socket related allocations

    On Tue, 2008-10-07 at 14:26 -0700, David Miller wrote:
    > From: Peter Zijlstra
    > Date: Thu, 02 Oct 2008 15:05:22 +0200
    >
    > > @@ -952,6 +955,7 @@ static void tcp_v6_send_reset(struct soc
    > > #ifdef CONFIG_TCP_MD5SIG
    > > struct tcp_md5sig_key *key;
    > > #endif
    > > + gfp_t gfp_mask = GFP_ATOMIC;
    > >
    > > if (th->rst)
    > > return;
    > > @@ -969,13 +973,16 @@ static void tcp_v6_send_reset(struct soc
    > > tot_len += TCPOLEN_MD5SIG_ALIGNED;
    > > #endif
    > >
    > > + if (sk)
    > > + gfp_mask = sk_allocation(skb->sk, gfp_mask);
    > > +
    > > /*
    > > * We need to grab some memory, and put together an RST,
    > > * and then put it into the queue to be sent.
    > > */
    > >
    > > buff = alloc_skb(MAX_HEADER + sizeof(struct ipv6hdr) + tot_len,
    > > - GFP_ATOMIC);
    > > + sk_allocation(sk, GFP_ATOMIC));
    > > if (buff == NULL)
    > > return;
    > >

    >
    > I don't think this is doing what you intend it to do.
    >
    > First, you're conditionally calling sk_allocation() if
    > 'sk' is non-NULL. But then later you unconditionally
    > use sk_allocation() in the alloc_skb() call.
    >
    > Furthermore, in the conditionalized case you're using
    > "skb->sk" instead of plain "sk" which is what you actually
    > checked against NULL.
    >
    > I have no fundamental problem with this change, so please
    > audit this patch for similar problems, fix them all up,
    > and resubmit.
    >
    > I'm also tossing the rest of your networking changes since
    > they'll have some dependency on this one, please resend those
    > at the same time as the fixed up version of this one.


    You're right - Suresh Jayaraman hit an oops here, just fixing up that
    obviously mis-merged conditional didn't fix it for him. So I'll work on
    fixing this for him.

    Then I'll make a new patch-series against linux-next and include the
    driver parts you left out of 17.

    Thanks!

    --
    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/

  6. Re: [PATCH 20/32] netvm: INET reserves.

    Hi Peter,

    >>> Peter Zijlstra 10/02/08 7:06 PM >>>

    > Add reserves for INET.


    There's a typo in this patch that results in a Oops like the one below
    when doing `sysctl -a'


    RIP: 0010:[] []
    __mutex_lock_slowpath+0x34/0xc9

    Call Trace:
    [] mutex_lock+0x1a/0x1e
    [] proc_dointvec_route+0x38/0xad
    [] proc_sys_call_handler+0x91/0xb8
    [] vfs_read+0xaa/0x153
    [] sys_read+0x45/0x6e
    [] system_call_fastpath+0x16/0x1b
    [<00007fb25e415880>] 0x7fb25e415880




    Index: linux-2.6/net/ipv4/route.c
    ================================================== =================
    --- linux-2.6.orig/net/ipv4/route.c
    +++ linux-2.6/net/ipv4/route.c

    /* Deprecated. Use gc_min_interval_ms */
    @@ -3271,6 +3330,15 @@ int __init ip_rt_init(void)
    ipv4_dst_ops.gc_thresh = (rt_hash_mask + 1);
    ip_rt_max_size = (rt_hash_mask + 1) * 16;

    +#ifdef CONFIG_PROCFS

    Should be CONFIG_PROC_FS

    + mutex_init(&ipv4_route_lock);
    +#endif
    +
    + mem_reserve_init(&ipv4_route_reserve, "IPv4 route cache",
    + &net_rx_reserve);
    + mem_reserve_kmem_cache_set(&ipv4_route_reserve,
    + ipv4_dst_ops.kmem_cachep, ip_rt_max_size);
    +
    devinet_init();
    ip_fib_init();


    Thanks,

    --
    Suresh Jayaraman
    --
    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/

+ Reply to Thread
Page 3 of 3 FirstFirst 1 2 3