diff --git a/NEWS b/NEWS index b101100f0ebd0a340128aa4fc7214995d08d228d..33a93e84c8aa8dfde01a4d87315cf60a7e3ca7ea 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,7 @@ documents those changes that are of interest to users and admins. -- Copied job stat logic out of sacct into sstat in the future sacct -stat will be deprecated. -- Correct sbatch processing of --nice option with negative values. + -- Add squeue formatted print option %Q to print a job's integer priority. * Changes in SLURM 1.3.2 ======================== diff --git a/doc/man/man1/squeue.1 b/doc/man/man1/squeue.1 index 8d05b602f588894ff47ea8f8e478d28056bb9b84..73e8e1868fbc98b68ae04df11cc29b5fa992d879 100644 --- a/doc/man/man1/squeue.1 +++ b/doc/man/man1/squeue.1 @@ -1,4 +1,4 @@ -.TH SQUEUE "1" "December 2006" "squeue 1.2" "Slurm components" +.TH SQUEUE "1" "May 2008" "squeue 1.3" "Slurm components" .SH "NAME" squeue \- view information about jobs located in the SLURM scheduling queue. @@ -189,7 +189,8 @@ Minimum number of nodes requested by the job. Are contiguous nodes requested by the job .TP \fB%p\fR -Priority of the job (converted to a floating point number between 0.0 and 1.0 +Priority of the job (converted to a floating point number between 0.0 and 1.0). +Also see \fB%Q\fR. .TP \fB%P\fR Partition of the job or job step @@ -197,6 +198,10 @@ Partition of the job or job step \fB%q\fR Comment associated with the job .TP +\fB%Q\fR +Priority of the job (generally a very large unsigned integer). +Also see \fB%p\fR. +.TP \fB%r\fR The reason a job is in its current state. See the \fBJOB REASON CODES\fR section below for more information. diff --git a/src/squeue/opts.c b/src/squeue/opts.c index 154ad1f70f8a0c09b1848171cd67c975f24dc9a3..8abdb3142b075e7a4116c3d35bb2a6866c828c69 100644 --- a/src/squeue/opts.c +++ b/src/squeue/opts.c @@ -558,6 +558,11 @@ extern int parse_format( char* format ) field_size, right_justify, suffix ); + else if (field[0] == 'Q') + job_format_add_priority_long( params.format_list, + field_size, + right_justify, + suffix ); else if (field[0] == 'r') job_format_add_reason( params.format_list, field_size, diff --git a/src/squeue/print.c b/src/squeue/print.c index c96ad8066abd3d4f8322aaa94dbaf2de3ef43198..0225f2ca31608812a36f2d6ee9b416c0cfd829ca 100644 --- a/src/squeue/print.c +++ b/src/squeue/print.c @@ -1,8 +1,8 @@ /*****************************************************************************\ * print.c - squeue print job functions - * $Id$ ***************************************************************************** - * Copyright (C) 2002 The Regents of the University of California. + * Copyright (C) 2002-2007 The Regents of the University of California. + * Copyright (C) 2008 Lawrence Livermore National Security. * Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). * Written by Joey Ekstrom <ekstrom1@llnl.gov>, * Morris Jette <jette1@llnl.gov>, et. al. @@ -525,6 +525,20 @@ int _print_job_priority(job_info_t * job, int width, bool right, char* suffix) return SLURM_SUCCESS; } +int _print_job_priority_long(job_info_t * job, int width, bool right, char* suffix) +{ + char temp[FORMAT_STRING_SIZE]; + if (job == NULL) /* Print the Header instead */ + _print_str("PRIORITY", width, right, true); + else { + sprintf(temp, "%u", job->priority); + _print_str(temp, width, right, true); + } + if (suffix) + printf("%s", suffix); + return SLURM_SUCCESS; +} + int _print_job_nodes(job_info_t * job, int width, bool right, char* suffix) { if (job == NULL) { /* Print the Header instead */ diff --git a/src/squeue/print.h b/src/squeue/print.h index 9b2907d007f6136e68289592f8edaa45785bbede..a8181aae615bccb7f309c948dfa77809735eebb3 100644 --- a/src/squeue/print.h +++ b/src/squeue/print.h @@ -115,6 +115,8 @@ int job_format_add_function(List list, int width, bool right_justify, job_format_add_function(list,wid,right,suffix,_print_job_time_end) #define job_format_add_priority(list,wid,right,suffix) \ job_format_add_function(list,wid,right,suffix,_print_job_priority) +#define job_format_add_priority_long(list,wid,right,suffix) \ + job_format_add_function(list,wid,right,suffix,_print_job_priority_long) #define job_format_add_nodes(list,wid,right,suffix) \ job_format_add_function(list,wid,right,suffix,_print_job_nodes) #define job_format_add_node_inx(list,wid,right,suffix) \ @@ -203,6 +205,8 @@ int _print_job_time_end(job_info_t * job, int width, bool right_justify, char* suffix); int _print_job_priority(job_info_t * job, int width, bool right_justify, char* suffix); +int _print_job_priority_long(job_info_t * job, int width, bool right_justify, + char* suffix); int _print_job_nodes(job_info_t * job, int width, bool right_justify, char* suffix); int _print_job_node_inx(job_info_t * job, int width, bool right_justify,