From: James Bottomley <James.Bottomley@SteelEye.com>
To: Tejun Heo <htejun@gmail.com>
Cc: axboe@suse.de, bzolnier@gmail.com, rmk@arm.linux.org.uk,
james.steward@dynamicratings.com, jgarzik@pobox.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCHSET] block: fix PIO cache coherency bug
Date: Fri, 13 Jan 2006 09:50:19 -0600 [thread overview]
Message-ID: <1137167419.3365.5.camel@mulgrave> (raw)
In-Reply-To: <11371658562541-git-send-email-htejun@gmail.com>
On Sat, 2006-01-14 at 00:24 +0900, Tejun Heo wrote:
> This patchset tries to fix data corruption bug caused by not handling
> cache coherency during block PIO. This patch implements
> blk_kmap/unmap helpers which take extra @dir argument and perform
> appropriate coherency actions. These are to block PIO what dma_map/
> unmap are to block DMA transfers.
>
> IDE, libata, SCSI, rd and md are converted. Still left are nbd, loop
> and pktcddvd. If I missed something, please let me know.
>
> Russell, can you please test whether this fixes the bug on arm? If
> this fixes the bug and people agree with the approach, I'll follow up
> with patches for yet unconverted drivers and documentation update.
Actually, this doesn't look to be the correct thing to do. The
dma_map/unmap don't make the data coherent with respect to the user
space, only with respect to the kernel space. I've never liked this
(and indeed I wrote an OLS paper in 2004 trying to explain how we could
fix it) but that's our current model.
Our classic path for data on machines is that the driver makes the
kernel coherent and then whatever's transferring from the page cache to
the user makes user space coherent. It sounds, therefore, like
whatever's broken (what is the problem, by the way?) is broken in the
second half (page cache to user) not in the first half (driver to
kernel).
James
next prev parent reply other threads:[~2006-01-13 15:51 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-13 15:24 [PATCHSET] block: fix PIO cache coherency bug Tejun Heo
2006-01-13 15:24 ` [PATCH 5/8] block: convert libata to use blk_kmap helpers Tejun Heo
2006-01-13 15:24 ` [PATCH 3/8] block: convert bio kmap helpers " Tejun Heo
2006-01-13 15:24 ` [PATCH 4/8] block: convert IDE " Tejun Heo
2006-02-14 19:07 ` Matt Reimer
2006-02-15 2:05 ` Tejun Heo
2006-02-16 18:01 ` Russell King
2006-02-16 18:10 ` Linus Torvalds
2006-02-16 19:02 ` Russell King
2006-01-13 15:24 ` [PATCH 2/8] block: implement blk kmap helpers Tejun Heo
2006-01-13 15:24 ` [PATCH 1/8] highmem: include asm/kmap_types.h in linux/highmem.h Tejun Heo
2006-01-13 15:24 ` [PATCH 6/8] block: convert scsi to use blk_kmap helpers Tejun Heo
2006-01-13 15:24 ` [PATCH 8/8] block: convert md " Tejun Heo
2006-01-13 15:24 ` [PATCH 7/8] block: convert block/rd.c " Tejun Heo
2006-01-13 15:37 ` [PATCHSET] block: fix PIO cache coherency bug Jens Axboe
2006-01-13 15:47 ` Bartlomiej Zolnierkiewicz
2006-01-13 15:50 ` James Bottomley [this message]
2006-01-13 18:20 ` Russell King
2006-01-13 18:35 ` James Bottomley
2006-01-13 19:06 ` Russell King
2006-02-22 8:27 ` Tejun Heo
2006-03-02 18:46 ` James Bottomley
2006-03-02 20:30 ` Russell King
2006-03-02 20:43 ` James Bottomley
2006-03-02 20:57 ` Russell King
2006-03-02 20:44 ` Jens Axboe
2006-05-29 19:17 ` Nicolas Pitre
2006-05-30 11:19 ` Tejun Heo
2006-05-30 21:07 ` Guennadi Liakhovetski
2006-05-30 21:32 ` Nicolas Pitre
2006-05-31 0:57 ` David S. Miller
2006-03-02 20:40 ` Jens Axboe
2006-03-20 16:12 ` James Bottomley
2006-03-20 16:26 ` Tejun Heo
2006-03-20 16:33 ` James Bottomley
2006-03-20 16:40 ` Tejun Heo
2006-03-20 16:48 ` James Bottomley
2006-03-23 14:23 ` James Bottomley
2006-03-20 16:50 ` Randy.Dunlap
2006-03-20 16:52 ` James Bottomley
2006-01-13 22:02 ` Russell King
2006-01-13 22:38 ` James Bottomley
2006-01-13 22:43 ` David S. Miller
2006-01-14 4:58 ` James Bottomley
2006-01-17 15:00 ` Jeff Garzik
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=1137167419.3365.5.camel@mulgrave \
--to=james.bottomley@steeleye.com \
--cc=axboe@suse.de \
--cc=bzolnier@gmail.com \
--cc=htejun@gmail.com \
--cc=james.steward@dynamicratings.com \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rmk@arm.linux.org.uk \
/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