commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] Hurd branch, master, updated. v0.5-249-g1a3d809


From: Justus Winter
Subject: [SCM] Hurd branch, master, updated. v0.5-249-g1a3d809
Date: Tue, 13 May 2014 14:54:10 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hurd".

The branch, master has been updated
       via  1a3d809146c95cd138bad7bd42eb923af0a23493 (commit)
       via  134b450cb65b1986c78e0b292cff78c2f1882a2b (commit)
      from  261d957ebe4cf16aed76eed24b5bfd32f1f5a79a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 1a3d809146c95cd138bad7bd42eb923af0a23493
Author: Justus Winter <address@hidden>
Date:   Thu May 8 16:43:11 2014 +0200

    libihash: reduce the default maximum load factor to 75%
    
    The performance of hash tables depend critically on a low number of
    hash collisions.  As the table fills up, the chance of collisions
    necessarily raises.
    
    Previously, libihash resized the hash table when the load exceeded
    80%.  This seems a bit optimistic (e. g. java.util.Hashtable uses 75%
    as default).
    
    * libihash/ihash.h (HURD_IHASH_MAX_LOAD_DEFAULT): Set to 75.

commit 134b450cb65b1986c78e0b292cff78c2f1882a2b
Author: Justus Winter <address@hidden>
Date:   Thu Apr 24 17:44:14 2014 +0200

    ext2fs: cache the superblock
    
    Previously, the superblock was mmaped and a pointer stored in sblock
    by map_hypermetadata.  This memory is backed by our disk pager.
    
    This is rather unfortunate, as this means that whenever we read a
    value from that location, we might generate a request our disk pager.
    This amplifies the so-called thread-storm problem.
    
    Rather than relying on a mmaped region of memory, just use the data
    loaded by get_hypermetadata.
    
    * ext2fs/hyper.c (get_hypermetadata): Do not free sblock.
    (mapped_sblock): New variable.
    (map_hypermetadata): Map the superblock to mapped_sblock instead.
    (diskfs_set_hypermetadata): Copy superblock into mapped_superblock.
    * ext2fs/ext2fs.h (get_hypermetadata, map_hypermetadata): Adjust
    comments accordingly.

-----------------------------------------------------------------------

Summary of changes:
 ext2fs/ext2fs.h  |    8 ++++++--
 ext2fs/hyper.c   |   19 +++++++++++--------
 libihash/ihash.h |    2 +-
 3 files changed, 18 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
Hurd



reply via email to

[Prev in Thread] Current Thread [Next in Thread]