00001 /* 00002 Copyright (C) 2013- The University of Notre Dame 00003 This software is distributed under the GNU General Public License. 00004 See the file COPYING for details. 00005 */ 00006 00007 #ifndef WORK_QUEUE_RESOURCES_H 00008 #define WORK_QUEUE_RESOURCES_H 00009 00010 #include "link.h" 00011 #include "nvpair.h" 00012 00013 struct work_queue_resource { 00014 int inuse; 00015 int total; 00016 int smallest; 00017 int largest; 00018 }; 00019 00020 struct work_queue_resources { 00021 struct work_queue_resource workers; 00022 struct work_queue_resource disk; 00023 struct work_queue_resource cores; 00024 struct work_queue_resource memory; 00025 }; 00026 00027 struct work_queue_resources * work_queue_resources_create(); 00028 void work_queue_resources_delete( struct work_queue_resources *r ); 00029 void work_queue_resources_debug( struct work_queue_resources *r ); 00030 void work_queue_resources_measure( struct work_queue_resources *r, const char *workspace ); 00031 void work_queue_resources_send( struct link *master, struct work_queue_resources *r, time_t stoptime ); 00032 void work_queue_resources_clear( struct work_queue_resources *r ); 00033 void work_queue_resources_add( struct work_queue_resources *total, struct work_queue_resources *r ); 00034 void work_queue_resources_add_to_nvpair( struct work_queue_resources *r, struct nvpair *nv ); 00035 00036 #endif