xfs
[Top] [All Lists]

TAKE - pagebuf delalloc page cleaning changes

To: unlisted-recipients:; (no To-header on input)
Subject: TAKE - pagebuf delalloc page cleaning changes
From: Steve Lord <lord@xxxxxxx>
Date: Mon, 5 Feb 2001 13:33:36 -0600
Sender: owner-linux-xfs@xxxxxxxxxxx
This changes how we convert delalloc pages into real pages, the page cleaner
now scans the inactive_dirty list looking for candidates rather than the
page table. The kiobuf and buffer_head paths now behave in similar manners,
they both do clustered writes on delalloc conversion. This means that the
kiocluster mount option is not really needed, for now it will still be
parsed and interpreted as the same as the kio option, clustering is
independent of kiobufs now.

truncate_inode_pages is reverted to its original argument list, the toss/no
toss option is removed. This was a) not implemented correctly, and b) not
actually used anymore.

Finally, the pagebuf_flush function was cleaned up to do more optimal
memory allocations, and less dropping and obtaining of spinlocks.

There still remains more performance work to be done on how we trigger
the page cleaner.

Date:  Mon Feb  5 11:29:03 PST 2001
Workarea:  jen.americas.sgi.com:/src/lord/xfs-linux.2.4

The following file(s) were checked into:
  bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs


Modid:  2.4.x-xfs:slinx:84918a
linux/mm/memory.c - 1.44
        - revert truncate_inode_pages call to its original arguments

linux/mm/filemap.c - 1.66
        - call toss_page instead of convertpage when a delalloc page is found in
          the truncate_inode_pages path. Revert truncate_inode_pages to it's 
original
          specification.

linux/include/linux/mm.h - 1.47
        - revert truncate_inode_pages call to its original arguments

linux/include/linux/fs.h - 1.78
        - remove MS_KIOCLUSTER and IS_KIOCLUSTER, rename the converpage address
          space method to toss_page

linux/fs/inode.c - 1.36
        - Remove extra parameter from truncate_inode_pages, go back to the
          original Linux version.

linux/fs/xfs/linux/xfs_lrw.c - 1.75
        - revert truncate_inode_pages call to its original arguments

linux/fs/xfs/linux/xfs_super.c - 1.108
        - revert truncate_inode_pages call to its original arguments. Make the 
kiocluster
          mount option the same as the kio option for now, clustering happens 
all the
          time now.

linux/fs/xfs/linux/xfs_iops.c - 1.93
        - Change the convertpage method to a toss_page method.

linux/include/linux/page_buf.h - 1.72
        - replace pagebuf_convert_page with pagebuf_toss_page

linux/fs/pagebuf/page_buf.c - 1.51
        - Change to page locking for doing dealloc clustered writes using buffer
          heads.

linux/fs/pagebuf/page_buf_io.c - 1.49
        - Make the pagebuf cleaner operate by scanning the inactive dirty list
          of pages rather than the page table. This makes the page cleaner more
          deterministic. Change clustering code to operate even if we are not 
          using kiobufs for the I/O path. Change the pagebuf convert function 
into
          a pagebuf_toss_page function which removes delalloc state from a page.
          Cleanup the pagebuf_flush code to be more efficient.



<Prev in Thread] Current Thread [Next in Thread>
  • TAKE - pagebuf delalloc page cleaning changes, Steve Lord <=