block highmem zero-bounce #17
PATCH 1/1 block highmem zero-bounce #17
Hi,
Ingo reported a severe 3ware corruption bug today which I've fixed, so it seemed due time for a new version of the patch.
- Fix scsi_merge not setting sg->address for "legacy" drivers not using the PCI DMA interface. Stupid bug, since the entire I/O path is supposed to remain untouched (basically) for drivers not enabling highmem... I really think this is the last of such bugs. (me)
- Add 'nohighio' boot flag to disable I/O to highmem I/O. x86 only (me)
- Finally remember to reverse size/offset arguments in cciss and cpqarray. Fixed a long time ago, forgot to commit to the tree... (me, arjan, others)
- aic7xxx uses wrong DMA mask (arjan)
- Remove SCSI host single_sg_ok, it is implied by can_dma_32 anyways (arjan)
- Enable can_dma_32 on aic7xxx_old (arjan)
Patch is considered solid. Find it here:
*.kernel.org/pub/linux/kernel/people/axboe/patches/2.4.13-pre4/block-highmem-all-17.bz2
Signature · 1 line
Jens Axboe
Jens Axboe <[email protected]> writes:
|> Patch is considered solid. Find it here: |> |> *.kernel.org/pub/linux/kernel/people/axboe/patches/2.4.13-pre4/block-highmem-all-17.bz2
Your patch still makes bad use of struct scatterlist which is architecture dependent. Either fix the definitions in asm-*/scatterlist.h or go back using a private struct. Why did you switch to struct scatterlist in the first place??
Andreas.
Signature · 4 lines
Andreas Schwab "And now for something [email protected] completely different." SuSE Labs, SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
Quoted 10 lines · Andreas Schwab
Jens Axboe <[email protected]> writes:
|> Patch is considered solid. Find it here: |> |> *.kernel.org/pub/linux/kernel/people/axboe/patches/2.4.13-pre4/block-highmem-all-17.bz2Your patch still makes bad use of struct scatterlist which is architecture dependent. Either fix the definitions in
asm-*/scatterlist.hor go back using a private struct. Why did you switch to struct scatterlist in the first place??
What are you talking about? Please expand. struct scatterlist has very intentionally been changed to its current look, and if an arch is not uptodate please let me know.
Some archs may not have updated their PCI DMA interfaces yet, that's another issue. This will come in time.
Signature · 1 line
Jens Axboe
Quoted 2 lines · Andreas Schwab
using a private struct. Why did you switch to struct scatterlist in the first place??
BTW, let me expand on this one. The sg_list change was dropped, davem and I decided to evolve the current scatterlist in two steps:
- add ->page and ->offset and have the PCI DMA mapping interface use that if available. This step has already been taken with the pci64 patches.
- Remove ->address completely. This step must be taken to ensure that drivers will be highmem safe. Period. Don't know when we will do this yet.
Signature · 1 line
Jens Axboe
Jens Axboe <[email protected]> writes:
|> On Fri, Oct 19 2001, Andreas Schwab wrote: |> > Jens Axboe <[email protected]> writes: |> > |> > |> Patch is considered solid. Find it here: |> > |> |> > |> *.kernel.org/pub/linux/kernel/people/axboe/patches/2.4.13-pre4/block-highmem-all-17.bz2 |> > |> > Your patch still makes bad use of struct scatterlist which is architecture |> > dependent. Either fix the definitions in asm-*/scatterlist.h or go back |> > using a private struct. Why did you switch to struct scatterlist in the |> > first place?? |> |> What are you talking about? Please expand. struct scatterlist has very |> intentionally been changed to its current look, and if an arch is not |> uptodate please let me know.
Currently ia64 does not build due to this.
Andreas.
Signature · 4 lines
Andreas Schwab "And now for something [email protected] completely different." SuSE Labs, SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
Quoted 16 lines · Andreas Schwab
|> On Fri, Oct 19 2001, Andreas Schwab wrote: |> > Jens Axboe <[email protected]> writes: |> > |> > |> Patch is considered solid. Find it here: |> > |> |> > |> *.kernel.org/pub/linux/kernel/people/axboe/patches/2.4.13-pre4/block-highmem-all-17.bz2 |> > |> > Your patch still makes bad use of struct scatterlist which is architecture |> > dependent. Either fix the definitions in asm-*/scatterlist.h or go back |> > using a private struct. Why did you switch to struct scatterlist in the |> > first place?? |> |> What are you talking about? Please expand. struct scatterlist has very |> intentionally been changed to its current look, and if an arch is not |> uptodate please let me know.
Quoted 1 line
Currently ia64 does not build due to this.
Then the IA64 folks need to catch up. There's nothing new in this, this is how stuff usually happens. In short, I don't see the problem.
Signature · 1 line
Jens Axboe