client: fix work fetch bugs that caused incorrect GPU fetches

This commit is contained in:
David Anderson 2013-06-10 10:36:05 -07:00
parent 26b9107de5
commit 02fcc45ec4
2 changed files with 3 additions and 2 deletions

View File

@ -65,7 +65,7 @@ inline void rsc_string(RESULT* rp, char* buf) {
static inline void set_bits(int src, double nused, int& dst) {
// if all bits are already set, we're done
//
if (src&dst == dst) return;
if ((src&dst) == src) return;
int bit = 1;
for (int i=0; i<32; i++) {
if (nused <= 0) break;
@ -94,7 +94,7 @@ struct RR_SIM {
p->rsc_pwf[rt].sim_nused += rp->avp->gpu_usage.usage;
set_bits(
rp->app->non_excluded_instances[rt],
p->rsc_pwf[rt].sim_nused,
p->rsc_pwf[rt].nused_total,
rsc_work_fetch[rt].sim_used_instances
);
}

View File

@ -266,6 +266,7 @@ void RSC_WORK_FETCH::print_state(const char* name) {
shortfall, nidle_now, saturated_time,
busy_time_estimator.get_busy_time()
);
//msg_printf(0, MSG_INFO, "[work_fetch] sim used inst %d sim excl inst %d", sim_used_instances, sim_excluded_instances);
for (unsigned int i=0; i<gstate.projects.size(); i++) {
char buf[256];
PROJECT* p = gstate.projects[i];