rdc_field_t replaces uint32_t; centralize field data

Make the RDC use the new rdc_field_t enum instead of uint32_t.
This will help prevent invalid field types from being passed in.

Also, centralize where data related to fields is kept. This will
reduce the number of places where changes are required each
time a new field is added.

Finally, cleaned up several cpplint issues.

Change-Id: I48e4512e18c164411d8b09ae3d4bed99fba359ec
This commit is contained in:
Chris Freehill
2020-07-24 19:40:48 -05:00
orang tua e6d910f67a
melakukan 5950ebadc4
43 mengubah file dengan 459 tambahan dan 388 penghapusan
@@ -19,8 +19,8 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#ifndef RDC_LIB_IMPL_RDCCACHEMANAGERIMPL_H_
#define RDC_LIB_IMPL_RDCCACHEMANAGERIMPL_H_
#ifndef INCLUDE_RDC_LIB_IMPL_RDCCACHEMANAGERIMPL_H_
#define INCLUDE_RDC_LIB_IMPL_RDCCACHEMANAGERIMPL_H_
#include <memory>
#include <mutex> // NOLINT(build/c++11)
@@ -80,13 +80,13 @@ typedef std::map<std::string, RdcJobStatsCacheEntry> RdcJobStatsCache;
class RdcCacheManagerImpl: public RdcCacheManager {
public:
rdc_status_t rdc_field_get_latest_value(uint32_t gpu_index,
uint32_t field, rdc_field_value* value) override;
rdc_status_t rdc_field_get_value_since(uint32_t gpu_index, uint32_t field,
uint64_t since_time_stamp, uint64_t *next_since_time_stamp,
rdc_field_value* value) override;
rdc_field_t field, rdc_field_value* value) override;
rdc_status_t rdc_field_get_value_since(uint32_t gpu_index,
rdc_field_t field, uint64_t since_time_stamp,
uint64_t *next_since_time_stamp, rdc_field_value* value) override;
rdc_status_t rdc_update_cache(uint32_t gpu_index,
const rdc_field_value& value) override;
rdc_status_t evict_cache(uint32_t gpu_index, uint32_t field_id,
rdc_status_t evict_cache(uint32_t gpu_index, rdc_field_t field_id,
uint64_t max_keep_samples, double max_keep_age) override;
std::string get_cache_stats() override;
@@ -120,4 +120,4 @@ class RdcCacheManagerImpl: public RdcCacheManager {
} // namespace amd
#endif // RDC_LIB_IMPL_RDCCACHEMANAGERIMPL_H_
#endif // INCLUDE_RDC_LIB_IMPL_RDCCACHEMANAGERIMPL_H_