Hi all,
the reason to compile without optimization is to be able to have a meaningful stack when attaching gdb to the daemons or when analysing core files. If the optimization is on crucial variables in the stack are optimized out preventing exact diagnoses of issues. This of course is configurable, we only changed the default, if sites wish to compile with optimization use the config option --disable-debug. So this is not about sweeping bugs under the carpet it is exactly the opposite it is a tool to debug more efficiently.

The reasons for using statvfs versus statfs is that statfs is deprecated and replaced by the POSIX statvfs, so it is portable across platforms, indeed NetBSD and Solaris do not have statfs.
Since all platforms have stavfs the code in get_tmp_disk() under the
#define (HAVE_STATFS) is obsolete and will possibly be removed in the
next major release.

On 04/24/2015 12:39 PM, Paul Edmon wrote:
Correction 50,000 jobs per day.  That 1.5 million is per month.  My
bad.  Still no degradation in performance seen in our environment.

-Paul Edmon-

On 04/24/2015 03:31 PM, Chris Read wrote:
Re: [slurm-dev] Re: Slurm versions 14.11.6 is now available


On Fri, Apr 24, 2015 at 4:41 AM, Janne Blomqvist
<[email protected] <mailto:[email protected]>> wrote:

    On 2015-04-24 02:03, Moe Jette wrote:


        Slurm version 14.11.6 is now available with quite a few bug
        fixes as
        listed below.

        Slurm downloads are available from
        http://slurm.schedmd.com/download.html

        * Changes in Slurm 14.11.6
        ==========================


    [snip]

          -- Enable compiling without optimizations and with debugging
        symbols by
             default. Disable this by configuring with --disable-debug.


    Always including debug symbols is good (the only cost is a little
    bit of disk space, should never really be a problem), but
    disabling optimization by default?? In our environment, slurmctld
    consumes a decent chunk of cpu time, I would loathe to see it
    getting a lot (?) slower.


    Typically, problems which are "fixed" by disabling optimization
    are due to violations of the C standard or such which for some
    reason just doesn't happen to trigger with -O0. Perhaps I'm being
    needlessly harsh here, but I'd prefer if the bugs were fixed
    properly rather than being papered over like this.


+1 from me...



          -- Use standard statvfs(2) syscall if available, in
        preference to
             non-standard statfs.


    This is not actually such a good idea. Prior to Linux kernel
    2.6.36 and glibc 2.13, the implementation of statvfs required
    checking all entries in /proc/mounts. If any of those other
    filesystems are not available (e.g. a hung NFS mount), the statvfs
    call would thus hang. See e.g.

    http://man7.org/linux/man-pages/man2/statvfs.2.html

    Not directly related to this change, there is also a bit of
    silliness in the statfs() code for get_tmp_disk(), namely that it
    assumes that the fs record size is the same as the memory page
    size. As of Linux 2.6 the struct statfs contains a field f_frsize
    which contains the correct record size. I suggest the attached
    patch which should fix both of these issues.



    --
    Janne Blomqvist, D.Sc. (Tech.), Scientific Computing Specialist
    Aalto University School of Science, PHYS & NBE
    +358503841576 <tel:%2B358503841576> || [email protected]
    <mailto:[email protected]>




--

Thanks,
      /David/Bigagli

www.schedmd.com

Reply via email to