[Sysman] Replace normal pointers with smart pointers (8/n)

Replacing normal pointers by smart pointers in fabric_port module of L0 sysman.

Related-To: LOCI-2810

Signed-off-by: Singh, Prasoon <prasoon.singh@intel.com>
This commit is contained in:
Singh, Prasoon
2023-04-03 06:33:50 +00:00
committed by Compute-Runtime-Automation
parent 1939a11a19
commit 42a422d9f4
10 changed files with 14 additions and 28 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2020-2022 Intel Corporation
* Copyright (C) 2020-2023 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -22,9 +22,6 @@ FabricPortHandleContext::FabricPortHandleContext(OsSysman *pOsSysman) {
FabricPortHandleContext::~FabricPortHandleContext() {
UNRECOVERABLE_IF(nullptr == pFabricDevice);
for (FabricPort *pFabricPort : handleList) {
delete pFabricPort;
}
handleList.clear();
delete pFabricDevice;
pFabricDevice = nullptr;
@@ -35,9 +32,9 @@ ze_result_t FabricPortHandleContext::init() {
uint32_t numPorts = pFabricDevice->getNumPorts();
for (uint32_t portNum = 0; portNum < numPorts; portNum++) {
FabricPort *pFabricPort = new FabricPortImp(pFabricDevice, portNum);
std::unique_ptr<FabricPort> pFabricPort = std::make_unique<FabricPortImp>(pFabricDevice, portNum);
UNRECOVERABLE_IF(nullptr == pFabricPort);
handleList.push_back(pFabricPort);
handleList.push_back(std::move(pFabricPort));
}
return ZE_RESULT_SUCCESS;
}

View File

@@ -11,6 +11,7 @@
#include "level_zero/api/sysman/zes_handles_struct.h"
#include <level_zero/zes_api.h>
#include <memory>
#include <mutex>
#include <vector>
@@ -53,7 +54,7 @@ struct FabricPortHandleContext : NEO::NonCopyableOrMovableClass {
ze_result_t fabricPortGet(uint32_t *pCount, zes_fabric_port_handle_t *phPort);
FabricDevice *pFabricDevice = nullptr;
std::vector<FabricPort *> handleList = {};
std::vector<std::unique_ptr<FabricPort>> handleList = {};
private:
std::once_flag initFabricPortOnce;

View File

@@ -72,9 +72,6 @@ FabricPortImp::FabricPortImp(FabricDevice *pFabricDevice, uint32_t portNum) {
init();
}
FabricPortImp::~FabricPortImp() {
delete pOsFabricPort;
pOsFabricPort = nullptr;
}
FabricPortImp::~FabricPortImp() = default;
} // namespace L0

View File

@@ -43,7 +43,7 @@ class FabricPortImp : public FabricPort, NEO::NonCopyableOrMovableClass {
protected:
void init();
OsFabricPort *pOsFabricPort = nullptr;
std::unique_ptr<OsFabricPort> pOsFabricPort;
};
} // namespace L0

View File

@@ -83,8 +83,8 @@ OsFabricDevice *OsFabricDevice::create(OsSysman *pOsSysman) {
return pLinuxFabricDeviceImp;
}
OsFabricPort *OsFabricPort::create(OsFabricDevice *pOsFabricDevice, uint32_t portNum) {
LinuxFabricPortImp *pLinuxFabricPortImp = new LinuxFabricPortImp(pOsFabricDevice, portNum);
std::unique_ptr<OsFabricPort> OsFabricPort::create(OsFabricDevice *pOsFabricDevice, uint32_t portNum) {
std::unique_ptr<LinuxFabricPortImp> pLinuxFabricPortImp = std::make_unique<LinuxFabricPortImp>(pOsFabricDevice, portNum);
return pLinuxFabricPortImp;
}

View File

@@ -311,8 +311,8 @@ OsFabricDevice *OsFabricDevice::create(OsSysman *pOsSysman) {
return pLinuxFabricDeviceImp;
}
OsFabricPort *OsFabricPort::create(OsFabricDevice *pOsFabricDevice, uint32_t portNum) {
LinuxFabricPortImp *pLinuxFabricPortImp = new LinuxFabricPortImp(pOsFabricDevice, portNum);
std::unique_ptr<OsFabricPort> OsFabricPort::create(OsFabricDevice *pOsFabricDevice, uint32_t portNum) {
std::unique_ptr<LinuxFabricPortImp> pLinuxFabricPortImp = std::make_unique<LinuxFabricPortImp>(pOsFabricDevice, portNum);
return pLinuxFabricPortImp;
}

View File

@@ -31,7 +31,7 @@ class OsFabricPort {
virtual ze_result_t getThroughput(zes_fabric_port_throughput_t *pThroughput) = 0;
virtual ze_result_t getErrorCounters(zes_fabric_port_error_counters_t *pErrors) = 0;
static OsFabricPort *create(OsFabricDevice *pOsFabricDevice, uint32_t portNum);
static std::unique_ptr<OsFabricPort> create(OsFabricDevice *pOsFabricDevice, uint32_t portNum);
virtual ~OsFabricPort() = default;
};

View File

@@ -66,8 +66,8 @@ OsFabricDevice *OsFabricDevice::create(OsSysman *pOsSysman) {
return pWddmFabricDeviceImp;
}
OsFabricPort *OsFabricPort::create(OsFabricDevice *pOsFabricDevice, uint32_t portNum) {
WddmFabricPortImp *pWddmFabricPortImp = new WddmFabricPortImp(pOsFabricDevice, portNum);
std::unique_ptr<OsFabricPort> OsFabricPort::create(OsFabricDevice *pOsFabricDevice, uint32_t portNum) {
std::unique_ptr<WddmFabricPortImp> pWddmFabricPortImp = std::make_unique<WddmFabricPortImp>(pOsFabricDevice, portNum);
return pWddmFabricPortImp;
}

View File

@@ -52,9 +52,6 @@ class ZesFabricPortFixture : public SysmanDeviceFixture {
pFabricPortHandleContext = pSysmanDeviceImp->pFabricPortHandleContext;
if (nullptr != pFabricPortHandleContext->pFabricDevice) {
for (FabricPort *pFabricPort : pFabricPortHandleContext->handleList) {
delete pFabricPort;
}
pFabricPortHandleContext->handleList.clear();
delete pFabricPortHandleContext->pFabricDevice;
pFabricPortHandleContext->pFabricDevice = nullptr;
@@ -93,9 +90,6 @@ TEST_F(ZesFabricPortFixture, GivenPortCountZeroAndValidHandlePtrWhenCallingZesFa
uint32_t count = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceEnumFabricPorts(device, &count, NULL));
if (nullptr != pFabricPortHandleContext->pFabricDevice) {
for (FabricPort *pFabricPort : pFabricPortHandleContext->handleList) {
delete pFabricPort;
}
pFabricPortHandleContext->handleList.clear();
}

View File

@@ -26,9 +26,6 @@ class ZesFabricPortFixture : public SysmanDeviceFixture {
SysmanDeviceFixture::SetUp();
FabricPortHandleContext *pFabricPortHandleContext = pSysmanDeviceImp->pFabricPortHandleContext;
if (nullptr != pFabricPortHandleContext->pFabricDevice) {
for (FabricPort *pFabricPort : pFabricPortHandleContext->handleList) {
delete pFabricPort;
}
pFabricPortHandleContext->handleList.clear();
delete pFabricPortHandleContext->pFabricDevice;
pFabricPortHandleContext->pFabricDevice = nullptr;