All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King <rmk@arm.linux.org.uk>
To: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Tejun Heo <htejun@gmail.com>,
	James Steward <james.steward@dynamicratings.com>,
	"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>
Subject: Re: [PATCH] ide: add dcache flushing after PIO
Date: Sat, 7 Jan 2006 17:06:23 +0000	[thread overview]
Message-ID: <20060107170623.GA15171@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20051221175416.GH1736@flint.arm.linux.org.uk>

On Wed, Dec 21, 2005 at 05:54:16PM +0000, Russell King wrote:
> On Wed, Dec 21, 2005 at 04:57:05PM +0100, Bartlomiej Zolnierkiewicz wrote:
> > On 12/21/05, Tejun Heo <htejun@gmail.com> wrote:
> > > clears all cpu caches before IO and, as DMA IO doesn't touch any cpu
> > > caches, it doesn't do anything after IO.  The previous patch adds a
> > > flush_dcache_page after IO which makes sure that the kernel cache line
> > > is gone, but it doesn't do anything to make sure that there's no dirty
> > > user-mapped cachelines hanging around before IO.
> > >
> > > I couldn't find an exemplary driver doing this kind of things with page
> > > caches.  Most other flush_dcache_page usages I looked at didn't deal
> > > with user mapped page caches.
> > 
> > After reading excellent explanation by rmk I think that it should be
> > fixed at VM layer (filemap_nopage() perhaps).
> 
> DaveM vetoed that with good reason - the VM layer doesn't know whether
> the driver is doing PIO or not.  If it is doing PIO, it needs the
> cache flush.  If it's doing DMA, the cache flush is entirely a
> performance bottleneck.

Bart,

Did you miss my message, or have you decided to pay no further
attention to this issue?

If the latter, I will mark IDE with a dependency of BROKEN || !ARM
until it's fixed.  It's not fair on folk to lead them to think that
PIO-based IDE might work for them when the subsystem is technically
broken on ARM architectures.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

  reply	other threads:[~2006-01-07 17:06 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-19  0:47 Execute from CF causes segmentation faults James Steward
2005-12-20 12:52 ` Tejun Heo
2005-12-20 16:23   ` Bartlomiej Zolnierkiewicz
2005-12-21  9:48     ` Tejun Heo
2005-12-21 14:00       ` [PATCH] ide: add dcache flushing after PIO Tejun Heo
2005-12-21 14:03         ` Russell King
2005-12-21 14:43           ` Tejun Heo
2005-12-21 15:57             ` Bartlomiej Zolnierkiewicz
2005-12-21 16:00               ` Tejun Heo
2005-12-21 17:54               ` Russell King
2006-01-07 17:06                 ` Russell King [this message]
2006-01-07 20:17                   ` Bartlomiej Zolnierkiewicz
2006-01-07 21:22                     ` Russell King
2006-01-07 22:41                       ` Bartlomiej Zolnierkiewicz
2006-01-08  0:50                         ` james
2006-01-09  9:08                         ` Russell King
2006-01-09  9:16                           ` Tejun Heo
2005-12-21 15:01     ` Execute from CF causes segmentation faults Russell King

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=20060107170623.GA15171@flint.arm.linux.org.uk \
    --to=rmk@arm.linux.org.uk \
    --cc=bzolnier@gmail.com \
    --cc=htejun@gmail.com \
    --cc=james.steward@dynamicratings.com \
    --cc=linux-ide@vger.kernel.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.