From: Michael Schmitz <schmitzmic@googlemail.com>
To: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
linux-m68k@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH] m68k/atari: EtherNEC - rewrite to use mainstream ne.c, take two
Date: Thu, 05 Apr 2012 21:44:14 +1200 [thread overview]
Message-ID: <4F7D696E.8010301@gmail.com> (raw)
In-Reply-To: <4F7CB31D.8060002@windriver.com>
Hi Paul,
(Apologies to all for botching the patch format ...)
>> Regarding your suggestion that netpoll be used instead of a dedicated
>> timer interrupt: no changes to ne.c or 8390p.c are required to use
>> netpoll, it all works out of the box. All that is needed to use the
>> driver with netpoll is setting the device interrupt to some source that
>> can be registered, and enabling CONFIG_NETPOLL. Interrupt rate and hence
>> throughput is lower with netpoll though, which is why I still prefer the
>> dedicated timer option.
>>
>
> How much lower? Enough to matter? Implicit in that question is
> the assumption that this is largely a hobbyist platform and nobody
> is using it in a closet to route gigabytes of traffic.
>
I'd say about at least double latency. I can try and measure bulk data
rates if it matters. My gut feeling is latency limits data rates even
when say behind a DSL modem for downloads. It sure did when my Falcon
was still hooked up to a university network, uploading and downloading
source and binary packages for Debian/68k.
Of course you're not routing gigabytes of traffic with this (where to -
a PPP connection? :). Whoever wants minimum latency better reach for the
soldering iron and wire up the interrupt line to some suitable input.
> Also, the only advantage to modifying ne.c is to allow dumping
> the old driver. What is the "remove soon" plan? Any reason
> for it to not be synchronous? That would eliminate the Kconfig
> churn and the introduction of the _OLD option. Modifying ne.c
> and then deciding to keep the old driver because it is "faster"
> would make this change pointless.
>
As soon as eventual changes to ne.c get accepted. If you want us to drop
the old driver in the same patch, fine by me.
>> diff --git a/drivers/net/ethernet/8390/8390.h
>> b/drivers/net/ethernet/8390/8390.h
>> index ef325ff..9416245 100644
>> --- a/drivers/net/ethernet/8390/8390.h
>> +++ b/drivers/net/ethernet/8390/8390.h
>> @@ -32,6 +32,14 @@ extern void ei_poll(struct net_device *dev);
>> extern void eip_poll(struct net_device *dev);
>> #endif
>>
>> +/* Some platforms may need special IRQ flags */
>> +#if IS_ENABLED(CONFIG_ATARI_ETHERNEC)
>> +# define EI_IRQ_FLAGS IRQF_SHARED
>> +#endif
>> +
>> +#ifndef EI_IRQ_FLAGS
>> +# define EI_IRQ_FLAGS 0
>> +#endif
>>
>
> This seems more klunky than it needs to be. If we assume that anyone
> building ne.c on atari is hence trying to drive an ethernec device
> than it can just be
>
> #ifdef CONFIG_ATARI
> #define EI_IRQ_FLAGS IRQF_SHARED
> #else
> #define EI_IRQ_FLAGS 0
> #endif
>
>
Pretty safe assumption - if we further assume no other arch has reason
to resort to such a kludge, we can simplify it this way.
>> --- a/drivers/net/ethernet/8390/ne.c
>> +++ b/drivers/net/ethernet/8390/ne.c
>> @@ -165,7 +165,8 @@ bad_clone_list[] __initdata = {
>> #if defined(CONFIG_PLAT_MAPPI)
>> # define DCR_VAL 0x4b
>> #elif defined(CONFIG_PLAT_OAKS32R) || \
>> - defined(CONFIG_MACH_TX49XX)
>> + defined(CONFIG_MACH_TX49XX) || \
>> + IS_ENABLED(CONFIG_ATARI_ETHERNEC)
>>
>
> Rather than use IS_ENABLED on a driver setting, you can follow
> the surrounding context and use defined(CONFIG_ATARI) -- i.e.
> work off a platform setting.
>
True as well, point taken. Is the patch acceptable with these changes?
If so, would you be OK with this going through Geert's tree?
Cheers,
Michael
next prev parent reply other threads:[~2012-04-05 9:44 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-20 18:57 [PATCH] m68k/atari: EtherNEC - Convert ETHER_ADDR_LEN uses to ETH_ALEN Geert Uytterhoeven
2012-02-27 7:07 ` [PATCH] m68k/atari: EtherNEC - rewrite to use mainstream ne.c Michael Schmitz
2012-03-07 10:09 ` Geert Uytterhoeven
2012-03-07 18:42 ` Michael Schmitz
2012-04-01 3:02 ` [PATCH 3/5] m68k/atari: EtherNAT - register EtherNAT platform devices only when probed Michael Schmitz
2012-04-01 3:05 ` [PATCH 4/5] m68k/atari: EtherNAT - fix dumb compile error Michael Schmitz
2012-04-01 3:10 ` [PATCH 5/5] m68k/atari: EtherNAT - enable USB HCD config option on Atari Michael Schmitz
2012-04-01 4:57 ` [PATCH 6/5] m68k/atari: EtherNAT - use correct irq flag in atari_91C111 Michael Schmitz
2012-04-01 5:57 ` [PATCH 6/5] m68k/atari: set up timer D and register dummy handler if either EtherNEC or EtherNAT found Michael Schmitz
2012-03-09 3:11 ` [PATCH] m68k/atari: EtherNEC - rewrite to use mainstream ne.c Paul Gortmaker
2012-03-09 4:58 ` Michael Schmitz
2012-03-09 6:35 ` Geert Uytterhoeven
2012-03-09 13:32 ` Paul Gortmaker
2012-03-11 6:31 ` Michael Schmitz
2012-04-01 8:49 ` [PATCH] m68k/atari: EtherNEC - rewrite to use mainstream ne.c, take two Michael Schmitz
2012-04-03 22:52 ` David Miller
2012-04-04 20:46 ` Paul Gortmaker
2012-04-05 9:28 ` Geert Uytterhoeven
2012-04-05 13:24 ` Paul Gortmaker
2012-04-05 14:21 ` Geert Uytterhoeven
2012-04-05 22:10 ` Michael Schmitz
2012-04-06 8:28 ` Geert Uytterhoeven
2012-04-05 9:44 ` Michael Schmitz [this message]
2012-04-01 2:49 ` [PATCH 1/5] m68k/atari: EtherNAT - change number of Atari interrupts to make room for EtherNAT interrupts Michael Schmitz
2012-04-01 20:39 ` Geert Uytterhoeven
2012-04-01 22:44 ` Michael Schmitz
2012-04-02 7:35 ` Geert Uytterhoeven
2012-04-02 22:29 ` Michael Schmitz
2012-04-03 21:15 ` Michael Schmitz
2012-04-03 21:54 ` Thorsten Glaser
2012-04-03 22:21 ` Michael Schmitz
2012-04-03 22:31 ` Thorsten Glaser
2012-04-03 23:16 ` Michael Schmitz
2012-04-06 21:43 ` Michael Schmitz
2012-04-01 21:00 ` Andreas Schwab
2012-04-01 21:46 ` Thorsten Glaser
2012-04-01 22:27 ` Michael Schmitz
2012-04-02 1:15 ` [PATCH] m68k/atari: EtherNAT patch series - resent as attachments Michael Schmitz
2012-04-01 2:58 ` [PATCH 2/5] m68k/atari: EtherNAT - add ISP1160 platform data Michael Schmitz
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=4F7D696E.8010301@gmail.com \
--to=schmitzmic@googlemail.com \
--cc=geert@linux-m68k.org \
--cc=linux-m68k@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=paul.gortmaker@windriver.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