From: Andi Kleen <ak@suse.de>
To: Corey Minyard <minyard@acm.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Problem with NETIF_F_HIGHDMA
Date: 22 Feb 2006 21:45:30 +0100 [thread overview]
Message-ID: <p73lkw32kd1.fsf@verdi.suse.de> (raw)
In-Reply-To: <43FCB1B3.8090101@acm.org>
Corey Minyard <minyard@acm.org> writes:
> I was looking at a problem with a new system we are trying to get up and
> running. It has a 32-bit only PCI network device, but is a 64-bit
> (x86_64) system. Looking at the code for NETIF_F_HIGHDMA (which, when
> not set on a PCI network device, means that it cannot do 64-bit
> accesses) in net/core/dev.c, it seems wrong to me.
> It is dependent on HIGHMEM, but HIGHMEM has nothing to do with 32/64 bit
> accesses. On 64-bit systems, HIGHMEM is not set, thus the network code
> will pass any address (including those >32bits) to the driver. Plus,
> highmem on 32-bit systems may very well be 32-bit accessible, possibly
> resulting in unecessary copies. AFAICT, the current code will only work
> with i386 and PAE and is sub-optimal.
x86-64 uses the PCI DMA API to handle this. NETIF_F_HIGHDMA is only
a i386 specific hack, mostly to work around the fact that not all
memory might be accessible from the CPU and thus break PIO drivers.
This problem doesn't exist on 64bit.
-Andi
prev parent reply other threads:[~2006-02-22 20:45 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-22 18:47 Problem with NETIF_F_HIGHDMA Corey Minyard
2006-02-22 18:51 ` Arjan van de Ven
2006-02-22 20:14 ` Corey Minyard
2006-02-22 20:21 ` Arjan van de Ven
2006-02-23 13:14 ` David Woodhouse
2006-02-22 19:07 ` Chris Wright
2006-02-22 20:45 ` Andi Kleen [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=p73lkw32kd1.fsf@verdi.suse.de \
--to=ak@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=minyard@acm.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.