hpfs: implement prefetch to improve performance
This patch implements prefetch to improve performance. It helps mostly when scanning the bitmaps to calculate free space. Signed-off-by: Mikulas Patocka <mpatocka@artax.karlin.mff.cuni.cz> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
a0c1b75963
commit
275f495dbe
@@ -27,8 +27,9 @@
|
||||
#define ALLOC_FWD_MAX 128
|
||||
#define ALLOC_M 1
|
||||
#define FNODE_RD_AHEAD 16
|
||||
#define ANODE_RD_AHEAD 16
|
||||
#define DNODE_RD_AHEAD 4
|
||||
#define ANODE_RD_AHEAD 0
|
||||
#define DNODE_RD_AHEAD 72
|
||||
#define COUNT_RD_AHEAD 62
|
||||
|
||||
#define FREE_DNODES_ADD 58
|
||||
#define FREE_DNODES_DEL 29
|
||||
@@ -207,6 +208,7 @@ void hpfs_remove_fnode(struct super_block *, fnode_secno fno);
|
||||
|
||||
/* buffer.c */
|
||||
|
||||
void hpfs_prefetch_sectors(struct super_block *, unsigned, int);
|
||||
void *hpfs_map_sector(struct super_block *, unsigned, struct buffer_head **, int);
|
||||
void *hpfs_get_sector(struct super_block *, unsigned, struct buffer_head **);
|
||||
void *hpfs_map_4sectors(struct super_block *, unsigned, struct quad_buffer_head *, int);
|
||||
@@ -271,6 +273,7 @@ void hpfs_evict_inode(struct inode *);
|
||||
|
||||
__le32 *hpfs_map_dnode_bitmap(struct super_block *, struct quad_buffer_head *);
|
||||
__le32 *hpfs_map_bitmap(struct super_block *, unsigned, struct quad_buffer_head *, char *);
|
||||
void hpfs_prefetch_bitmap(struct super_block *, unsigned);
|
||||
unsigned char *hpfs_load_code_page(struct super_block *, secno);
|
||||
__le32 *hpfs_load_bitmap_directory(struct super_block *, secno bmp);
|
||||
struct fnode *hpfs_map_fnode(struct super_block *s, ino_t, struct buffer_head **);
|
||||
|
Reference in New Issue
Block a user