All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH][RFC] correction trouble of short message in UDP
@ 2007-01-25 11:04 Tomonari Horikoshi
  2007-01-25 12:26 ` Keir Fraser
  0 siblings, 1 reply; 7+ messages in thread
From: Tomonari Horikoshi @ 2007-01-25 11:04 UTC (permalink / raw)
  To: xen-devel; +Cc: xen-ia64-devel

[-- Attachment #1: Mail message body --]
[-- Type: text/plain, Size: 2159 bytes --]


Hi all.

I modified the patch to the following trouble.

"When I executed "netperf" by a short message of UDP, 
 PV domain issued Call trace."

This error occurs because earliness grant is filled from 
the queue check of tx_slot when a lot of message is sent. 

I stopped "Add netfornt tx_queue_len" being used, and I was added to check 
gnttab_empty_grant_references() in netfront_tx_slot_available().


I confirmed the not error because of this correction. 
Is there a better correction?


Best regards.

Tomonari Horikoshi,


Tomonari Horikoshi wrote:----------------------
Sent:    Thu, 25 Jan 2007 13:44:30 +0900
Subject: Re: [Xen-devel] [PATCH] Add netfornt tx_queue_len

> Hi Herbert-san
> 
> Thank you for your comment.
> 
> I agreed.
> I examine the another way. 
> 
> It is likely to go well if something is added to the check 
> on netfront_tx_slot_available(). 
> 
> Best regards.
> 
> Tomonari Horikoshi,
> 
> Herbert Xu wrote:----------------------
> Sent:    Wed, 24 Jan 2007 13:29:51 +1100
> Subject: Re: [Xen-devel] [PATCH] Add netfornt tx_queue_len
> 
> > On Wed, Jan 24, 2007 at 01:37:55AM +0000, Tomonari Horikoshi wrote:
> > > 
> > > When I executed "netperf" by a short message of UDP, 
> > > PV domain and PV-on-HVM driver issued Call trace.
> > > 
> > > I think that GrantEntry was filled with a lot of messages processings.
> > > 
> > > This problem is generated in IA64 only.
> > > Probably, I think that I am the following problems. 
> > > 
> > >   In IA64
> > >     NET_TX_RING_SIZE 1024,  NR_GRANT_ENTRIES 2048
> > >   In x86
> > >     NET_TX_RING_SIZE  256,  NR_GRANT_ENTRIES 2048
> > > 
> > > I corrected to check "number of unprocessing queue > tx_queue_len" before Grant was filled.
> > > 
> > > However, my correction influences x86. 
> > > Please teach to me in that when there is a better improvement. 
> > 
> > Sorry, but this patch looks bogus.  The tx queue is maintained by
> > Linux and has nothing to do with the driver.  So limiting its length
> > based on internal state of the driver can't be right.
> > 
> > We need to find out what's really going wrong with the grant table
> > entries here.
> > 
> > Cheers,



[-- Attachment #2: netfront_chk_grant.patch --]
[-- Type: application/octet-stream, Size: 825 bytes --]

# HG changeset patch
# User t.horikoshi@jp.fujisu.com
# Date 1169712349 -32400
# Node ID fef672b56e77ed6ce66fc6b97b89bc4e8c677b6a
# Parent  b4df7de0cbf7530c3248956243bc9c520db2d609
netfront add check grant reference

Signed-off-by: Tomonari Horikoshi <t.horikoshi@jp.fujitsu.com>

diff -r b4df7de0cbf7 -r fef672b56e77 linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
--- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c	Wed Jan 24 12:28:05 2007 -0700
+++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c	Thu Jan 25 17:05:49 2007 +0900
@@ -613,6 +613,9 @@ static int network_open(struct net_devic
 
 static inline int netfront_tx_slot_available(struct netfront_info *np)
 {
+	if( gnttab_empty_grant_references(&np->gref_tx_head) )
+		return 0;
+
 	return RING_FREE_REQUESTS(&np->tx) >= MAX_SKB_FRAGS + 2;
 }
 

[-- Attachment #3: Type: text/plain, Size: 152 bytes --]

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-01-25 14:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-25 11:04 [PATCH][RFC] correction trouble of short message in UDP Tomonari Horikoshi
2007-01-25 12:26 ` Keir Fraser
2007-01-25 13:40   ` Herbert Xu
2007-01-25 14:03     ` Keir Fraser
2007-01-25 14:06       ` Keir Fraser
2007-01-25 14:17       ` Herbert Xu
2007-01-25 14:21         ` Herbert Xu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.