diff options
author | Korey Sewell <ksewell@umich.edu> | 2010-01-31 18:27:02 -0500 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2010-01-31 18:27:02 -0500 |
commit | 4dbc2f17180d3d8c82d5414daa55b102de9755e5 (patch) | |
tree | d1e53342850f3e3889ba29659d9cf01a122f64aa /src/cpu/inorder/resource.hh | |
parent | 4ea296e29686154656c380982f987d7b6e1774f0 (diff) | |
download | gem5-4dbc2f17180d3d8c82d5414daa55b102de9755e5.tar.xz |
inorder: suspend in respool
give resources their own specific
activity to do for a "suspend" event
instead of defaulting to deactivating the thread for a
suspend thread event. This really matters
for the fetch sequence unit which wants to remove the
thread from fetching while other units want to
ignore a thread suspension. If you deactivate a thread
in a resource then you may lose some of the allotted
bandwidth that the thread is taking up...
Diffstat (limited to 'src/cpu/inorder/resource.hh')
-rw-r--r-- | src/cpu/inorder/resource.hh | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cpu/inorder/resource.hh b/src/cpu/inorder/resource.hh index f7c4b8fcd..4ae4db818 100644 --- a/src/cpu/inorder/resource.hh +++ b/src/cpu/inorder/resource.hh @@ -93,6 +93,10 @@ class Resource { */ virtual void deactivateThread(ThreadID tid); + /** Resources that care about thread activation override this. */ + virtual void suspendThread(ThreadID tid) { } + + /** Resources that care when an instruction has been graduated * can override this */ |