Date: Wed, 16 May 2001 09:17:21 -0600 From: Charles Randall <crandall@matchlogic.com> To: 'Matt Dillon' <dillon@earth.backplane.com>, Roger Larsson <roger.larsson@norran.net> Cc: Rik van Riel <riel@conectiva.com.br>, arch@FreeBSD.ORG, linux-mm@kvack.org, sfkaplan@cs.amherst.edu Subject: RE: on load control / process swapping Message-ID: <5FE9B713CCCDD311A03400508B8B30130828EDA8@bdr-xcln.corp.matchlogic.com>
next in thread | raw e-mail | index | archive | help
On a related note, we have a process (currently on Solaris, but = possibly moving to FreeBSD) that reads a 26 GB file just once for a database = load. On Solaris, we use the directio() function call to tell the filesystem to bypass the buffer cache for this file descriptor. From the Solaris directio() man page, DIRECTIO_ON The system behaves as though the application is not going to reuse the file data in the near future. In other words, the file data is not cached in the system's memory pages. We found that without this, Solaris was aggressively trying to cache = the huge input file at the expense of database load performance (but we = knew that we'd never access it again). For some applications this is a huge = win (random I/O on a file much larger than memory seems to be another = case). Would there be an advantage to having a similar feature in FreeBSD (if = not already present)? -Charles -----Original Message----- From: Matt Dillon [mailto:dillon@earth.backplane.com] Sent: Tuesday, May 15, 2001 6:17 PM To: Roger Larsson Cc: Rik van Riel; arch@FreeBSD.ORG; linux-mm@kvack.org; sfkaplan@cs.amherst.edu Subject: Re: on load control / process swapping :Are the heuristics persistent?=20 :Or will the first use after boot use the rough prediction?=20 :For how long time will the heuristic stick? Suppose it is suddenly = used in :a slightly different way. Like two sequential readers instead of = one... : :/RogerL :Roger Larsson :Skellefte=E5 :Sweden It's based on the VM page cache, so its adaptive over time. I = wouldn't call it persistent, it is nothing more then a simple heuristic that 'normally' throws a page away but 'sometimes' caches it. In = otherwords, you lose some performance on the frontend in order to gain some = later on. If you loop through a file enough times, most of the file winds up getting cached. It's still experimental so it is only lightly tied into the system. It seems to work, though, so at some point in the future I'll probably try to put some significant = prediction in. But as I said, it's a very difficult thing to predict. You = can't just put your foot down and say 'I'll cache X amount of file Y'. = That doesn't work at all. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5FE9B713CCCDD311A03400508B8B30130828EDA8>