FYI: This code (i.e. 3 1-line changes) was responsible for a 10% performance
increase in wall-clock install time.

You've also had personabl experience why Fsync (close byt) isn't/wans't
the right implementation (was requested by Russell Coker for xfs hardening).

Study carefully, MADV_DONTNEED isn't where one expects to find
I/O performance improvements though its perfectly
obvious once you sift through the gory details.

hth

73 de Jeff


On May 14, 2011, at 4:36 PM, Per Øyvind Karlsen wrote:

>  RPM Package Manager, CVS Repository
>  http://rpm5.org/cvs/
>  ____________________________________________________________________________
> 
>  Server: rpm5.org                         Name:   Per Øyvind Karlsen
>  Root:   /v/rpm/cvs                       Email:  pkarl...@rpm5.org
>  Module: rpm                              Date:   14-May-2011 22:36:14
>  Branch: HEAD                             Handle: 2011051420361400
> 
>  Modified files:
>    rpm                     CHANGES
>    rpm/rpmio               iosm.c
> 
>  Log:
>    fix assertion error when trying to install packages without required
>    permissions.
> 
>  Summary:
>    Revision    Changes     Path
>    1.3640      +2  -0      rpm/CHANGES
>    1.44        +2  -1      rpm/rpmio/iosm.c
>  ____________________________________________________________________________
> 
>  patch -p0 <<'@@ .'
>  Index: rpm/CHANGES
>  ============================================================================
>  $ cvs diff -u -r1.3639 -r1.3640 CHANGES
>  --- rpm/CHANGES      12 May 2011 10:01:48 -0000      1.3639
>  +++ rpm/CHANGES      14 May 2011 20:36:14 -0000      1.3640
>  @@ -1,4 +1,6 @@
>   5.4.0 -> 5.4.1:
>  +    - proyvind: fix assertion error when trying to install packages without
>  +    required permissions.
>       - devzero2000: begin to put the preliminary check for SUSE
>       - afb: yaml: fix changelog entry markup
>       - afb: hdrfmt.c: add ISO-8601 date format
>  @@ .
>  patch -p0 <<'@@ .'
>  Index: rpm/rpmio/iosm.c
>  ============================================================================
>  $ cvs diff -u -r1.43 -r1.44 iosm.c
>  --- rpm/rpmio/iosm.c 29 Sep 2010 14:54:30 -0000      1.43
>  +++ rpm/rpmio/iosm.c 14 May 2011 20:36:14 -0000      1.44
>  @@ -2630,7 +2630,8 @@
>           rc = IOSMERR_OPEN_FAILED;
>       }
>   #if defined(POSIX_FADV_DONTNEED)
>  -    (void) Fadvise(iosm->wfd, 0, 0, POSIX_FADV_DONTNEED);
>  +    else
>  +        (void) Fadvise(iosm->wfd, 0, 0, POSIX_FADV_DONTNEED);
>   #endif
>       if (iosm->debug && (stage & IOSM_SYSCALL))
>           rpmlog(RPMLOG_DEBUG, " %8s (%s, \"w\") wfd %p wrbuf %p\n", cur,
>  @@ .
> ______________________________________________________________________
> RPM Package Manager                                    http://rpm5.org
> CVS Sources Repository                                rpm-...@rpm5.org

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to