diff options
| author | Tim Rogers <[email protected]> | 2019-09-13 21:45:08 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-09-13 21:45:08 -0400 |
| commit | dba877b45fe11187d56904bbd169f4e0a5ad0586 (patch) | |
| tree | 649ddec731e6934cb535b569d7d3d2c754b8e89c /src/gpgpu-sim/dram_sched.h | |
| parent | bea40c4a22a86fddbf1f7845265697716727f8b1 (diff) | |
| parent | d65f6d38f054a48733bd1dfd22cb37864b5bded6 (diff) | |
Merge pull request #31 from rgreen/dev
Application of clang-format to make the code use standardized formatting.
Diffstat (limited to 'src/gpgpu-sim/dram_sched.h')
| -rw-r--r-- | src/gpgpu-sim/dram_sched.h | 95 |
1 files changed, 48 insertions, 47 deletions
diff --git a/src/gpgpu-sim/dram_sched.h b/src/gpgpu-sim/dram_sched.h index 63f5831..4f1ef3d 100644 --- a/src/gpgpu-sim/dram_sched.h +++ b/src/gpgpu-sim/dram_sched.h @@ -7,66 +7,67 @@ // // Redistributions of source code must retain the above copyright notice, this // list of conditions and the following disclaimer. -// Redistributions in binary form must reproduce the above copyright notice, this -// list of conditions and the following disclaimer in the documentation and/or -// other materials provided with the distribution. -// Neither the name of The University of British Columbia nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. +// Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. Neither the name of +// The University of British Columbia nor the names of its contributors may be +// used to endorse or promote products derived from this software without +// specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. #ifndef dram_sched_h_INCLUDED #define dram_sched_h_INCLUDED -#include "dram.h" -#include "shader.h" -#include "gpu-sim.h" -#include "gpu-misc.h" #include <list> #include <map> +#include "dram.h" +#include "gpu-misc.h" +#include "gpu-sim.h" +#include "shader.h" -enum memory_mode { - READ_MODE = 0, - WRITE_MODE -}; +enum memory_mode { READ_MODE = 0, WRITE_MODE }; class frfcfs_scheduler { -public: - frfcfs_scheduler( const memory_config *config, dram_t *dm, memory_stats_t *stats ); - void add_req( dram_req_t *req ); - void data_collection(unsigned bank); - dram_req_t *schedule( unsigned bank, unsigned curr_row ); - void print( FILE *fp ); - unsigned num_pending() const { return m_num_pending;} - unsigned num_write_pending() const { return m_num_write_pending;} + public: + frfcfs_scheduler(const memory_config *config, dram_t *dm, + memory_stats_t *stats); + void add_req(dram_req_t *req); + void data_collection(unsigned bank); + dram_req_t *schedule(unsigned bank, unsigned curr_row); + void print(FILE *fp); + unsigned num_pending() const { return m_num_pending; } + unsigned num_write_pending() const { return m_num_write_pending; } -private: - const memory_config *m_config; - dram_t *m_dram; - unsigned m_num_pending; - unsigned m_num_write_pending; - std::list<dram_req_t*> *m_queue; - std::map<unsigned,std::list<std::list<dram_req_t*>::iterator> > *m_bins; - std::list<std::list<dram_req_t*>::iterator> **m_last_row; - unsigned *curr_row_service_time; //one set of variables for each bank. - unsigned *row_service_timestamp; //tracks when scheduler began servicing current row + private: + const memory_config *m_config; + dram_t *m_dram; + unsigned m_num_pending; + unsigned m_num_write_pending; + std::list<dram_req_t *> *m_queue; + std::map<unsigned, std::list<std::list<dram_req_t *>::iterator> > *m_bins; + std::list<std::list<dram_req_t *>::iterator> **m_last_row; + unsigned *curr_row_service_time; // one set of variables for each bank. + unsigned *row_service_timestamp; // tracks when scheduler began servicing + // current row - std::list<dram_req_t*> *m_write_queue; - std::map<unsigned,std::list<std::list<dram_req_t*>::iterator> > *m_write_bins; - std::list<std::list<dram_req_t*>::iterator> **m_last_write_row; + std::list<dram_req_t *> *m_write_queue; + std::map<unsigned, std::list<std::list<dram_req_t *>::iterator> > + *m_write_bins; + std::list<std::list<dram_req_t *>::iterator> **m_last_write_row; - enum memory_mode m_mode; - memory_stats_t *m_stats; + enum memory_mode m_mode; + memory_stats_t *m_stats; }; #endif |
