pigfoot’s weblog

We should forget about small efficiencies — Donald Knuth

Archive for the ‘Unix’ Category

Solaris fsync performance

fsync performance, from Gary J’s weblog.

some summary is below:

fsync() is used to ensure that dirty pages that have been written to a file actully go down to disk. The same sort of thing can be done by opening a file using one of the O_SYNC options when a file is opened. fsync() however, allows greater flexibility since the programmer can specify when the synchronisation to disk takes place - perhaps in a separate thread. Anyhow, generally fsync() is goodness and cheap since it only sync’s the data that is dirty.

Since many developers think of fsync() as a ‘free’ system call, often it is called quite indiscriminately and so fsync() performance can really make a BIG difference (See the test results at his weblog).

However there is (or rather was) a subtle problem that shows up when very large files are mapped into the memory of systems with reasonable amounts of memory. The problem is that the file is searched linearly (from beginning to end) from the first page that is mapped in right through to the last.

The good news is that this behavior is changed in Solaris 9 (designed for large systems like the 15/12/25K StarCat range) so that all the dirty pages are put at the head of the list, and we need only search the list until we find the first non-dirty page.

Popularity: 18% [?]

  • 1 Comment
  • Filed under: IT, Sun, Unix
  • cvs commit log of adding files in ports for sysutils/xfsprogs.
    New port for utilities for manipulating XFS filesystems. Originally ported by Alexander Kabaev (kan at freebsd.org) as part of the XFS for FreeBSD project and handed over to me for maintainership.

    cvs commit log of adding files in src for sys/gnu/reiserfs.
    Import of ReiserFS filesystem support (currently limited to read-only on i386).

    Popularity: 17% [?]

  • 0 Comments
  • Filed under: FreeBSD, IT, Unix
  • ATI Linux Drivers Add Graphical Installer, from OSNews.

    ATI released new drivers for Linux. This release includes a new graphical install utility. That’s a great news.

    Popularity: 10% [?]

  • 0 Comments
  • Filed under: IT, Linux, Unix
  • Debian GNU/Linux 3.1 r0a released

    Debian GNU/Linux 3.1 CD/DVD images updated (r0a), from LWN.

    This is an update to the CD and DVD images of Debian 3.1 r0 due to a configuration mistake which will not get security updates by default.

    If you install Debian GNU/Linux from floppy disks or network servers, they were not affected.

    Popularity: 18% [?]

  • 0 Comments
  • Filed under: Debian, IT, Unix
  • Debian AMD64 Sarge released

    Debian AMD64 Sarge released, from LWN.

    You could try it later at http://cdimage.debian.org/cdimage/unofficial/sarge-amd64/ and see documents at http://amd64.debian.net/docs/.

    Popularity: 16% [?]

  • 0 Comments
  • Filed under: Debian, IT, Unix
  • FreeBSD 6.0 code freeze

    FreeBSD 6.0 code freeze, from OSNews.

    FreeBSD 6.0 schedule:

    • June 10, 2005 - Feature freeze + code slush
    • July 10, 2005 - RELENG_6 branch
    • August 1, 2005 - RELENG_6_0 branch
    • August 15, 2005 - 6.0-RELEASE

    Popularity: 16% [?]

  • 0 Comments
  • Filed under: FreeBSD, IT, Unix
  • Debian GNU/Linux 3.1 r0 released

    Debian GNU/Linux 3.1 r0 (Sarge) official announce at www.debian.org. The full download is available on 14 CDs or 2 DVDs.

    • K Desktop Environment 3.3 (KDE)
    • GNOME desktop environment 2.8
    • GNUstep desktop
    • XFree86 4.3.0
    • Mozilla 1.7.8, Firefox 1.0.4, Thunderbird 1.0.2
    • PostgreSQL 7.4.7, MySQL 4.0.24 and 4.1.11a
    • GNU Compiler Collection 3.3.5 (GCC)
    • Linux kernel versions 2.4.27 and 2.6.8
    • Apache 1.3.33 and 2.0.54
    • Samba 3.0.14
    • Python 2.3.5 and 2.4.1
    • Perl 5.8.4

    This release includes a *large* number of up-to-date large software packages. It is the closest to unstable in my feeling.

    Popularity: 16% [?]

  • 0 Comments
  • Filed under: Debian, IT, Unix