Re: [PATCH] starfire reads irq before pci_enable_device.

From: Donald Becker (
Date: Tue Feb 13 2001 - 20:20:35 EST

On 12 Feb 2001, Jes Sorensen wrote:

> >>>>> "Donald" == Donald Becker <> writes:
> Donald> On 9 Feb 2001, Jes Sorensen wrote:
> >> The ia64 kernel has gotten mis aligned load support, but it's slow
> >> as a dog so we really want to copy the packet every time anyway
> >> when the header is not aligned. If people send out 802.3 headers or
> >> other crap on Ethernet then it's just too bad.
> Donald> Note the word "required", meaning "must be done"
> Donald> vs. "recommended" meaning "should be done".
> Donald> The initial issue was a comment in a starfire patch that
> Donald> claimed an IA64 bug had been fixed. The copy breakpoint
> Donald> change might have improved performance by doing a copy-align,
> Donald> but it didn't fix a bug.
> I agree it was a bug, and yes it has been fixed.

There was not a bug in the driver. The bug was/is in the protocol handling
code. The protocol handling code *must* be able to handle unaligned IP

> Donald> That performance tradeoff was already anticipated: the
> Donald> 'rx_copybreak' value that was changed was a module parameter,
> In this case it just results in a performance degradation for 99% of
> the usage. What about making the change so it is optimized away unless
> IPX is enabled?

  - It's not just IPX hosts that send 802.3 headers.
  - While a good initial value might depend on the architecture, the
    best setting is processor implementation and environment dependent.
    Those details are not known at compile time.
  - The code path cost of a module option is only a compare and a
    conditional branch.

Donald Becker
Scyld Computing Corporation
410 Severn Ave. Suite 210 Second Generation Beowulf Clusters
Annapolis MD 21403 410-990-9993

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Thu Feb 15 2001 - 21:00:23 EST