On Thu, 2002-10-10 at 14:09, Steve Lord wrote:
> Switch xfs from using a big endian internal representation for
> the in memory copy of extents to a host byte order representation.
> The internal extents are read in once, then modified seperately
> from the on disk ones. Since we search and manipulate the extents
> multiple times, it is cheaper to convert them to host byte order
> once and then keep them in that format. Worth about 5 to 10%
> reduction in cpu time for some loads. Complicated by the fact
> that the in memory extents are written out to the log sometimes,
> and when expanding extents are used to write out the initial
> block of extents.
>
> There is no on disk format change here.
OK, so hold off on doing a cvs update with this for a while, my
crash tests keep running OK, but one of my other machines has some
corruption. It has other changes in the kernel which could be the
cause, but you never know....
Steve
>
> Steve
>
>
> Date: Thu Oct 10 12:09:44 PDT 2002
> Workarea: jen.americas.sgi.com:/src/lord/xfs-vanilla
>
> The following file(s) were checked into:
> bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs
>
>
> Modid: 2.4.x-xfs:slinx:129646a
> linux/fs/xfs/xfsidbg.c - 1.204
> - use disk based extent functions
>
> linux/fs/xfs/xfs_inode_item.c - 1.105
> - when formating an inode item with extents in the inode, endian
> flip the extents before they go out to the log. Doing this here
> rather than in recovery avoids us having to version the log.
>
> linux/fs/xfs/xfs_inode_item.h - 1.40
> - extend inode_item structure to contain an attribute extents buffer
>
> linux/fs/xfs/xfs_bmap_btree.h - 1.53
> - prototypes for disk format extent functions
>
> linux/fs/xfs/xfs_bmap_btree.c - 1.127
> - define and use different bmbt functions depending on if we are
> manipulating disk or host byte ordered extents. Only define the
> second set of functions as different if we are on a little endian
> host.
>
> linux/fs/xfs/xfs_btree.c - 1.100
> - use disk format extent functions
>
> linux/fs/xfs/xfs_inode.c - 1.354
> - in xfs_iformat_extents and xfs_iextents_copy, do endian conversion
>
> linux/fs/xfs/xfs_inode.h - 1.172
> - prototype change
>
> linux/fs/xfs/xfs_bmap.c - 1.294
> - endian flip extents when reading in from disk, and when
> going from in inode extents to a leaf block of extents.
>
>
--
Steve Lord voice: +1-651-683-3511
Principal Engineer, Filesystem Software email: lord@xxxxxxx
|