Skip site navigation (1) Skip section navigation (2)

Re: Introducing a new linux readahead framework

From: Markus Schaber <schabi(at)logix-tt(dot)com>
To: Wu Fengguang <wfg(at)mail(dot)ustc(dot)edu(dot)cn>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Introducing a new linux readahead framework
Date: 2006-04-21 07:53:34
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-performance
Hi, Wu,

Wu Fengguang wrote:

>>>In adaptive readahead, the context based method may be of particular
>>>interest to postgresql users. It works by peeking into the file cache
>>>and check if there are any history pages present or accessed. In this
>>>way it can detect almost all forms of sequential / semi-sequential read
>>>patterns, e.g.
>>>	- parallel / interleaved sequential scans on one file
>>>	- sequential reads across file open/close
>>>	- mixed sequential / random accesses
>>>	- sparse / skimming sequential read
>>>It also have methods to detect some less common cases:
>>>	- reading backward
>>>	- seeking all over reading N pages

Gread news, thanks!

> This call will disable readahead totally for fd:
>         posix_fadvise(fd, any, any, POSIX_FADV_RANDOM);
> This one will reenable it:
>         posix_fadvise(fd, any, any, POSIX_FADV_NORMAL);
> This one will enable readahead _and_ set max readahead window to
> 2*max_readahead_kb:
>         posix_fadvise(fd, any, any, POSIX_FADV_SEQUENTIAL);

I think that this is an easy, understandable and useful interpretation
of posix_fadvise() hints.

Are there any rough estimates when this will get into mainline kernel
(if you intend to submit)?


Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf.     | Software Development GIS

Fight against software patents in EU!

In response to


pgsql-performance by date

Next:From: Jan DittmerDate: 2006-04-21 08:37:10
Subject: Better way to write aggregates?
Previous:From: Wu FengguangDate: 2006-04-21 07:15:11
Subject: Re: Introducing a new linux readahead framework

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group