From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Ilya Loginov <isloginov@gmail.com>
Cc: Jens Axboe <jens.axboe@oracle.com>, linux-arch@vger.kernel.org
Subject: Re: problems in commit 2d4dc890b5c8 (block: add helpers to run flush_dcache_page() against a bio and a request's pages)
Date: Thu, 10 Dec 2009 11:07:31 -0600 [thread overview]
Message-ID: <1260464851.2457.98.camel@mulgrave.site> (raw)
In-Reply-To: <20091210074020.a7c36c32.isloginov@gmail.com>
On Thu, 2009-12-10 at 07:40 +0300, Ilya Loginov wrote:
> On Wed, 09 Dec 2009 18:19:55 -0600
> James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
>
> > OK, but the point I'm making is that it's a very heavyweight function on
> > a lot of architectures. It sounds like mips should just have a
> > flush_kernel_dcache_page() ... has anyone tested fuse on mips; if that
> > fails, then it's a must.
>
> Yes, it works. There are many embedded systems which are based on MIPS.
> For example, there is MIPS in my router. I use fuse on it(it is required
> by ntfs-3g). OpenWRT.
Yes ... apparently mips implements flush_anon_page(); I'm misremembering
how fuse got fixed.
> > The problem seems to be defined as one of ensuring coherency on PIO
> > block devices in the most efficient manner possible.
>
> > Like I said previously, I still think some extension to the DMA API to
> > map the areas correctly might be the best way forwards.
>
> What do you mean under DMA API? Do you mean that we should fix memcpy?
The DMA API prepares user pages to send to physical devices via MMIO.
It's an abstraction to prevent device driver writers having to remember
complex (and architecture specific) rules about page flushing.
For PIO we have this kmap/operate/flush_kernel_dcache_page()/kunmap
complexity (see for example drivers/mmc/mmc_spi.c). However, it could
all be taken care of in a similar way to the DMA API via an
abstraction ... although I suspect the best abstraction is to pull the
flush into kunmap.
What MTD device is this? The subsystem is very complex, but I suppose I
could trace the read path in a single device to see what the actual
problem is.
James
next prev parent reply other threads:[~2009-12-10 17:07 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-09 22:39 problems in commit 2d4dc890b5c8 (block: add helpers to run flush_dcache_page() against a bio and a request's pages) James Bottomley
2009-12-09 22:45 ` Russell King
2009-12-09 22:56 ` James Bottomley
2009-12-09 23:03 ` Ilya Loginov
2009-12-09 23:11 ` James Bottomley
2009-12-09 23:36 ` Ilya Loginov
2009-12-09 23:47 ` James Bottomley
2009-12-10 0:06 ` Ilya Loginov
2009-12-10 0:19 ` James Bottomley
2009-12-10 4:40 ` Ilya Loginov
2009-12-10 17:07 ` James Bottomley [this message]
2009-12-10 17:48 ` Russell King
2009-12-10 17:59 ` James Bottomley
2009-12-10 18:06 ` Russell King
2009-12-10 18:20 ` James Bottomley
2009-12-10 19:05 ` Russell King
2009-12-10 20:29 ` James Bottomley
2009-12-10 20:39 ` Russell King
2009-12-10 19:42 ` Ilya Loginov
2009-12-10 19:43 ` Russell King
2009-12-10 19:48 ` Ilya Loginov
2009-12-10 19:46 ` Ilya Loginov
2009-12-10 20:28 ` James Bottomley
2009-12-10 20:41 ` Ilya Loginov
2009-12-10 20:48 ` Ilya Loginov
2009-12-10 20:59 ` James Bottomley
2009-12-10 21:27 ` Ilya Loginov
2009-12-10 21:43 ` Ilya Loginov
2009-12-10 22:00 ` James Bottomley
2009-12-10 22:03 ` David Miller
2009-12-10 22:33 ` Ilya Loginov
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=1260464851.2457.98.camel@mulgrave.site \
--to=james.bottomley@hansenpartnership.com \
--cc=isloginov@gmail.com \
--cc=jens.axboe@oracle.com \
--cc=linux-arch@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).