1. 22 Jul, 2015 1 commit
  2. 21 Jul, 2015 2 commits
    • Chandler Wilkerson's avatar
      fix incorrect reading of cpuinfo on POWER systems · 962dea86
      Chandler Wilkerson authored
      This patch provides a rewrite of how /proc/cpuinfo is parsed in common_jag.c, as the original code made the incorrect assumption that cpuinfo follows a sane format across architectures ;-)
      
      The motivation for this patch is that the original code was producing stack smashing on a POWER7 running RHEL6.4 Red Hat adds -fstack-protector along with a lot of other protective CFLAGS when building RPMs. The code ran okay with -fno-stack-protector, but that is not the best work-around.
      
      So, the relevant /proc/cpuinfo line on an Intel (Xeon X5675) system looks like:
      
      cpu MHz                : 3066.915
      
      Whereas the relevant line in a POWER7 system is
      
      clock                : 3550.000000MHz
      
      My patch replaces the assumption that the relevant number starts 11 characters into the string with another assumption: That the relevant number starts two characters after a colon in a string that matches (M|G)Hz.
      
      All in all, the function has a few more calls, which may be a performance issue if it has to be called multiple times, but since the section I edited only gets evaluated if we don't know the cpu frequency, getting it right will actually result in fewer string operations and unnecessary opens of /proc/cpuinfo for systems likewise affected.
      
      Finally, I also read the actual value into a double and multiply it up to the size indicated by the suffix, so we end up with KHz? It was unclear what the original code intended, since it matched both MHz and GHz, replaced the decimal point with a zero, and read the result as an int.
      
      --
      Chandler Wilkerson
      Center for Research Computing
      Rice University
      962dea86
    • Danny Auble's avatar
      Revert "ALPS - Remove sanity code to work like it did in 2.5. This is an addition" · 6ab26aa6
      Danny Auble authored
      This reverts commit 2c95e2d2.
      
      Conflicts:
      	src/plugins/select/alps/basil_interface.c
      
      This is related to bug 1822.  It isn't clear why the code was taken out in
      this commit in the first place and based off of commit 2e2de6a4 (which is
      the reason for the conflict) we tried unsuccessfully to put it back.
      
      It appears the only difference here is the addition of
      always setting mppnppn = 1 instead of always to
      job_ptr->details->ntasks_per_node when no ntasks is set.
      
      This appears to only be an issue with salloc or sbatch as ntasks
      is always set for srun.
      6ab26aa6
  3. 20 Jul, 2015 1 commit
  4. 18 Jul, 2015 1 commit
  5. 17 Jul, 2015 4 commits
  6. 16 Jul, 2015 2 commits
  7. 15 Jul, 2015 3 commits
  8. 14 Jul, 2015 3 commits
  9. 13 Jul, 2015 2 commits
    • Morris Jette's avatar
      job array update results in bad task ID · 29a52f60
      Morris Jette authored
      Fix to job array update logic that can result in a task ID of 4294967294.
      To reproduce:
      $ sbatch --exclusive -a 1,3,5 tmp
      Submitted batch job 11825
      $ scontrol update jobid=11825_[3,4,5] timelimit=3
      $ squeue
                   JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
                 11825_3     debug      tmp    jette PD       0:00      1 (None)
                 11825_4     debug      tmp    jette PD       0:00      1 (None)
                 11825_5     debug      tmp    jette PD       0:00      1 (None)
                   11825     debug      tmp    jette PD       0:00      1 (Resources)
      A new job array entry was created for task ID 4 and the "master" job
      array record now has a task ID of 4294967294.
      The logic with the bug was using the wrong variable in a test.
      bug 1790
      29a52f60
    • Gene Soudlenkov's avatar
      Fix segfault when updating timelimit on jobarray task. · 0560d8b2
      Gene Soudlenkov authored
      Bug 1799
      0560d8b2
  10. 11 Jul, 2015 1 commit
    • Nathan Yee's avatar
      Increase system stats field size · 2b0ebd7f
      Nathan Yee authored
      Increase total backfill scheduler run time in stats_info_response_msg data
          structure from 32 to 64 bits in order to prevent overflow.
      2b0ebd7f
  11. 10 Jul, 2015 4 commits
  12. 09 Jul, 2015 2 commits
    • Morris Jette's avatar
      Change slurmctld threads count against limit · ad9c2413
      Morris Jette authored
      The slurmctld logic throttles some RPCs so that only one of them
      can execute at a time in order to reduce contention for the job,
      partition and node locks (only one of the effected RPCs can execute
      at any time anyway and this lets other RPC types run). While an
      RPC is stuck in the throttle function, do not count that thread
      against the slurmctld thread limit.
      but 1794
      ad9c2413
    • Morris Jette's avatar
      Bug fixes in powercapping logic · 44619ea0
      Morris Jette authored
      Changed spaces to tabs at start of lines.
      Minor changes to some formatting.
      Added the new files to the RPM (slurm.spec file).
      Prevent memory leak of "l_name" variable if which_power_layout()
          function is called more than once.
      Initialize "cpufreq" variable in powercap_get_cpufreq() function.
      Array "tmp_max_watts_dvfs" could be NULL and used if "max_watts_dvfs" variable is
          NULL in powercap_get_node_bitmap_maxwatts_dvfs()
      Variable "tmp_pcap_cpu_freq" could be used with uninitialized value in function
          _get_req_features()
      Variable "tmp_max_watts" could be used with uninitialized value in function
          _get_req_features()
      Array "tmp_max_watts_dvfs" could be used with uninitialized value in function
          _get_req_features()
      Array "allowed_freqs" could be NULL and used if "node_record_count" variable is
          zero in powercap_get_job_nodes_numfreq()
      Overwriting a memory buffer header (especially with different data types) is
          just asking for something bad to happen. This code from function
          powercap_get_job_nodes_numfreq():
      			allowed_freqs = xmalloc(sizeof(int)*((int)num_freq+2));
      			allowed_freqs[-1] = (int) num_freq;
      Clean up memory on slurmctld shutdown
      44619ea0
  13. 08 Jul, 2015 3 commits
  14. 07 Jul, 2015 6 commits
  15. 06 Jul, 2015 2 commits
    • Morris Jette's avatar
      scheduler/backfill enhancements · edfbabe6
      Morris Jette authored
      Backfill scheduler now considers OverTimeLimit and KillWait configuration
      parameters to estimate when running jobs will exit. Initially the job's
      end time is estimated based upon it's time limit. After the time limit
      is reached, the end time estimate is based upon the OverTimeLimit and
      KillWait configuration parameters.
      bug 1774
      edfbabe6
    • Morris Jette's avatar
      Add backfill scheduler timeout · 7e944220
      Morris Jette authored
      Backfill scheduler: The configured backfill_interval value (default 30
          seconds) is now interpretted as a maximum run time for the backfill
          scheduler. Once reached, the scheduler will build a new job queue and
          start over, even if not all jobs have been tested.
      bub 1774
      7e944220
  16. 02 Jul, 2015 2 commits
  17. 01 Jul, 2015 1 commit