diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2018-03-13 18:21:53 +0000 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:49:16 +0000 |
commit | e5f3b7f9780111f9e5329ebcaabe96e3ac705c71 (patch) | |
tree | 780ea187c85ae6e41961efe4f5651b9f31d64e1e /arm_compute | |
parent | a18aee7ed0bbec2fae3b9b7e1e9ac70c4070a767 (diff) | |
download | ComputeLibrary-e5f3b7f9780111f9e5329ebcaabe96e3ac705c71.tar.gz |
COMPMID-1002: Expose number of pools in PoolManager
Change-Id: I3b14bd87d0650dc4378dc3ccbd14274b9c019657
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/124428
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute')
-rw-r--r-- | arm_compute/runtime/IPoolManager.h | 7 | ||||
-rw-r--r-- | arm_compute/runtime/PoolManager.h | 5 |
2 files changed, 9 insertions, 3 deletions
diff --git a/arm_compute/runtime/IPoolManager.h b/arm_compute/runtime/IPoolManager.h index 03cccdd605..4cc3c07b5f 100644 --- a/arm_compute/runtime/IPoolManager.h +++ b/arm_compute/runtime/IPoolManager.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -53,6 +53,11 @@ public: * @param[in] pool Pool to be managed */ virtual void register_pool(std::unique_ptr<IMemoryPool> pool) = 0; + /** Returns the total number of pools managed by the pool manager + * + * @return Number of managed pools + */ + virtual size_t num_pools() const = 0; }; } // arm_compute #endif /*__ARM_COMPUTE_IPOOLMANAGER_H__ */ diff --git a/arm_compute/runtime/PoolManager.h b/arm_compute/runtime/PoolManager.h index 6549350e8f..509080532a 100644 --- a/arm_compute/runtime/PoolManager.h +++ b/arm_compute/runtime/PoolManager.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -56,12 +56,13 @@ public: IMemoryPool *lock_pool() override; void unlock_pool(IMemoryPool *pool) override; void register_pool(std::unique_ptr<IMemoryPool> pool) override; + size_t num_pools() const override; private: std::list<std::unique_ptr<IMemoryPool>> _free_pools; /**< List of free pools */ std::list<std::unique_ptr<IMemoryPool>> _occupied_pools; /**< List of occupied pools */ std::unique_ptr<arm_compute::Semaphore> _sem; /**< Semaphore to control the queues */ - arm_compute::Mutex _mtx; /**< Mutex to control access to the queues */ + mutable arm_compute::Mutex _mtx; /**< Mutex to control access to the queues */ }; } // arm_compute #endif /*__ARM_COMPUTE_POOLMANAGER_H__ */ |