From: David Vrabel <david.vrabel@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Paul Durrant <Paul.Durrant@citrix.com>,
"Wei Liu (Intern)" <wei.liu2@citrix.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>
Subject: Re: [Xen-devel] [RFC PATCH 3/6] netback: switch to NAPI + kthread model
Date: Mon, 16 Jan 2012 11:46:03 +0000 [thread overview]
Message-ID: <4F140DFB.60009@citrix.com> (raw)
In-Reply-To: <1326712173.17210.412.camel@zakaz.uk.xensource.com>
On 16/01/12 11:09, Ian Campbell wrote:
> I think you'd want to keep moving the event pointer to
> handle wrap around, i.e. by keeping it always either far enough away or
> right behind. (I think "req_cons - 1" is probably the correct option
> BTW).
When using RING_FINAL_CHECK_FOR_REQUESTS() as-is you will get an
additional spurious event every 4 billion events.
Something like this would fix it.
#define RING_FINAL_CHECK_FOR_REQUESTS(_r, _work_to_do) do {
(_work_to_do) = RING_HAS_UNCONSUMED_REQUESTS(_r);
if (_work_to_do) {
/* ensure req_event is always in the past to avoid spurious
interrupt on wrap-around. */
(_r)->sring->req_event = (_r)->req_cons;
break;
}
(_r)->sring->req_event = (_r)->req_cons + 1;
mb();
(_work_to_do) = RING_HAS_UNCONSUMED_REQUESTS(_r);
} while (0)
And similarly for RING_FINAL_CHECK_FOR_RESPONSES().
David
next prev parent reply other threads:[~2012-01-16 11:46 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-13 16:59 [RFC PATCH] New Xen netback implementation Wei Liu
2012-01-13 16:59 ` [RFC PATCH 1/6] netback: page pool version 1 Wei Liu
2012-01-13 17:37 ` Konrad Rzeszutek Wilk
2012-01-16 9:31 ` Wei Liu
2012-01-16 9:31 ` Wei Liu
2012-01-13 16:59 ` [RFC PATCH 2/6] netback: add module unload function Wei Liu
2012-01-13 17:57 ` [Xen-devel] " David Vrabel
2012-01-16 9:31 ` Wei Liu
2012-01-16 9:31 ` Wei Liu
2012-01-13 18:47 ` David Vrabel
2012-01-13 16:59 ` [RFC PATCH 3/6] netback: switch to NAPI + kthread model Wei Liu
2012-01-13 18:21 ` [Xen-devel] " David Vrabel
2012-01-13 18:21 ` David Vrabel
2012-01-16 9:33 ` Wei Liu
2012-01-16 9:33 ` Wei Liu
2012-01-16 10:45 ` Ian Campbell
2012-01-16 10:49 ` Wei Liu
2012-01-16 10:49 ` Wei Liu
2012-01-16 10:56 ` Paul Durrant
2012-01-16 11:09 ` Ian Campbell
2012-01-16 11:46 ` David Vrabel [this message]
2012-01-16 10:14 ` Paul Durrant
2012-01-16 10:14 ` Paul Durrant
2012-01-16 10:31 ` Ian Campbell
2012-01-13 16:59 ` [RFC PATCH 4/6] netback: add module get/put operations along with vif connect/disconnect Wei Liu
2012-01-13 18:44 ` [Xen-devel] " David Vrabel
2012-01-16 9:43 ` Wei Liu
2012-01-16 9:43 ` Wei Liu
2012-01-13 16:59 ` [RFC PATCH 5/6] netback: melt xen_netbk into xenvif Wei Liu
2012-01-13 16:59 ` [RFC PATCH 6/6] netback: alter internal function/structure names Wei Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F140DFB.60009@citrix.com \
--to=david.vrabel@citrix.com \
--cc=Ian.Campbell@citrix.com \
--cc=Paul.Durrant@citrix.com \
--cc=konrad.wilk@oracle.com \
--cc=netdev@vger.kernel.org \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.