1/* 2 * Copyright (c) 2003-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 73 unchanged lines hidden (view full) --- 82 { 83 if (!tc->getCpuPtr()->params->do_quiesce || ns == 0) 84 return; 85 86 EndQuiesceEvent *quiesceEvent = tc->getQuiesceEvent(); 87 88 Tick resume = curTick + Clock::Int::ns * ns; 89 |
90 quiesceEvent->reschedule(resume, true); |
91 92 DPRINTF(Quiesce, "%s: quiesceNs(%d) until %d\n", 93 tc->getCpuPtr()->name(), ns, resume); 94 95 tc->suspend(); 96 if (tc->getKernelStats()) 97 tc->getKernelStats()->quiesce(); 98 } 99 100 void 101 quiesceCycles(ThreadContext *tc, uint64_t cycles) 102 { 103 if (!tc->getCpuPtr()->params->do_quiesce || cycles == 0) 104 return; 105 106 EndQuiesceEvent *quiesceEvent = tc->getQuiesceEvent(); 107 108 Tick resume = curTick + tc->getCpuPtr()->cycles(cycles); 109 |
110 quiesceEvent->reschedule(resume, true); |
111 112 DPRINTF(Quiesce, "%s: quiesceCycles(%d) until %d\n", 113 tc->getCpuPtr()->name(), cycles, resume); 114 115 tc->suspend(); 116 if (tc->getKernelStats()) 117 tc->getKernelStats()->quiesce(); 118 } --- 191 unchanged lines hidden --- |