pseudo_inst.cc (4090:08bd6439b907) | pseudo_inst.cc (4437:b6e304245729) |
---|---|
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 | 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 if (quiesceEvent->scheduled()) 91 quiesceEvent->reschedule(resume); 92 else 93 quiesceEvent->schedule(resume); | 90 quiesceEvent->reschedule(resume, true); |
94 95 DPRINTF(Quiesce, "%s: quiesceNs(%d) until %d\n", 96 tc->getCpuPtr()->name(), ns, resume); 97 98 tc->suspend(); 99 if (tc->getKernelStats()) 100 tc->getKernelStats()->quiesce(); 101 } 102 103 void 104 quiesceCycles(ThreadContext *tc, uint64_t cycles) 105 { 106 if (!tc->getCpuPtr()->params->do_quiesce || cycles == 0) 107 return; 108 109 EndQuiesceEvent *quiesceEvent = tc->getQuiesceEvent(); 110 111 Tick resume = curTick + tc->getCpuPtr()->cycles(cycles); 112 | 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 |
113 if (quiesceEvent->scheduled()) 114 quiesceEvent->reschedule(resume); 115 else 116 quiesceEvent->schedule(resume); | 110 quiesceEvent->reschedule(resume, true); |
117 118 DPRINTF(Quiesce, "%s: quiesceCycles(%d) until %d\n", 119 tc->getCpuPtr()->name(), cycles, resume); 120 121 tc->suspend(); 122 if (tc->getKernelStats()) 123 tc->getKernelStats()->quiesce(); 124 } --- 191 unchanged lines hidden --- | 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 --- |