From: "Dan Maas" <dmaas@dcine.com>
To: "Rik van Riel" <riel@conectiva.com.br>,
"David S. Miller" <davem@redhat.com>
Cc: <linux-kernel@vger.kernel.org>
Subject: Re: Swap
Date: Tue, 20 Nov 2001 17:34:28 -0500 [thread overview]
Message-ID: <03bb01c17213$887ccd30$1a01a8c0@allyourbase> (raw)
In-Reply-To: <Pine.LNX.4.33L.0111202019170.4079-100000@imladris.surriel.com>
> Uhhhh, read his original mail. When using mmap() he had
> problems with the VM doing bad page replacement, while
> read() was smooth.
I should add that I did experiment with madvise(MADV_SEQUENTIAL) on the
mapping, and with madvise(MADV_WILLNEED) on pages about to be needed. These
had no effect. What *did* help with underruns was pre-touching each page in
a large block (120KB), before sending that block to the output device. At
that point I thought the mmap() code was getting to be more complicated that
it was worth so I just dropped back to read()...
The other day I recorded and played a seven-minute animation (1.6GB) on my
512MB machine, with only 240KB of buffering. Much to my surprise and
delight, there were no underruns, and the large sequential passes through
the file hadn't pushed anything else out of RAM.
BTW, all of the above pertains to one large mapping of the entire file to be
played. I didn't try mmap()/munmap() on a sliding window... I seem to
remember an MP3 player doing that. (I just tried looking at XMMS and
Freeamp - I *think* they are using read(), but strace seems to do bad things
with threaded programs, argh...)
Regards,
Dan
next prev parent reply other threads:[~2001-11-20 22:47 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <fa.kmf405v.j74f21@ifi.uio.no>
[not found] ` <fa.ns5ugpv.q02sbg@ifi.uio.no>
2001-11-20 21:26 ` Swap Dan Maas
2001-11-20 22:05 ` Swap Rik van Riel
2001-11-20 22:11 ` Swap David S. Miller
2001-11-20 22:19 ` Swap Rik van Riel
2001-11-20 22:34 ` Dan Maas [this message]
2001-11-20 23:05 ` Swap Andrew Morton
[not found] ` <fa.jc73ejv.1s6e80t@ifi.uio.no>
2001-11-21 1:45 ` Swap Håvard Kvålen
2001-11-21 4:23 ` Swap Andreas Dilger
2001-11-20 22:23 ` Swap Andrew Morton
2001-11-20 23:01 ` Swap David S. Miller
2001-11-20 23:35 ` Swap Rik van Riel
2001-11-20 23:40 ` Swap David S. Miller
2001-11-21 0:19 ` Swap Rik van Riel
2001-11-21 0:21 ` Swap David S. Miller
[not found] <fa.kb6ct7v.pgku0d@ifi.uio.no>
[not found] ` <fa.k8qdvcv.184ak2l@ifi.uio.no>
2001-11-20 22:46 ` Swap Dan Maas
2001-11-20 23:17 ` Swap Trond Myklebust
[not found] <fa.inl6g6v.1mmbp4@ifi.uio.no>
[not found] ` <fa.heevhav.sjs8an@ifi.uio.no>
2001-11-18 22:15 ` Swap Dan Maas
2001-11-18 22:43 ` Swap François Cami
2001-11-19 9:18 ` Swap James A Sutherland
2001-11-19 10:51 ` Swap Remco Post
2001-11-19 13:33 ` Swap James A Sutherland
2001-11-19 13:46 ` Swap Remco Post
2001-11-19 16:58 ` Swap Rik van Riel
[not found] ` <Pine.LNX.4.33L.0111191458150.1491-100000@duckman.distro.conecti va>
2001-11-19 21:13 ` Swap Alex Bligh - linux-kernel
2001-11-19 21:17 ` Swap Rik van Riel
[not found] ` <Pine.LNX.4.33L.0111191917000.1491-100000@duckman.distro.conecti va>
2001-11-19 21:52 ` Swap Alex Bligh - linux-kernel
2001-11-19 16:36 ` Swap Jesse Pollard
2001-11-20 14:51 ` Swap J.A. Magallon
2001-11-20 16:01 ` Swap Wolfgang Rohdewald
2001-11-20 16:06 ` Swap Remco Post
2001-11-20 16:12 ` Swap Nick LeRoy
2001-11-20 16:20 ` Swap Richard B. Johnson
2001-11-20 17:14 ` Swap Christopher Friesen
2001-11-20 17:40 ` Swap Richard B. Johnson
2001-11-20 18:14 ` Swap Nick LeRoy
2001-11-21 10:17 ` Swap Helge Hafting
2001-11-21 11:17 ` Swap Alan Cox
2001-11-20 23:20 ` Swap Luigi Genoni
2001-11-21 16:44 ` Swap Remco Post
2001-11-20 17:58 ` Swap Wolfgang Rohdewald
2001-11-20 21:05 ` Swap Steffen Persvold
2001-11-20 21:18 ` Swap Mike Fedyk
2001-11-20 21:33 ` Swap Nick LeRoy
2001-11-20 21:44 ` Swap Mike Fedyk
2001-11-20 22:00 ` Swap Nick LeRoy
2001-11-21 16:53 ` Swap Remco Post
2001-11-20 21:43 ` Swap Richard B. Johnson
2001-11-20 21:19 ` Swap Nick LeRoy
2001-11-21 16:48 ` Swap Remco Post
2001-11-20 20:58 ` Swap Mike Fedyk
2001-11-19 10:03 ` Swap Tim Connors
2001-11-19 10:16 ` Swap Dan Maas
2001-11-18 21:12 Swap war
2001-11-18 21:25 ` Swap James A Sutherland
2001-11-18 21:28 ` Swap war
2001-11-18 21:42 ` Swap François Cami
2001-11-18 21:45 ` Swap war
2001-11-18 23:03 ` Swap Erik Gustavsson
2001-11-19 18:12 ` Swap Eric W. Biederman
2001-11-19 18:43 ` Swap Rik van Riel
2001-11-20 2:49 ` Swap Eric W. Biederman
2001-11-20 3:33 ` Swap Ryan Cumming
2001-11-20 11:43 ` Swap Rik van Riel
2001-11-20 11:41 ` Swap Rik van Riel
2001-11-19 19:12 ` Swap James A Sutherland
2001-11-20 2:47 ` Swap Eric W. Biederman
2001-11-20 9:16 ` Swap James A Sutherland
2001-11-18 22:05 ` Swap J.A. Magallon
2001-11-18 22:21 ` Swap François Cami
2001-11-18 22:36 ` Swap Charles Marslett
2001-11-18 22:54 ` Swap J.A. Magallon
2001-11-18 23:36 ` Swap Bernd Eckenfels
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='03bb01c17213$887ccd30$1a01a8c0@allyourbase' \
--to=dmaas@dcine.com \
--cc=davem@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=riel@conectiva.com.br \
/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