cvs commit: src/sys/gnu/ext2fs ext2_bitops.hext2_linux_balloc.c ext2_linux_ialloc.c ia64-bitops.h

Bruce Evans bde at zeta.org.au
Tue Aug 26 00:44:48 PDT 2003


On Sun, 24 Aug 2003, Marcel Moolenaar wrote:

> marcel      2003/08/24 18:39:47 PDT
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/gnu/ext2fs       ext2_linux_balloc.c ext2_linux_ialloc.c
>   Added files:
>     sys/gnu/ext2fs       ext2_bitops.h
>   Removed files:
>     sys/gnu/ext2fs       ia64-bitops.h
>   Log:
>   Change of plans: Add ext2_bitops.h with generic and portable
>   implementations. Use those on platforms that don't have MD
>   headers. Remove the ia64 MD header. We're going to use the C
>   implementation there.
>
>   Suggested by: bde

Thnaks.  I'll deventually do some benchmarks to see if we want the MD
(inline assembler) versions at all.

Technical questions:
- Do you really need the locking (atomic_cmpset)?  I think there should
  be higher level locking in the context of ext2fs.
- The sparc64 versions seem to show need for complications in endian
  mismatch cases.  I think ext2fs is always little endian.  For bitmaps,
  getting a free bit from the wrong end might only be a pessizimation.

ext2fs under FreeBSD has pessimized block allocation anyway.  The
allocator most ignores the groups and finds the next free block at the
beginning of the disk, so it gives very good locality if everything
fits in the first group but tends to gives fragmented allocation when
the disk fills up.

Bruce


More information about the cvs-src mailing list