netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pekka Pietikainen <pp@ee.oulu.fi>
To: "David S. Miller" <davem@davemloft.net>
Cc: Andrew Morton <akpm@osdl.org>, netdev@oss.sgi.com
Subject: Re: Fw: b44 ifconfig fails with ENOMEM
Date: Fri, 21 Jan 2005 02:32:22 +0200	[thread overview]
Message-ID: <20050121003222.GA4290@ee.oulu.fi> (raw)
In-Reply-To: <20050107220233.GA9639@ee.oulu.fi>

On Sat, Jan 08, 2005 at 12:02:33AM +0200, Pekka Pietikainen wrote:
> On Tue, Jan 04, 2005 at 02:20:26PM -0800, David S. Miller wrote:
> > On Mon, 3 Jan 2005 19:18:36 -0800
> > Andrew Morton <akpm@osdl.org> wrote:
> > 
> > > b44 requires an order-8 allocation?  Good luck...
> > 
> > Yes, it allocates a full TX ring worth of bounce buffers
> > to work around a DMA addressing limitation.  It should do
> > a bunch of smaller consistent allocations instead of one
> > huge one, that's for sure.
> -ENOHARDWARE (Santa got me an Athlon64 with dual GigE) so someone else will
> have to pick up the ball. Shouldn't be too difficult, quickly thinking
> something like:
Found some testers, even when the allocations are done a page at a time it
still won't work, something else is always sucking up GFP_DMA. I don't think
there really a way to work around the DMA issue and be useful to the 99% of
the userbase that don't need the workaround (only people with a non-standard
VM layout actually do). IIRC making the ring smaller makes it crash and 
burn for whatever reason so that's not a solution either.

Awful kludge of the day would be to just fake having a 4GB DMA mask and
check every consistent allocation until something over 1GB gets used, then 
set the mask correctly to 1GB and watch the kernel give you <=16MB mem...

or the even more trivial:

#ifdef CONFIG_4G4G 
#define B44_DMA_MASK 0x3fffffff
#else
#define B44_DMA_MASK 0xffffffff
#endif

Or fix the generic i386 PCI DMA stuff, but is that worth it for just one
driver? 

      reply	other threads:[~2005-01-21  0:32 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-04  3:18 Fw: b44 ifconfig fails with ENOMEM Andrew Morton
2005-01-04 22:20 ` David S. Miller
2005-01-07 22:02   ` Pekka Pietikainen
2005-01-21  0:32     ` Pekka Pietikainen [this message]

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=20050121003222.GA4290@ee.oulu.fi \
    --to=pp@ee.oulu.fi \
    --cc=akpm@osdl.org \
    --cc=davem@davemloft.net \
    --cc=netdev@oss.sgi.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).