linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: David Wragg <dpw@doc.ic.ac.uk>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: limit on number of kmapped pages
Date: 24 Jan 2001 00:35:12 +0000	[thread overview]
Message-ID: <y7rofwxeqin.fsf@sytry.doc.ic.ac.uk> (raw)
In-Reply-To: ebiederm@xmission.com's message of "23 Jan 2001 11:23:46 -0700"

ebiederm@xmission.com (Eric W. Biederman) writes:
> Why do you need such a large buffer? 

ext2 doesn't guarantee sustained write bandwidth (in particular,
writing a page to an ext2 file can have a high latency due to reading
the block bitmap synchronously).  To deal with this I need at least a
2MB buffer.

I've modifed ext2 slightly to avoid that problem, but I still expect
to need a 512KB buffer (though the usual requirements are much lower).
While that wouldn't hit the kmap limit, it would bring the system
closer to it.

Perhaps further tuning could reduce the buffer needs of my
application, but it is better to have the buffer too big than too
small.

> And why do the pages need to be kmapped? 

They only need to be kmapped while data is being copied into them.

> If you are doing dma there is no such requirement...  And
> unless you are running on something faster than a PCI bus I can't
> imagine why you need a buffer that big. 

Gigabit ethernet.

> My hunch is that it makes
> sense to do the kmap, and the i/o in the bottom_half.  What is wrong
> with that?

Do you mean kmap_atomic?  The comments around kmap don't mention
avoiding it in BHs, but I don't see what prevents kmap -> kmap_high ->
map_new_virtual -> schedule.

> kmap should be quick and fast because it is for transitory mappings.
> It shouldn't be something whose overhead you are trying to avoid.  If
> kmap is that expensive then kmap needs to be fixed, instead of your
> code working around a perceived problem.
> 
> At least that is what it looks like from here.

When adding the kmap/kunmap calls to my code I arranged them so they
would be used as infrequently as possible.  After working on making
the critical paths in my code fast, I didn't want to add operations
that have an uncertain cost into those paths unless there is a good
reason.  Which is why I'm asking how significant the kmap limit is.



David Wragg
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/

  reply	other threads:[~2001-01-24  0:35 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <y7rsnmav0cv.fsf@sytry.doc.ic.ac.uk>
2001-01-23 18:23 ` Eric W. Biederman
2001-01-24  0:35   ` David Wragg [this message]
2001-01-24  2:03     ` Benjamin C.R. LaHaise
2001-01-24 10:09       ` David Wragg
2001-01-24 14:27         ` Eric W. Biederman
2001-01-25 10:06         ` Random thoughts on sustained write performance Daniel Phillips
     [not found]           ` <y7rsnm7mai7.fsf@sytry.doc.ic.ac.uk>
     [not found]             ` <01012615062602.20169@gimli>
2001-01-27 13:50               ` David Wragg
2001-01-27 17:23                 ` Daniel Phillips
2001-01-27 21:23                   ` David Wragg
2001-01-25 18:16     ` limit on number of kmapped pages Stephen C. Tweedie
2001-01-25 23:53       ` David Wragg

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=y7rofwxeqin.fsf@sytry.doc.ic.ac.uk \
    --to=dpw@doc.ic.ac.uk \
    --cc=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.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