Re: unexpected paging during large file reads in 2.1.127

Zlatko Calusic
1998-11-18T22:51:13Z

"Stephen C. Tweedie" <sct@redhat.com> writes:

> Hi,
>
> On 17 Nov 1998 02:21:14 +0100, Zlatko Calusic <Zlatko.Calusic@CARNet.hr>
> said:
>
> > "Stephen C. Tweedie" <sct@redhat.com> writes:
>
> >> No, we don't. We don't evict just-read-in data, because we mark such
> >> pages as PG_Referenced. It takes two complete shrink_mmap() passes
> >> before we can evict such pages.
>
> > I didn't find this in the source (in fact, add_to_page_cache clears
> > PG_referenced bit, if I understood source correctly). But, see below.
>
> You didn't understand the source correctly. :) There is an extra
> bracket you missed:
>
> page->flags = (page->flags & ~((1 << PG_uptodate) | (1 << PG_error))) | (1 << PG_referenced);
>
> We clear PG_uptodate and PG_error, but we _set_ PG_referenced.

Oops. My apologies. You're right, of course.

That makes one line in my patch superfluous.

Although I have some experience in LISP, it looks like I still have
trouble counting parentheses (LISP = Lost In Stupid Parentheses). :)

Still, a small comment above that line would be extremely helpful.

>
> > I must agree entirely, because with small patch you can find below,
> > performance is very very good. Thanks to marking readahead pages as
> > referenced, I've been able to see exact behaviour that I wanted for a
> > long time.
>
> Excellent.
>

Pleasure is all mine. :)

I mean, bits from the patch are coming exclusively from you.

I'm really looking forward to their integration in the mainstream,
because performance improvement is so dramatic that I expect lots of
comments on the linux-kernel list telling that "latest 2.1.xxx is so
much faster".

Thanks for your good work!
--
Posted by Zlatko Calusic E-mail: <Zlatko.Calusic@CARNet.hr>
---------------------------------------------------------------------
"Luke... Luke... Use the MOUSE, Luke" - Obi Wan Gates