kNFSd - 3 of 3 - Release udp socket for next nfs request to arrive earlier
Subsystems (3)
PATCH 1/1 kNFSd - 3 of 3 - Release udp socket for next nfs request to arrive earlier
### Comments for ChangeSet
From: Mark Hemment <[email protected]>
For RPC over UDP, after receiving a packet kick another thread as soon
as possible. This helps NFS performance.
----------- Diffstat output ------------
./net/sunrpc/svcsock.c | 13 ++++++------- 1 files changed, 6 insertions(+), 7 deletions(-)
net/sunrpc/svcsock.c renamed from net/sunrpc/svcsock.c~current~ +6 -7
@@ -592,8 +592,14 @@ svc_udp_recvfrom(struct svc_rqst *rqstp)/* possibly an icmp error */ dprintk ("svc: recvfrom returned error %d\n" , -err); } + svsk->sk_sk->sk_stamp = skb->stamp;set_bit (SK_DATA , &svsk->sk_flags);/* there may be more data... */ +/* +* Maybe more packets - kick another thread ASAP. +*/ +svc_sock_received (svsk); + len = skb->len -sizeof (struct udphdr ); rqstp->rq_arg.len = len;
@@ -605,8 +611,6 @@ svc_udp_recvfrom(struct svc_rqst *rqstp) rqstp->rq_addr.sin_addr.s_addr = skb->nh.iph->saddr; rqstp->rq_daddr = skb->nh.iph->daddr; - svsk->sk_sk->sk_stamp = skb->stamp; -if (skb_is_nonlinear (skb)) {/* we have to copy */ local_bh_disable ();
@@ -614,7 +618,6 @@ svc_udp_recvfrom(struct svc_rqst *rqstp)local_bh_enable ();/* checksum error */ skb_free_datagram (svsk->sk_sk, skb); -svc_sock_received (svsk);return 0 ; }local_bh_enable ();
@@ -626,7 +629,6 @@ svc_udp_recvfrom(struct svc_rqst *rqstp)if (skb->ip_summed !=CHECKSUM_UNNECESSARY ) {if ((unsigned short )csum_fold (skb_checksum (skb,0 , skb->len, skb->csum))) {skb_free_datagram (svsk->sk_sk, skb); -svc_sock_received (svsk);return 0 ; } skb->ip_summed =CHECKSUM_UNNECESSARY ;
@@ -646,9 +648,6 @@ svc_udp_recvfrom(struct svc_rqst *rqstp)if (serv->sv_stats) serv->sv_stats->netudpcnt++; -/* One down, maybe more to go... */ -svc_sock_received (svsk); -return len; }
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs