From: "Gérard Roudier" <groudier@free.fr>
To: Jens Axboe <axboe@suse.de>
Cc: "David S. Miller" <davem@redhat.com>, <gibbs@scsiguy.com>,
<LB33JM16@yahoo.com>, <linux-kernel@vger.kernel.org>
Subject: Re: highmem, aic7xxx, and vfat: too few segs for dma mapping
Date: Wed, 12 Dec 2001 17:39:20 +0100 (CET) [thread overview]
Message-ID: <20011212170821.K1853-100000@gerard> (raw)
In-Reply-To: <20011212093654.GA13498@suse.de>
On Wed, 12 Dec 2001, Jens Axboe wrote:
> On Tue, Dec 11 2001, Gérard Roudier wrote:
[...]
> > As you know, low-level drivers on Linux announce some maximum length for
> > the sg array. As you guess, in the worst case, each sg entry may have to
> > be cut into several real entry (hoped 2 maximum) due to boundary
> > limitations. At a first glance, low-level drivers should announce no more
> > than half their real sg length capability and also would have to rewalk
> > the entire sg list.
>
> That's why these boundary limitations need to be known by the layer
> build the requests for you.
How can I tell the layer about boundaries ?
Will check if I missed some important change.
> > I used and was happy to do so when the scatter process was not generic.
> > If we want it to be generic, then we want it to do the needed work. If
> > generic means 'just bloated and clueless' then generic is a extreme bad
> > thing.
> >
> > 'virt_to_bus' + 'flat addressing model' was the 'just as complex as
> > needed' for DMA model and most (may-be > 99%) of existing physical
> > machines are just happy with such model. The DMA/BUS complexity all O/Ses
> > have invented nowadays is a useless misfeature when based on the reality,
> > in my opinion. So, I may just be dreaming, at the moment. :-)
> >
> > If one really wants for some marketing reason to support these ugly and
> > stinky '32 bit machines that want to provide more than 4GB of memory by
> > shoe-horning complexity all over the place', one should use his brain,
> > when so-featured, prior to writing clueless code.
>
> First of all, virt_to_bus just cannot work on some archetectures that
> are just slightly more advanced than x86. I'm quite sure Davem is ready
> to lecture you on this.
>
> Second, you are misunderstanding the need of a page/offset instead of
> virtua_address model. It's _not_ for > 4GB machines, it's for machines
> with highmem. You'll need this on the standard kernel to I/O above
> 860MB, that that is definitely a much bigger part of the market. Heck,
> lots of home users have 1GB or more with the RAM prices these days.
I didn't misunderstand anything here, but have probably been unclear. The
3GB user + 1 GB kernel - some room for vremap/vmalloc looks a Linuxish
issue to me and I wanted to be more general here. By the way, speaking for
meyself, I donnot use bloaty applications and hence, at least in theory,
it will be possible for me to use at least 2GB of physical memory without
need of any kind of higmem crap. My guess is that 2GB of physical memory
still encompasses 99% of physically machines in use.
About what I call '32 bit machine', the sparc64 with its s****d IOMMU does
falls in this category. The CPU can do 64 bit operations and addressing,
but as seen from IO, the silicium is some 32 bit out-of-age thing hacked
for 64 bit memory addressing capability and some proprietary BUS streaming
protocol.
FYI, my personnal machine uses a ServerWorks LE chipset. The thing is 32
bit, but it is clean design regarding buses. It is possible for example
for a device on one PCI BUS to master another device on the other PCI BUS.
And the PCI BUses bandwidth seems quite good.
For your memory refresh, virtual memory has been invented for programs to
be allowed to be larger than the physical memory. OTOH, all archs based on
memory segmentations have been replaced by a flat model since this led to
unbearable complexity. The current 32 bit to 64 bit transition resembles
the 8/16 bit and 16 bit/32 bit transition, adding same kind of useless
complexity in software. This stinks a lot. Let me not encourage this a
single second.
Gérard.
next prev parent reply other threads:[~2001-12-12 19:33 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-10 1:32 highmem, aic7xxx, and vfat: too few segs for dma mapping LBJM
2001-12-10 18:40 ` Justin T. Gibbs
2001-12-10 19:21 ` Jens Axboe
2001-12-10 19:50 ` Justin T. Gibbs
2001-12-10 20:03 ` Jens Axboe
2001-12-10 19:21 ` Gérard Roudier
2001-12-11 6:12 ` David S. Miller
2001-12-11 17:01 ` Gérard Roudier
2001-12-12 9:36 ` Jens Axboe
2001-12-12 13:32 ` Andrea Arcangeli
2001-12-12 17:22 ` Gérard Roudier
2001-12-12 22:19 ` Andrea Arcangeli
2001-12-12 20:24 ` Gérard Roudier
2001-12-13 0:26 ` David S. Miller
2001-12-13 16:17 ` Gérard Roudier
2001-12-13 20:30 ` David S. Miller
2001-12-13 18:13 ` Gérard Roudier
2001-12-13 0:06 ` David S. Miller
2001-12-13 16:39 ` Gérard Roudier
2001-12-12 16:39 ` Gérard Roudier [this message]
2001-12-13 20:10 ` Steve Lord
2001-12-13 20:15 ` Justin T. Gibbs
2001-12-13 20:29 ` Steve Lord
2001-12-13 20:48 ` Justin T. Gibbs
2001-12-13 20:58 ` Steve Lord
2001-12-13 21:17 ` Steve Lord
2001-12-13 21:27 ` David S. Miller
2001-12-14 15:16 ` Jens Axboe
2001-12-14 16:15 ` Jens Axboe
2001-12-14 16:22 ` Alok K. Dhir
2001-12-14 16:32 ` Jens Axboe
2001-12-14 16:25 ` Stephen Lord
2001-12-14 16:24 ` Jens Axboe
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=20011212170821.K1853-100000@gerard \
--to=groudier@free.fr \
--cc=LB33JM16@yahoo.com \
--cc=axboe@suse.de \
--cc=davem@redhat.com \
--cc=gibbs@scsiguy.com \
--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