From: Santiago Leon <santil@us.ibm.com>
To: Andrew Morton <akpm@osdl.org>
Cc: Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2.6] ibmveth bug fixes 4/4
Date: Tue, 10 Aug 2004 19:40:10 -0500 [thread overview]
Message-ID: <41196AEA.1060700@us.ibm.com> (raw)
In-Reply-To: <41190E97.2050705@us.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 289 bytes --]
Andrew...
I had discussion over email with Dave Hansen about this patch and after
I explained the bug and the fix, he recommended that I include a comment
in the patch. So here's an updated patch. Please apply.
--
Santiago A. Leon
Power Linux Development
IBM Linux Technology Center
[-- Attachment #2: ibmveth_rmb.patch --]
[-- Type: text/plain, Size: 941 bytes --]
===== drivers/net/ibmveth.c 1.14 vs edited =====
--- 1.14/drivers/net/ibmveth.c Tue Aug 10 19:09:45 2004
+++ edited/drivers/net/ibmveth.c Tue Aug 10 19:30:10 2004
@@ -271,7 +271,6 @@
adapter->rx_no_buffer = *(u64*)(((char*)adapter->buffer_list_addr) + 4096 - 8);
atomic_inc(&adapter->not_replenishing);
- ibmveth_assert(atomic_read(&adapter->not_replenishing) == 1);
}
/* kick the replenish tasklet if we need replenishing and it isn't already running */
@@ -733,6 +732,14 @@
if(ibmveth_rxq_pending_buffer(adapter)) {
struct sk_buff *skb;
+
+ /* This barrier is necessary because we might be
+ reading a control dword and then reading an old
+ cached correlator dword. Also, the hypervisor
+ guarantees that the control field will be globally
+ visible after all the other fields are visible,
+ */
+ rmb();
if(!ibmveth_rxq_buffer_valid(adapter)) {
wmb(); /* suggested by larson1 */
next prev parent reply other threads:[~2004-08-11 0:40 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-10 18:06 [PATCH 2.6] ibmveth bug fixes 4/4 Santiago Leon
2004-08-11 0:40 ` Santiago Leon [this message]
2004-08-11 1:30 ` Santiago Leon
2004-08-15 20:01 ` Andrew Morton
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=41196AEA.1060700@us.ibm.com \
--to=santil@us.ibm.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
/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.