@@ -109,8 +109,10 @@ bool set_priority(pid_t pid, int priority) {
109109 case 3 : rng::stable_sort (proc_vec, rng::less{}, &proc_info::threads); break ;
110110 case 4 : rng::stable_sort (proc_vec, rng::greater{}, &proc_info::user); break ;
111111 case 5 : rng::stable_sort (proc_vec, rng::less{}, &proc_info::mem); break ;
112- case 6 : rng::stable_sort (proc_vec, rng::less{}, &proc_info::cpu_p); break ;
113- case 7 : rng::stable_sort (proc_vec, rng::less{}, &proc_info::cpu_c); break ;
112+ case 6 : rng::stable_sort (proc_vec, rng::less{}, &proc_info::gpu_p); break ;
113+ case 7 : rng::stable_sort (proc_vec, rng::less{}, &proc_info::gpu_m); break ;
114+ case 8 : rng::stable_sort (proc_vec, rng::less{}, &proc_info::cpu_p); break ;
115+ case 9 : rng::stable_sort (proc_vec, rng::less{}, &proc_info::cpu_c); break ;
114116 }
115117 }
116118 else {
@@ -121,8 +123,10 @@ bool set_priority(pid_t pid, int priority) {
121123 case 3 : rng::stable_sort (proc_vec, rng::greater{}, &proc_info::threads); break ;
122124 case 4 : rng::stable_sort (proc_vec, rng::less{}, &proc_info::user); break ;
123125 case 5 : rng::stable_sort (proc_vec, rng::greater{}, &proc_info::mem); break ;
124- case 6 : rng::stable_sort (proc_vec, rng::greater{}, &proc_info::cpu_p); break ;
125- case 7 : rng::stable_sort (proc_vec, rng::greater{}, &proc_info::cpu_c); break ;
126+ case 6 : rng::stable_sort (proc_vec, rng::greater{}, &proc_info::gpu_p); break ;
127+ case 7 : rng::stable_sort (proc_vec, rng::greater{}, &proc_info::gpu_m); break ;
128+ case 8 : rng::stable_sort (proc_vec, rng::greater{}, &proc_info::cpu_p); break ;
129+ case 9 : rng::stable_sort (proc_vec, rng::greater{}, &proc_info::cpu_c); break ;
126130 }
127131 }
128132
@@ -150,16 +154,20 @@ bool set_priority(pid_t pid, int priority) {
150154 switch (v_index (sort_vector, sorting)) {
151155 case 3 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().threads < b.entry .get ().threads ; }); break ;
152156 case 5 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().mem < b.entry .get ().mem ; }); break ;
153- case 6 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().cpu_p < b.entry .get ().cpu_p ; }); break ;
154- case 7 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().cpu_c < b.entry .get ().cpu_c ; }); break ;
157+ case 6 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().gpu_p < b.entry .get ().gpu_p ; }); break ;
158+ case 7 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().gpu_m < b.entry .get ().gpu_m ; }); break ;
159+ case 8 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().cpu_p < b.entry .get ().cpu_p ; }); break ;
160+ case 9 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().cpu_c < b.entry .get ().cpu_c ; }); break ;
155161 }
156162 }
157163 else {
158164 switch (v_index (sort_vector, sorting)) {
159165 case 3 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().threads > b.entry .get ().threads ; }); break ;
160166 case 5 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().mem > b.entry .get ().mem ; }); break ;
161- case 6 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().cpu_p > b.entry .get ().cpu_p ; }); break ;
162- case 7 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().cpu_c > b.entry .get ().cpu_c ; }); break ;
167+ case 6 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().gpu_p > b.entry .get ().gpu_p ; }); break ;
168+ case 7 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().gpu_m > b.entry .get ().gpu_m ; }); break ;
169+ case 8 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().cpu_p > b.entry .get ().cpu_p ; }); break ;
170+ case 9 : rng::stable_sort (proc_vec, [](const auto & a, const auto & b) { return a.entry .get ().cpu_c > b.entry .get ().cpu_c ; }); break ;
163171 }
164172 }
165173 }
@@ -242,6 +250,8 @@ bool set_priority(pid_t pid, int priority) {
242250 if (p.state != ' X' ) {
243251 cur_proc.cpu_p += p.cpu_p ;
244252 cur_proc.cpu_c += p.cpu_c ;
253+ cur_proc.gpu_p += p.gpu_p ;
254+ cur_proc.gpu_m += p.gpu_m ;
245255 cur_proc.mem += p.mem ;
246256 cur_proc.threads += p.threads ;
247257 }
@@ -251,6 +261,8 @@ bool set_priority(pid_t pid, int priority) {
251261 else if (Config::getB (" proc_aggregate" ) and p.state != ' X' ) {
252262 cur_proc.cpu_p += p.cpu_p ;
253263 cur_proc.cpu_c += p.cpu_c ;
264+ cur_proc.gpu_p += p.gpu_p ;
265+ cur_proc.gpu_m += p.gpu_m ;
254266 cur_proc.mem += p.mem ;
255267 cur_proc.threads += p.threads ;
256268 }
0 commit comments