public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@suse.de>
To: David Brownell <david-b@pacbell.net>,
	linux-kernel@vger.kernel.org,
	linux-usb-devel@lists.sourceforge.net, Greg KH <greg@kroah.com>
Subject: Re: [linux-usb-devel] Re: "sr: unaligned transfer" in 2.5.2-pre1
Date: Wed, 2 Jan 2002 10:30:15 +0100	[thread overview]
Message-ID: <20020102103015.O16092@suse.de> (raw)
In-Reply-To: <m2vgexzv90.fsf@ppro.localdomain> <20011223112249.B4493@kroah.com> <m23d1trr4w.fsf@pengo.localdomain> <20011230122756.L1821@suse.de> <20011230212700.B652@one-eyed-alien.net> <20011231125157.D1246@suse.de> <20011231145455.C6465@one-eyed-alien.net> <065e01c192fd$fe066e20$6800000a@brownell.org> <20020101233423.I16092@suse.de> <20020101152859.D14915@one-eyed-alien.net>
In-Reply-To: <20020101152859.D14915@one-eyed-alien.net>

On Tue, Jan 01 2002, Matthew Dharm wrote:
> On Tue, Jan 01, 2002 at 11:34:23PM +0100, Jens Axboe wrote:
> > On Tue, Jan 01 2002, David Brownell wrote:
> > > Not that I've seen a writeup about highmem (linux/Documentation
> > > doesn't seem to have one anyway) but if I infer correctly from that
> > > DMA-mapping.txt writeup, URBs don't support it because there's no way
> > > to specify buffers as a "struct page *" or an array of "struct
> > > scatterlist".  That's the only way that document identifies to access
> > > "highmem memory".
> 
> This sounds like another good reason to have URBs take scatterlists
> directly, oddly enough. :)

Or at least a derived structure, however it might as well just use
scatterlist (address member is soon gone). So yes.

> > > > (1) Do the USB HCDs support highmem?  I seem to recall they do, but
> > > > I'm not certain.
> > > 
> > > If URBs can't describe highmem, the HCD's won't support them per se;
> > > you'd have to turn highmem to "lowmem" or whatever it's called, and
> > > then let the HCDs manage the lowmem-to-dma_addr_t mappings.
> > > 
> > > Alternatively, in 2.5 we might add "highmem" support to USB.  Now that
> > > I've looked at it a few minutes, I suspect we must -- just to support
> > > block devices (usb-storage) fully.  Is there more to it than adding
> > 
> > No, you can always ask to get pages low mem bounced. Highmem is no
> > requirement, and if your device really can't support it there's no point
> > in attempting to support it.
> 
> I presume there is some overhead in bouncing to lowmem?  I imagine that
> highmem support for the HCDs wouldn't be that difficult -- they are just
> PCI devices, after all.

Lots of overhead required for copying data back and forth between low
and high page (both the memcpy, but also the highmem kmap). In addition
it puts added pressure on the memory allocator.

> I'd rather eliminate as much overhead as possible -- I already get
> complaints from performance fanatics about the inability of usb-storage to
> get past 92% bus saturation (sustained), and the problem will only get
> worse on USB 2.0

Then you should move the the page/len/offset construct.
> 
> > > page+offset as an alternative way to describe the transfer_buffer?
> > 
> > no
> 
> Hrm... isn't that what one of the patches sent did?  Or does that only work
> for lowmem allocations described by the structure?

Hmmm no, I don't think so. It only worked for low mem pages, since it
used page_address to 'map' the page.

-- 
Jens Axboe


  parent reply	other threads:[~2002-01-02  9:30 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-12-23 17:44 "sr: unaligned transfer" in 2.5.2-pre1 Peter Osterlund
2001-12-23 19:22 ` Greg KH
2001-12-30  9:31   ` Peter Osterlund
2001-12-30 11:27     ` Jens Axboe
2001-12-31  5:27       ` Matthew Dharm
2001-12-31 11:51         ` Jens Axboe
2001-12-31 22:54           ` [linux-usb-devel] " Matthew Dharm
2001-12-31 23:59             ` Andre Hedrick
2002-01-01 17:39               ` Jens Axboe
2002-01-01 17:40             ` Jens Axboe
2002-01-01 19:53             ` David Brownell
2002-01-01 22:34               ` Jens Axboe
2002-01-01 23:28                 ` Matthew Dharm
2002-01-02  5:40                   ` [linux-usb-devel] Re: highmem and usb [was: "sr: unaligned transfer" in 2.5.2-pre1] David Brownell
2002-01-02  9:27                     ` [linux-usb-devel] Re: highmem and usb [was:"sr: unalignedtransfer" " Oliver.Neukum
2002-01-02 18:43                       ` David Brownell
2002-01-02  9:31                     ` [linux-usb-devel] Re: highmem and usb [was: "sr: unaligned transfer" " Jens Axboe
2002-01-02  9:30                   ` Jens Axboe [this message]
2002-01-02  5:27                 ` [linux-usb-devel] Re: highmem and usb [was " David Brownell
2002-01-02  9:32                   ` Jens Axboe
2002-01-02 18:37                     ` David Brownell
2002-01-02 18:44                       ` Jens Axboe
2002-01-02 18:55                         ` David Brownell
2002-01-02 20:23                           ` Jens Axboe
2002-01-02 22:32                         ` [linux-usb-devel] Re: highmem and usb [was "sr: unalignedtransfer" " Oliver.Neukum
2001-12-24  4:05 ` "sr: unaligned transfer" in 2.5.2-pre1 Bob_Tracy
2001-12-24  7:24   ` Peter Osterlund
2001-12-24 14:13   ` WHICH MACHINE????? Astinus
2001-12-24 15:37     ` Erik Mouw
2001-12-25 15:41       ` Svein Ove Aas
2001-12-26 13:56         ` Erik Mouw
2001-12-24 16:19     ` J.A. Magallon
2001-12-24 22:48   ` "sr: unaligned transfer" in 2.5.2-pre1 Peter Osterlund
2001-12-27  7:13 ` Petr Titera

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=20020102103015.O16092@suse.de \
    --to=axboe@suse.de \
    --cc=david-b@pacbell.net \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    /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