Re: [PATCH 20/33] readahead: initial method - expected read size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 26, 2006 at 10:29:34AM -0700, Andrew Morton wrote:
> Wu Fengguang <[email protected]> wrote:
> >
> > backing_dev_info.ra_expect_bytes is dynamicly updated to be the expected
> > read pages on start-of-file. It allows the initial readahead to be more
> > aggressive and hence efficient.
> > 
> > 
> > +void fastcall readahead_close(struct file *file)
> 
> eww, fastcall.

Hehe, it's a tiny function, and calls no further sub-routines
except debugging ones.   Still not necessary?

> > +{
> > +	struct inode *inode = file->f_dentry->d_inode;
> > +	struct address_space *mapping = inode->i_mapping;
> > +	struct backing_dev_info *bdi = mapping->backing_dev_info;
> > +	unsigned long pos = file->f_pos;
> 
> f_pos is loff_t.

Just meant to be a little more compact ;)

+       unsigned long pos = file->f_pos;
+       unsigned long pgrahit = file->f_ra.cache_hits;
+       unsigned long pgaccess = 1 + pos / PAGE_CACHE_SIZE;
+       unsigned long pgcached = mapping->nrpages;
+
+       if (!pos)                               /* pread */
+               return;
+
+       if (pgcached > bdi->ra_pages0)          /* excessive reads */
+               return;

Here the f_pos will almost definitely has small values.

+
+       if (pgaccess >= pgcached) {


Fixed by adding a comment to clarify it:

+       unsigned long pos = file->f_pos;  /* supposed to be small */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux