Revert "performance: improve pool handling"

This reverts commit a3c3b6533a.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
This commit is contained in:
Michal Mrozek 2024-08-06 11:38:23 +00:00 committed by Compute-Runtime-Automation
parent 57e7147e7c
commit d52ca080bd
7 changed files with 6 additions and 18 deletions

View File

@ -89,7 +89,7 @@ TEST_F(AllocUsmHostDisabledMemoryTest, givenDriverHandleWhenCallingAllocHostMemT
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
}
using AllocUsmHostEnabledMemoryTest = AllocUsmPoolMemoryTest<16, -1>;
using AllocUsmHostEnabledMemoryTest = AllocUsmPoolMemoryTest<1, -1>;
TEST_F(AllocUsmHostEnabledMemoryTest, givenDriverHandleWhenCallingAllocHostMemWithVariousParametersThenUsePoolIfAllowed) {
auto mockHostMemAllocPool = reinterpret_cast<MockUsmMemAllocPool *>(&driverHandle->usmHostMemAllocPool);

View File

@ -513,8 +513,7 @@ void Context::initializeUsmAllocationPools() {
auto &productHelper = getDevices()[0]->getProductHelper();
bool enabled = ApiSpecificConfig::isDeviceUsmPoolingEnabled() && productHelper.isUsmPoolAllocatorSupported();
size_t poolSize = NEO::defaultPoolSize;
size_t poolSize = 2 * MemoryConstants::megaByte;
if (debugManager.flags.EnableDeviceUsmAllocationPool.get() != -1) {
enabled = debugManager.flags.EnableDeviceUsmAllocationPool.get() > 0;
poolSize = debugManager.flags.EnableDeviceUsmAllocationPool.get() * MemoryConstants::megaByte;
@ -530,7 +529,7 @@ void Context::initializeUsmAllocationPools() {
}
enabled = ApiSpecificConfig::isHostUsmPoolingEnabled() && productHelper.isUsmPoolAllocatorSupported();
poolSize = NEO::defaultPoolSize;
poolSize = 2 * MemoryConstants::megaByte;
if (debugManager.flags.EnableHostUsmAllocationPool.get() != -1) {
enabled = debugManager.flags.EnableHostUsmAllocationPool.get() > 0;
poolSize = debugManager.flags.EnableHostUsmAllocationPool.get() * MemoryConstants::megaByte;

View File

@ -6,7 +6,6 @@
*/
#include <cstdint>
#include <stddef.h>
namespace NEO {
// AUB file folder location
@ -14,7 +13,4 @@ const char *folderAUB = ".";
// Initial value for HW tag
uint32_t initialHardwareTag = 0;
size_t defaultPoolSize = 16777216u;
} // namespace NEO

View File

@ -7,7 +7,6 @@
#pragma once
#include <cstdint>
#include <stddef.h>
namespace NEO {
enum class CommandStreamReceiverType {
@ -39,7 +38,4 @@ extern const char *folderAUB;
// Initial value for HW tag
// Set to 0 if using HW or simulator, otherwise 0xFFFFFF00, needs to be lower then CompletionStamp::notReady.
extern uint32_t initialHardwareTag;
// default size of memory pools
extern size_t defaultPoolSize;
} // namespace NEO

View File

@ -24,7 +24,7 @@ bool UsmMemAllocPool::initialize(SVMAllocsManager *svmMemoryManager, const Unifi
this->chunkAllocator.reset(new HeapAllocator(castToUint64(this->pool),
poolSize,
chunkAlignment,
2 * MemoryConstants::megaByte));
allocationThreshold / 2));
this->poolSize = poolSize;
this->poolMemoryType = memoryProperties.memoryType;
return true;

View File

@ -35,9 +35,9 @@ class UsmMemAllocPool {
void *getPooledAllocationBasePtr(const void *ptr);
size_t getOffsetInPool(const void *ptr);
static constexpr auto allocationThreshold = 2 * MemoryConstants::megaByte;
static constexpr auto allocationThreshold = 1 * MemoryConstants::megaByte;
static constexpr auto chunkAlignment = 512u;
static constexpr auto startingOffset = chunkAlignment;
static constexpr auto startingOffset = 2 * allocationThreshold;
protected:
size_t poolSize{};

View File

@ -6,12 +6,9 @@
*/
#include <cstdint>
#include <stddef.h>
namespace NEO {
const char *folderAUB = "aub_out";
uint32_t initialHardwareTag = static_cast<uint32_t>(0xFFFFFF00);
size_t defaultPoolSize = 1048576u;
} // namespace NEO