Fwd: Re: PCI-DMA: Out of IOMMU space on x86-64 (Athlon64x2), with solution

From: Andi Kleen
Date: Thu Mar 02 2006 - 07:20:41 EST


Sorry dropped l-k cc by mistake
From: Andi Kleen <ak@xxxxxxx>
To: Jens Axboe <axboe@xxxxxxx>
Subject: Re: PCI-DMA: Out of IOMMU space on x86-64 (Athlon64x2), with solution
Date: Thu, 2 Mar 2006 13:16:37 +0100
User-Agent: KMail/1.9.1
Cc: Michael Monnerie <m.monnerie@xxxxxx>,
Jeff Garzik <jgarzik@xxxxxxxxx>
References: <200603020023.21916@xxxxxx> <200603020203.49128.ak@xxxxxxx> <20060302095959.GD4329@xxxxxxx>
In-Reply-To: <20060302095959.GD4329@xxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200603021316.38077.ak@xxxxxxx>

On Thursday 02 March 2006 10:59, Jens Axboe wrote:

[dropping closed suse list. Please never put both closed and open lists
into the same cc list]

> 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.

Yes I've been thinking about adding a new sleeping interface to the IOMMU
that would block for new space to handle this. If I did that - would libata be
able to use it?

-Andi