01-24-09-Bug 2

From Msim

Jump to: navigation, search

This refers to the bug Commit now looks at the correct list of remaining contexts

The current implementation of SMT for each pipeline stage uses a vector (contexts_left) to keep track of which contexts are still eligible for use - this is also used for round robin selection of which context gets priority for the pipeline stage.

The original code:

int context_id = cores[core_num].context_ids[current_context];

This is a typo. The wrong list is accessed for the current context id number instead of the contexts_left vector. The core's context_ids vector should only be changed when evicting a context or adding a context to the core.

The corrected code:

int context_id = contexts_left[current_context];
Personal tools