queued.hh (14013:aeb3ca1762bb) queued.hh (14015:e709cec78417)
1/*
2 * Copyright (c) 2014-2015 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 149 unchanged lines hidden (view full) ---

158 const bool queueFilter;
159
160 /** Snoop the cache before generating prefetch (cheating basically) */
161 const bool cacheSnoop;
162
163 /** Tag prefetch with PC of generating access? */
164 const bool tagPrefetch;
165
1/*
2 * Copyright (c) 2014-2015 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 149 unchanged lines hidden (view full) ---

158 const bool queueFilter;
159
160 /** Snoop the cache before generating prefetch (cheating basically) */
161 const bool cacheSnoop;
162
163 /** Tag prefetch with PC of generating access? */
164 const bool tagPrefetch;
165
166 /** Percentage of requests that can be throttled */
167 const unsigned int throttleControlPct;
168
166 // STATS
167 Stats::Scalar pfIdentified;
168 Stats::Scalar pfBufferHit;
169 Stats::Scalar pfInCache;
170 Stats::Scalar pfRemovedFull;
171 Stats::Scalar pfSpanPage;
172
173 public:

--- 50 unchanged lines hidden (view full) ---

224 * @param queue selected queue to check
225 * @param pfi information of the prefetch request to be added
226 * @param priority priority of the prefetch request to be added
227 * @return True if the prefetch request was found in the queue
228 */
229 bool alreadyInQueue(std::list<DeferredPacket> &queue,
230 const PrefetchInfo &pfi, int32_t priority);
231
169 // STATS
170 Stats::Scalar pfIdentified;
171 Stats::Scalar pfBufferHit;
172 Stats::Scalar pfInCache;
173 Stats::Scalar pfRemovedFull;
174 Stats::Scalar pfSpanPage;
175
176 public:

--- 50 unchanged lines hidden (view full) ---

227 * @param queue selected queue to check
228 * @param pfi information of the prefetch request to be added
229 * @param priority priority of the prefetch request to be added
230 * @return True if the prefetch request was found in the queue
231 */
232 bool alreadyInQueue(std::list<DeferredPacket> &queue,
233 const PrefetchInfo &pfi, int32_t priority);
234
235 /**
236 * Returns the maxmimum number of prefetch requests that are allowed
237 * to be created from the number of prefetch candidates provided.
238 * The behavior of this service is controlled with the throttleControlPct
239 * parameter.
240 * @param total number of prefetch candidates generated by the prefetcher
241 * @return the number of these request candidates are allowed to be created
242 */
243 size_t getMaxPermittedPrefetches(size_t total) const;
244
232 RequestPtr createPrefetchRequest(Addr addr, PrefetchInfo const &pfi,
233 PacketPtr pkt);
234};
235
236#endif //__MEM_CACHE_PREFETCH_QUEUED_HH__
237
245 RequestPtr createPrefetchRequest(Addr addr, PrefetchInfo const &pfi,
246 PacketPtr pkt);
247};
248
249#endif //__MEM_CACHE_PREFETCH_QUEUED_HH__
250