From: Brice Goglin <brice@myri.com>
To: Francois Romieu <romieu@fr.zoreil.com>
Cc: netdev@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
"Andrew J. Gallatin" <gallatin@myri.com>
Subject: Re: [PATCH 4/6] myri10ge - First half of the driver
Date: Fri, 12 May 2006 01:53:44 +0200 [thread overview]
Message-ID: <4463CE88.20301@myri.com> (raw)
In-Reply-To: <20060510231347.GC25334@electric-eye.fr.zoreil.com>
Francois Romieu wrote:
>
>> + spin_lock(&mgp->cmd_lock);
>> + response->result = 0xffffffff;
>> + mb();
>> + myri10ge_pio_copy((void __iomem *) cmd_addr, buf, sizeof (*buf));
>> +
>> + /* wait up to 2 seconds */
>>
>
> You must not hold a spinlock for up to 2 seconds.
>
We are working on reducing the delay to about 15ms. It only occurs when
the driver is loaded or the link brought up.
>> + for (sleep_total = 0; sleep_total < (2 * 1000); sleep_total += 10) {
>> + mb();
>> + if (response->result != 0xffffffff) {
>> + if (response->result == 0) {
>> + data->data0 = ntohl(response->data);
>> + spin_unlock(&mgp->cmd_lock);
>> + return 0;
>> + } else {
>> + dev_err(&mgp->pdev->dev,
>> + "command %d failed, result = %d\n",
>> + cmd, ntohl(response->result));
>> + spin_unlock(&mgp->cmd_lock);
>> + return -ENXIO;
>>
>
> Return in a middle of a spinlock-intensive function. :o(
>
What do you mean ?
>
>> +{
>> + struct sk_buff *skb;
>> + unsigned long data, roundup;
>> +
>> + skb = dev_alloc_skb(bytes + 4096 + MYRI10GE_MCP_ETHER_PAD);
>> + if (skb == NULL)
>> + return NULL;
>>
>
> Imho you will want to work directly with pages shortly.
>
We had thought about doing this, but were a little nervous since we did
not know of any other drivers that worked directly with pages. If this
is an official direction to work directly with pages, we will. But the
existing approach is well tested through our beta cycle, and we would
prefer to leave it as is and update to a pages based approach in the
future.
Thanks a lot for all the comments.
Brice
next prev parent reply other threads:[~2006-05-11 23:53 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-10 21:22 [PATCH 0/6] myri10ge - Myri-10G Ethernet driver Brice Goglin
2006-05-10 21:34 ` [PATCH 1/6] myri10ge - Revive pci_find_ext_capability Brice Goglin
2006-05-10 21:35 ` [PATCH 2/6] myri10ge - Add missing PCI IDs Brice Goglin
2006-05-10 21:52 ` Andi Kleen
2006-05-10 21:36 ` [PATCH 3/6] myri10ge - Driver header files Brice Goglin
2006-05-10 21:57 ` Roland Dreier
2006-05-10 22:00 ` Stephen Hemminger
2006-05-10 22:02 ` Francois Romieu
2006-05-10 21:40 ` [PATCH 4/6] myri10ge - First half of the driver Brice Goglin
2006-05-10 22:01 ` Stephen Hemminger
2006-05-10 22:06 ` Roland Dreier
2006-05-10 22:04 ` Roland Dreier
2006-05-11 23:53 ` Brice Goglin
2006-05-10 23:13 ` Francois Romieu
2006-05-11 23:53 ` Brice Goglin [this message]
2006-05-12 6:47 ` Evgeniy Polyakov
2006-05-12 17:40 ` David S. Miller
2006-05-13 16:13 ` Francois Romieu
2006-05-15 17:02 ` Lee Revell
2006-05-15 17:39 ` Brice Goglin
2006-05-10 21:42 ` [PATCH 5/6] myri10ge - Second " Brice Goglin
2006-05-10 22:22 ` Stephen Hemminger
[not found] ` <200605111924.33125.netdev@axxeo.de>
2006-05-11 18:28 ` [PATCH] expose simplified skb_checksum_recalc Stephen Hemminger
2006-05-11 18:40 ` Ingo Oeser
2006-05-12 19:52 ` David S. Miller
2006-05-11 23:53 ` [PATCH 5/6] myri10ge - Second half of the driver Brice Goglin
2006-05-12 0:31 ` Herbert Xu
2006-05-10 21:43 ` [PATCH 6/6] myri10ge - Kconfig and Makefile Brice Goglin
2006-05-13 18:51 ` Adrian Bunk
2006-05-13 18:56 ` Brice Goglin
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=4463CE88.20301@myri.com \
--to=brice@myri.com \
--cc=gallatin@myri.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=romieu@fr.zoreil.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).