[Bugs] [Bug 1418536] New: Portmap allocates way too much memory (256KB) on stack

bugzilla at redhat.com bugzilla at redhat.com
Thu Feb 2 03:24:28 UTC 2017


https://bugzilla.redhat.com/show_bug.cgi?id=1418536

            Bug ID: 1418536
           Summary: Portmap allocates way too much memory (256KB) on stack
           Product: GlusterFS
           Version: 3.10
         Component: glusterd
          Assignee: bugs at gluster.org
          Reporter: jdarcy at redhat.com
                CC: bugs at gluster.org, nbalacha at redhat.com
        Depends On: 1418095



+++ This bug was initially created as a clone of Bug #1418095 +++

Some functions were allocating 64K booleans, which are (crazily) mapped to
4-byte ints, for a total of 256KB per call.  Besides being generally wasteful,
this means any code that creates worker threads - e.g. syncops, io-threads
translator - must allocate much bigger stacks for each thread *just in case* it
calls into portmap.  With multiplexing, this limits the number of threads we
can have, and therefore the number of bricks we can support in one process.

--- Additional comment from Worker Ant on 2017-01-31 15:18:23 EST ---

REVIEW: https://review.gluster.org/15745 (libglusterfs+transport+io-threads:
fix 256KB stack abuse) posted (#5) for review on master by Jeff Darcy
(jdarcy at redhat.com)

--- Additional comment from Worker Ant on 2017-02-01 19:59:29 EST ---

COMMIT: https://review.gluster.org/15745 committed in master by Shyamsundar
Ranganathan (srangana at redhat.com) 
------
commit c8a23cc6cd289dd28deb136bf2550f28e2761ef3
Author: Jeff Darcy <jdarcy at redhat.com>
Date:   Thu Oct 27 11:51:47 2016 -0400

    libglusterfs+transport+io-threads: fix 256KB stack abuse

    Some functions were allocating 64K booleans, which are (crazily) mapped to
    4-byte ints, for a total of 256KB per call.  Changed to use bitfields
instead,
    so usage is now only 8KB per call.  This was the impediment to changing the
    io-threads stack size, so that has been adjusted too.

    Change-Id: I8781c4f2c8f2b830f4535e366995fac8dd0a8653
    BUG: 1418095
    Signed-off-by: Jeff Darcy <jdarcy at redhat.com>
    Reviewed-on: https://review.gluster.org/15745
    Smoke: Gluster Build System <jenkins at build.gluster.org>
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.org>
    Reviewed-by: N Balachandran <nbalacha at redhat.com>
    Reviewed-by: Shyamsundar Ranganathan <srangana at redhat.com>


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1418095
[Bug 1418095] Portmap allocates way too much memory (256KB) on stack
-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list