Skip to contentSkip to conversation

- remove m_nreadaheads

PATCH In review Eric Sandeen 3 participants 3 messages Jul 20, 2007 – Jul 22, 2007 XFS filesystem

lore
Share & tools
lore
#0 lore raw

PATCH 1/7 - remove m_nreadaheads

Dave pointed this out...

m_nreadaheads in the mount struct is never used;
remove it and the various macros assigned to it.

Also remove a couple other unused macros in the same areas.

Removes one user of xfs_physmem.

fs/xfs/linux-2.4/xfs_lrw.h +0 -5
Index: linux/fs/xfs/linux-2.4/xfs_lrw.h
===================================================================
@@ -69,11 +69,6 @@ extern void xfs_inval_cached_trace(struc
 #define xfs_inval_cached_trace(io, offset, len, first, last)
 #endif
 
-/*
- * Maximum count of bmaps used by read and write paths.
- */
-#define	XFS_MAX_RW_NBMAPS	4
-
 extern int xfs_bmap(struct bhv_desc *, xfs_off_t, ssize_t, int,
 			struct xfs_iomap *, int *);
 extern int xfsbdstrat(struct xfs_mount *, struct xfs_buf *);
fs/xfs/linux-2.6/xfs_lrw.h +0 -5
Index: linux/fs/xfs/linux-2.6/xfs_lrw.h
===================================================================
@@ -71,11 +71,6 @@ extern void xfs_inval_cached_trace(struc
 #define xfs_inval_cached_trace(io, offset, len, first, last)
 #endif
 
-/*
- * Maximum count of bmaps used by read and write paths.
- */
-#define	XFS_MAX_RW_NBMAPS	4
-
 extern int xfs_bmap(struct bhv_desc *, xfs_off_t, ssize_t, int,
 			struct xfs_iomap *, int *);
 extern int xfsbdstrat(struct xfs_mount *, struct xfs_buf *);
fs/xfs/xfs_mount.c +0 -10
Index: linux/fs/xfs/xfs_mount.c
===================================================================
@@ -871,16 +871,6 @@ xfs_mountfs(
 		writeio_log = mp->m_writeio_log;
 	}
 
-	/*
-	 * Set the number of readahead buffers to use based on
-	 * physical memory size.
-	 */
-	if (xfs_physmem <= 4096)		/* <= 16MB */
-		mp->m_nreadaheads = XFS_RW_NREADAHEAD_16MB;
-	else if (xfs_physmem <= 8192)	/* <= 32MB */
-		mp->m_nreadaheads = XFS_RW_NREADAHEAD_32MB;
-	else
-		mp->m_nreadaheads = XFS_RW_NREADAHEAD_K32;
 	if (sbp->sb_blocklog > readio_log) {
 		mp->m_readio_log = sbp->sb_blocklog;
 	} else {
fs/xfs/xfs_mount.h +0 -1
Index: linux/fs/xfs/xfs_mount.h
===================================================================
@@ -362,7 +362,6 @@ typedef struct xfs_mount {
 	__uint8_t		m_blkbb_log;	/* blocklog - BBSHIFT */
 	__uint8_t		m_agno_log;	/* log #ag's */
 	__uint8_t		m_agino_log;	/* #bits for agino in inum */
-	__uint8_t		m_nreadaheads;	/* #readahead buffers */
 	__uint16_t		m_inode_cluster_size;/* min inode buf size */
 	uint			m_blockmask;	/* sb_blocksize-1 */
 	uint			m_blockwsize;	/* sb_blocksize in words */
fs/xfs/xfs_rw.h +0 -26
Index: linux/fs/xfs/xfs_rw.h
===================================================================
@@ -23,32 +23,6 @@ struct xfs_inode;
 struct xfs_mount;
 
 /*
- * Maximum count of bmaps used by read and write paths.
- */
-#define	XFS_MAX_RW_NBMAPS	4
-
-/*
- * Counts of readahead buffers to use based on physical memory size.
- * None of these should be more than XFS_MAX_RW_NBMAPS.
- */
-#define	XFS_RW_NREADAHEAD_16MB	2
-#define	XFS_RW_NREADAHEAD_32MB	3
-#define	XFS_RW_NREADAHEAD_K32	4
-#define	XFS_RW_NREADAHEAD_K64	4
-
-/*
- * Maximum size of a buffer that we\'ll map.  Making this
- * too big will degrade performance due to the number of
- * pages which need to be gathered.  Making it too small
- * will prevent us from doing large I/O\'s to hardware that
- * needs it.
- *
- * This is currently set to 512 KB.
- */
-#define	XFS_MAX_BMAP_LEN_BB	1024
-#define	XFS_MAX_BMAP_LEN_BYTES	524288
-
-/*
  * Convert the given file system block to a disk block.
  * We have to treat it differently based on whether the
  * file is a real time file or not, because the bmap code
fs/xfs/xfsidbg.c +2 -3
Index: linux/fs/xfs/xfsidbg.c
===================================================================
@@ -6702,9 +6702,8 @@ xfsidbg_xmount(xfs_mount_t *mp)
 	kdb_printf("dircook_elog %d blkbit_log %d blkbb_log %d agno_log %d\n",
 		mp->m_dircook_elog, mp->m_blkbit_log, mp->m_blkbb_log,
 		mp->m_agno_log);
-	kdb_printf("agino_log %d nreadaheads %d inode cluster size %d\n",
-		mp->m_agino_log, mp->m_nreadaheads,
-		mp->m_inode_cluster_size);
+	kdb_printf("agino_log %d inode cluster size %d\n",
+		mp->m_agino_log, mp->m_inode_cluster_size);
 	kdb_printf("blockmask 0x%x blockwsize 0x%x blockwmask 0x%x\n",
 		mp->m_blockmask, mp->m_blockwsize, mp->m_blockwmask);
 	kdb_printf("alloc_mxr[lf,nd] %d %d alloc_mnr[lf,nd] %d %d\n",
#1 lore raw
Quoted 8 lines · Eric Sandeen

Dave pointed this out...

m_nreadaheads in the mount struct is never used;
remove it and the various macros assigned to it.

Also remove a couple other unused macros in the same areas.

Removes one user of xfs_physmem.

Looks good.

#2 lore raw
In reply to Eric Sandeen
Quoted 10 lines · Eric Sandeen

Dave pointed this out...

m_nreadaheads in the mount struct is never used;
remove it and the various macros assigned to it.

Also remove a couple other unused macros in the same areas.

Removes one user of xfs_physmem.

The patch series looks good, Eric. I've grabbed all of them for testing, but I'll hold off applying the lock wrapper changes until we decide exactly what to do there...

Cheers,

Dave.

Signature · 3 lines
Dave Chinner
Principal Engineer
SGI Australian Software Group