mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Daniel McNeil <daniel@osdl.org>
To: Andrew Morton <akpm@osdl.org>
Cc: ak@suse.de, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [rfc patch 2/2] direct-io: remove address alignment check
Date: Thu, 14 Jul 2005 17:03:58 -0700	[thread overview]
Message-ID: <1121385837.6025.97.camel@ibm-c.pdx.osdl.net> (raw)
In-Reply-To: <20050714163947.3fb952f1.akpm@osdl.org>

On Thu, 2005-07-14 at 16:39, Andrew Morton wrote:
> Daniel McNeil <daniel@osdl.org> wrote:
> >
> > Do drivers have problems with odd addresses or with
> >  non-512 addresses?
> 
> I do recall hearing rumours that some bus-masters have fairly strict memory
> alignment requirements.  A cacheline size, perhaps - that would be 32 bytes
> given the age of the hardware.
> 
> But yeah, it's v.  risky to assume that all bus masters can cope with
> memory alignments down to two bytes.
> 
> It would be sane to put the minimum alignment into ->backing_dev_info,
> default to 512, get the device drivers to override that as they are tested.
> 
> But this introduces a very very bad problem: people will write applications
> which work on their hardware, ship the things and then find that the apps
> break on other people's hardware.  So we can't do that.
> 
> Instead, we need to work out the minimum alignment requirement for all disk
> controllers and DMA controllers and motherboards in the world.  And that
> includes catering for weird ones which appear to work but which
> occasionally fail in mysterious ways with finer alignments.  That's hard. 
> It's easier to continue to make application developers jump through hoops.

I was hoping this patch would help turn rumors into real data :)

If we did put min alignment into backing_dev_info, we could implement
the equivalent of bounce buffers for direct-io -- or just fall back
to buffer i/o like it does sometimes anyway.  That way application
would not break, just get worse performance on some hardware.

Right now I just wanted to get the issues on table, get some test
results, and see how to proceed from there.  Since this patch only
affects direct i/o, getting test results shouldn't cause too many
problems.

Thanks,

Daniel


  reply	other threads:[~2005-07-15  0:04 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1121298112.6025.21.camel@ibm-c.pdx.osdl.net.suse.lists.linux.kernel>
2005-07-14 13:18 ` Andi Kleen
2005-07-14 16:02   ` Daniel McNeil
2005-07-14 18:23     ` Andi Kleen
2005-07-14 20:40       ` Daniel McNeil
2005-07-14 23:39         ` Andrew Morton
2005-07-15  0:03           ` Daniel McNeil [this message]
2005-07-13 23:43 Daniel McNeil
2005-07-14 23:16 ` Badari Pulavarty
2005-07-14 23:44   ` Daniel McNeil
2005-07-15  5:27     ` Badari Pulavarty
2005-07-15 20:06       ` Daniel McNeil
2005-07-15  0:28 ` Tejun Heo
2005-07-15  5:18   ` Badari Pulavarty
2005-07-15  8:23     ` Tejun Heo
2005-07-15 17:54       ` Badari Pulavarty
2005-07-16  3:50         ` Tejun Heo
2005-07-15 16:56     ` Joel Becker
2005-07-15 17:50       ` Badari Pulavarty
2005-07-15 19:16         ` Joel Becker

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=1121385837.6025.97.camel@ibm-c.pdx.osdl.net \
    --to=daniel@osdl.org \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@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

all inboxes | Powered by JetHome®