2
0

SWDEV-485866 - Return OOM if stream creation fails due to insufficient memory.

Change-Id: I4e57ecc81921bde274bb6a4e0890f0fc6a17955a


[ROCm/clr commit: 5ccc140e1b]
Este cometimento está contido em:
Jaydeep Patel
2024-09-19 06:59:43 +00:00
cometido por Jaydeepkumar Patel
ascendente da59165313
cometimento 7983801b0c
4 ficheiros modificados com 11 adições e 3 eliminações
+4
Ver ficheiro
@@ -36,6 +36,10 @@ hip::Stream* Device::NullStream(bool wait) {
amd::ScopedLock lock(lock_);
if (null_stream_ == nullptr) {
null_stream_ = new Stream(this, Stream::Priority::Normal, 0, true);
// Stream creation might be failed from rcor and in that case, vdev is null.
if (null_stream_->vdev() == nullptr) {
Stream::Destroy(null_stream_);
}
}
}
if (null_stream_ == nullptr) {
+1
Ver ficheiro
@@ -3328,6 +3328,7 @@ hipError_t ihipMemset(void* dst, int64_t value, size_t valueSize, size_t sizeByt
}
std::vector<amd::Command*> commands;
hip::Stream* hip_stream = hip::getStream(stream);
if (hip_stream == nullptr) { return hipErrorOutOfMemory; }
hip_error = ihipMemsetCommand(commands, dst, value, valueSize, sizeBytes, hip_stream);
if (hip_error != hipSuccess) {
break;
+1
Ver ficheiro
@@ -75,6 +75,7 @@ bool Stream::Create() {
void Stream::Destroy(hip::Stream* stream) {
stream->device_->RemoveStream(stream);
stream->release();
stream = nullptr;
}
// ================================================================================================
+5 -3
Ver ficheiro
@@ -1461,9 +1461,11 @@ bool VirtualGPU::initPool(size_t kernarg_pool_size) {
roc_device_.info().largeBar_) {
kernarg_pool_base_ =
reinterpret_cast<address>(roc_device_.deviceLocalAlloc(kernarg_pool_size_));
// @note Workaround first access penalty.
// KFD may update CPU page tables on the first CPU access
*kernarg_pool_base_ = 0;
if (kernarg_pool_base_ != nullptr) {
// @note Workaround first access penalty.
// KFD may update CPU page tables on the first CPU access
*kernarg_pool_base_ = 0;
}
} else {
kernarg_pool_base_ = reinterpret_cast<address>(roc_device_.hostAlloc(kernarg_pool_size_, 0,
Device::MemorySegment::kKernArg));