Linux ATA/IDE development
 help / color / mirror / Atom feed
From: David Miller <davem@davemloft.net>
To: jgarzik@pobox.com
Cc: akpm@linux-foundation.org, James.Bottomley@suse.de,
	jeff@garzik.org, linux-ide@vger.kernel.org,
	catalin.marinas@arm.com, stable@kernel.org, tj@kernel.org
Subject: Re: [patch for 2.6.33? 1/1] ata: call flush_dcache_page() around PIO data transfers in libata-aff.c
Date: Tue, 02 Feb 2010 15:21:40 -0800 (PST)	[thread overview]
Message-ID: <20100202.152140.216335166.davem@davemloft.net> (raw)
In-Reply-To: <4B68B1E0.4090004@pobox.com>

From: Jeff Garzik <jgarzik@pobox.com>
Date: Tue, 02 Feb 2010 18:14:40 -0500

> The patch in question only affects PIO transfers, not DMA.  Data is
> transferred from a kernel buffer to hardware via out[bwl] via
> 
> 	page data -> CPU register -> out[bwl]
> 
> or, data is transferred from hardware to a kernel buffer via
> 
> 	in[bwl] -> CPU register -> page data
> 
> So what are the flushing rules given those conditions?

Any time you touch a page cache page with the cpu, you have
to get it purged from aliasing caches before it gets mapped
into userspace or similar.

That's the problem on these machines.

Actually, sparc64 is probably susceptible to the same problem.

And it's not an issue in the IDE layer, know why? :-)

In the IDE layer we have arch specific ide_*() interfaces which is
where all of this PIO dma flushing stuff deserves to live.

ATA should do something similar instead of randomly scattering
flush_dcache_page() calls all over the place.

  parent reply	other threads:[~2010-02-02 23:21 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-02 22:11 [patch for 2.6.33? 1/1] ata: call flush_dcache_page() around PIO data transfers in libata-aff.c akpm
2010-02-02 22:58 ` James Bottomley
2010-02-02 23:05   ` Andrew Morton
2010-02-02 23:14     ` Jeff Garzik
2010-02-02 23:21       ` James Bottomley
2010-02-02 23:21       ` David Miller [this message]
2010-02-02 23:30         ` Alan Cox
2010-02-02 23:32         ` James Bottomley
2010-02-02 23:39           ` David Miller
2010-02-03 10:18           ` Catalin Marinas
2010-02-03 16:40             ` James Bottomley
2010-02-03 17:00               ` Jeff Garzik
2010-02-03 17:06                 ` Andrew Morton
2010-02-03 17:15                   ` Jeff Garzik
2010-02-03 17:20                     ` Andrew Morton
2010-02-03 17:29                       ` Jeff Garzik
2010-02-03 17:39                         ` James Bottomley
2010-02-04 14:33                           ` Catalin Marinas
2010-02-04 15:01                             ` James Bottomley
2010-02-04 15:39                               ` Catalin Marinas
2010-02-04 21:36                                 ` James Bottomley
2010-02-03 17:40                     ` Alan Cox
2010-02-03 17:46                     ` Alan Cox
2010-02-03 17:52                       ` Jeff Garzik
2010-02-03 18:00                         ` Alan Cox
2010-02-03 18:12                           ` Jeff Garzik
2010-02-03 17:49                     ` Catalin Marinas
2010-02-03 17:54                       ` Jeff Garzik
2010-02-03 17:09               ` David Miller
2010-02-02 23:14     ` James Bottomley
2010-02-03 10:07   ` Catalin Marinas

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=20100202.152140.216335166.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=James.Bottomley@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=catalin.marinas@arm.com \
    --cc=jeff@garzik.org \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=stable@kernel.org \
    --cc=tj@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox