cpu: o3: Merging haltContext with suspendContext
Review Request #2846 - Created May 26, 2015 and updated - Latest diff uploaded
| Information | |
|---|---|
| Alexandru Dutu | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 10857:5dd0809b9662 --------------------------- cpu: o3: Merging haltContext with suspendContext This patch improves suspendContext by flushing the pipeline, which frees resources for other hardware threads. Secondly, it makes haltContext call suspendContext which is not freeing architectural registers mappings on halt. Something that haltContext previously did and was not realistic. For example, in SMT implementations the architectural registers for a particular hardware thread will always have mapped some physical registers and having one thread finish execution will never create more available physical registers for other hardware threads as there will be scheduled a different software thread to execute on that hardware thread anyway. As a consequence, this patch helps enabling SMT in x86 by not putting the physical registered mapped to the ZeroRegister on the freeList for a different thread to pick up when one of the threads has finished executing and called exit.
Quick regressions passed.
