android_kernel_xiaomi_sm8350/fs/xfs
David Chinner 1fc5d959d8 [XFS] Fix inode reclaim scalability regression. When a filesystem has
millions of inodes cached and has sparse cluster population, removing
inodes from the cluster hash consumes excessive amounts of CPU time.
Reduce the CPU cost by making removal O(1) via use of a double linked list
for the hash chains.

SGI-PV: 951551
SGI-Modid: xfs-linux-melb:xfs-kern:25683a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-04-11 15:11:12 +10:00
..
linux-2.6 [XFS] Fix a writepage regression where we accidentally stopped honouring 2006-04-11 15:10:55 +10:00
quota [XFS] Make project quota enforcement return an error code consistent with 2006-03-31 13:04:49 +10:00
support [XFS] Fixup naming inconsistencies found by Pekka Enberg and one from Jan 2006-03-22 12:47:28 +11:00
Kbuild
Kconfig
Makefile
Makefile-linux-2.6 [XFS] Sync up one/two other minor changes missed in previous merges. 2006-03-22 14:12:12 +11:00
xfs_acl.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_acl.h [XFS] Fixup naming inconsistencies found by Pekka Enberg and one from Jan 2006-03-22 12:47:28 +11:00
xfs_ag.h [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_alloc_btree.c
xfs_alloc_btree.h
xfs_alloc.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_alloc.h [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_arch.h
xfs_attr_leaf.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_attr_leaf.h [XFS] endianess annotations for xfs_attr_leaf_name_remote_t 2006-03-17 17:29:18 +11:00
xfs_attr_sf.h [XFS] endianess annotations for xfs_attr_shortform_t 2006-03-17 17:29:25 +11:00
xfs_attr.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_attr.h
xfs_behavior.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_behavior.h [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_bit.c
xfs_bit.h
xfs_bmap_btree.c [XFS] 929045 567344 This mod re-organizes some of the in-core file extent 2006-03-14 13:29:52 +11:00
xfs_bmap_btree.h [XFS] 929045 567344 This mod introduces multi-level in-core file extent 2006-03-14 13:30:23 +11:00
xfs_bmap.c [XFS] Make project quota enforcement return an error code consistent with 2006-03-31 13:04:49 +10:00
xfs_bmap.h [XFS] Cleanup comment to remove reference to obsoleted function 2006-03-31 13:03:58 +10:00
xfs_btree.c
xfs_btree.h
xfs_buf_item.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_buf_item.h
xfs_cap.h [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_clnt.h [XFS] Implement the silent parameter to fill_super, previously ignored. 2006-03-31 13:04:17 +10:00
xfs_da_btree.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_da_btree.h [XFS] endianess annotations for xfs_da_node_hdr_t 2006-03-17 17:29:56 +11:00
xfs_dfrag.c [XFS] Complete transition away from linvfs naming convention, finally. 2006-03-17 17:25:36 +11:00
xfs_dfrag.h
xfs_dinode.h
xfs_dir2_block.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_dir2_block.h [XFS] endianess annotations for xfs_dir2_block_tail_t 2006-03-17 17:27:56 +11:00
xfs_dir2_data.c [XFS] endianess annotations for XFS_DIR2_DATA_ENTRY_TAG_P 2006-03-17 17:28:27 +11:00
xfs_dir2_data.h [XFS] endianess annotations for XFS_DIR2_DATA_ENTRY_TAG_P 2006-03-17 17:28:27 +11:00
xfs_dir2_leaf.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_dir2_leaf.h [XFS] endianess annotations for xfs_dir2_leaf_entry_t 2006-03-17 17:28:18 +11:00
xfs_dir2_node.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_dir2_node.h [XFS] endianess annotations for xfs_dir2_free_hdr_t 2006-03-17 17:27:07 +11:00
xfs_dir2_sf.c [XFS] endianess annotations for xfs_dir2_leaf_entry_t 2006-03-17 17:28:18 +11:00
xfs_dir2_sf.h
xfs_dir2_trace.c
xfs_dir2_trace.h
xfs_dir2.c
xfs_dir2.h [XFS] Make headers compile for more compiler variants; minor cleanup. 2006-03-14 13:20:33 +11:00
xfs_dir_leaf.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_dir_leaf.h
xfs_dir_sf.h [XFS] Make headers compile for more compiler variants; minor cleanup. 2006-03-14 13:20:33 +11:00
xfs_dir.c [XFS] endianess annotations for xfs_da_node_hdr_t 2006-03-17 17:29:56 +11:00
xfs_dir.h
xfs_dmapi.h [XFS] Sync up one/two other minor changes missed in previous merges. 2006-03-22 14:12:12 +11:00
xfs_dmops.c
xfs_error.c
xfs_error.h [XFS] Implement the silent parameter to fill_super, previously ignored. 2006-03-31 13:04:17 +10:00
xfs_extfree_item.c
xfs_extfree_item.h
xfs_fs.h
xfs_fsops.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_fsops.h
xfs_ialloc_btree.c
xfs_ialloc_btree.h
xfs_ialloc.c [XFS] A change to inode chunk allocation to try allocating the new chunk 2006-03-29 09:52:28 +10:00
xfs_ialloc.h
xfs_iget.c [XFS] Fix inode reclaim scalability regression. When a filesystem has 2006-04-11 15:11:12 +10:00
xfs_imap.h
xfs_inode_item.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_inode_item.h
xfs_inode.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_inode.h [XFS] Fix inode reclaim scalability regression. When a filesystem has 2006-04-11 15:11:12 +10:00
xfs_inum.h
xfs_iocore.c
xfs_iomap.c [XFS] Fixing KDB's xrwtrc command, also added the current process id into 2006-03-22 12:44:15 +11:00
xfs_iomap.h
xfs_itable.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_itable.h [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_log_priv.h
xfs_log_recover.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_log_recover.h
xfs_log.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_log.h [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_mac.h
xfs_mount.c [XFS] Fix superblock validation regression for the zero imaxpct case. 2006-04-11 15:10:45 +10:00
xfs_mount.h [XFS] Implement the silent parameter to fill_super, previously ignored. 2006-03-31 13:04:17 +10:00
xfs_qmops.c
xfs_quota.h [XFS] Make project quota enforcement return an error code consistent with 2006-03-31 13:04:49 +10:00
xfs_refcache.h
xfs_rename.c
xfs_rtalloc.c [XFS] Fix a realtime allocator regression introduced by an old iget race 2006-02-28 12:29:51 +11:00
xfs_rtalloc.h
xfs_rw.c
xfs_rw.h [XFS] Sync up one/two other minor changes missed in previous merges. 2006-03-22 14:12:12 +11:00
xfs_sb.h
xfs_trans_ail.c
xfs_trans_buf.c
xfs_trans_extfree.c
xfs_trans_inode.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_trans_item.c
xfs_trans_priv.h
xfs_trans_space.h
xfs_trans.c [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_trans.h [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all 2006-03-29 08:55:14 +10:00
xfs_types.h
xfs_utils.c
xfs_utils.h
xfs_vfsops.c [XFS] Reenable write barriers by default. 2006-03-31 13:04:56 +10:00
xfs_vnodeops.c [XFS] Provide XFS support for the splice syscall. 2006-03-31 13:08:59 +10:00
xfs.h