From: Jens Axboe <axboe@suse.de>
To: Andi Kleen <ak@suse.de>
Cc: Michael Monnerie <m.monnerie@zmi.at>,
linux-kernel@vger.kernel.org, suse-linux-e@suse.com,
Jeff Garzik <jgarzik@pobox.com>
Subject: Re: PCI-DMA: Out of IOMMU space on x86-64 (Athlon64x2), with solution
Date: Thu, 2 Mar 2006 10:59:59 +0100 [thread overview]
Message-ID: <20060302095959.GD4329@suse.de> (raw)
In-Reply-To: <200603020203.49128.ak@suse.de>
On Thu, Mar 02 2006, Andi Kleen wrote:
> On Thursday 02 March 2006 00:23, Michael Monnerie wrote:
> > Hello, I use SUSE 10.0 with all updates and actual kernel 2.6.13-15.8 as
> > provided from SUSE (just self compiled to optimize for Athlon64, SMP,
> > and HZ=100), with an Asus A8N-E motherboard, and an Athlon64x2 CPU.
> > This host is used with VMware GSX server running 6 Linux client and one
> > Windows client host. There's a SW-RAID1 using 2 SATA HDs.
>
> Nvidia hardware SATA cannot directly DMA to > 4GB, so it
> has to go through the IOMMU. And in that kernel the Nforce
> ethernet driver also didn't do >4GB access, although the ethernet HW
> is theoretically capable.
>
> Maybe VMware pins unusually much IO memory in flight (e.g. by using
> a lot of O_DIRECT). That could potentially cause the IOMMU to fill up.
> The RAID-1 probably also makes it worse because it will double the IO
> mapping requirements.
>
> Or you have a leak in some driver, but if the problem goes away
> after enlarging the IOMMU that's unlikely.
>
> What would probably help is to get a new SATA controller that can
> access >4GB natively and at some point update to a newer kernel
> with newer forcedeth driver. Or just run with the enlarged IOMMU.
libata should also handle this case better. Usually we just need to
defer command handling if the dma_map_sg() fails. Changing
ata_qc_issue() to return nsegments for success, 0 for defer failure, and
-1 for permanent failure should be enough. The SCSI path is easy at
least, as we can just ask for a defer there. The internal qc_issue is a
little more tricky.
The NCQ patches have logic to handle this, although for other reasons
(to avoid overlap between NCQ and non-NCQ commands). It could easily be
reused for this as well.
--
Jens Axboe
next prev parent reply other threads:[~2006-03-02 10:00 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-01 23:23 PCI-DMA: Out of IOMMU space on x86-64 (Athlon64x2), with solution Michael Monnerie
2006-03-02 1:03 ` Andi Kleen
2006-03-02 9:59 ` Jens Axboe [this message]
2006-03-03 8:16 ` Chris Wedgwood
2006-03-03 11:00 ` Andi Kleen
[not found] ` <200603021316.38077.ak@suse.de>
[not found] ` <4406E226.4050806@pobox.com>
2006-03-02 12:26 ` Andi Kleen
2006-03-02 12:31 ` Jens Axboe
2006-03-02 12:33 ` Jeff Garzik
[not found] ` <20060302123033.GL4329@suse.de>
2006-03-02 13:09 ` Andi Kleen
2006-03-02 13:10 ` Jens Axboe
2006-03-02 13:33 ` Andi Kleen
2006-03-02 13:33 ` Jens Axboe
2006-03-02 13:46 ` Andi Kleen
2006-03-02 13:49 ` Jens Axboe
2006-03-02 13:58 ` Andi Kleen
2006-03-02 14:14 ` Jens Axboe
2006-03-02 14:35 ` Andi Kleen
2006-03-02 14:38 ` Jens Axboe
-- strict thread matches above, loose matches on Subject: below --
2006-03-03 21:27 Allen Martin
2006-03-03 22:12 ` Andi Kleen
2006-03-03 22:23 ` Jeff Garzik
2006-03-03 22:32 ` Andi Kleen
2006-03-04 6:34 ` Michael Monnerie
[not found] <5Mq18-1Na-21@gated-at.bofh.it>
[not found] ` <5MqNc-2Y5-3@gated-at.bofh.it>
[not found] ` <5MqX4-39H-21@gated-at.bofh.it>
[not found] ` <5MyAS-5zh-5@gated-at.bofh.it>
2006-03-07 0:15 ` Robert Hancock
2006-04-02 7:51 ` Joerg Bashir
2006-04-02 8:00 ` Muli Ben-Yehuda
2006-04-02 8:24 ` Joerg Bashir
2006-04-02 11:16 ` Andi Kleen
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=20060302095959.GD4329@suse.de \
--to=axboe@suse.de \
--cc=ak@suse.de \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=m.monnerie@zmi.at \
--cc=suse-linux-e@suse.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