mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-24 21:18:24 +08:00
Add 2MB alignment for reserving address space for WSL
Fixes sporadic issues in configure address space for some devices running in WSL mode Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
f4b4110dfa
commit
452de80d70
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2021 Intel Corporation
|
||||
* Copyright (C) 2021-2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -108,11 +108,11 @@ bool adjustGfxPartitionLayout(GMM_GFX_PARTITIONING &partitionLayout, uint64_t gp
|
||||
const auto cpuAddressRangeSizeToReserve = getSizeToReserve();
|
||||
|
||||
void *reservedRangeBase = nullptr;
|
||||
if (false == wddm.reserveValidAddressRange(cpuAddressRangeSizeToReserve + GfxPartition::heapGranularity - 1, reservedRangeBase)) {
|
||||
if (false == wddm.reserveValidAddressRange(cpuAddressRangeSizeToReserve + 2 * MemoryConstants::megaByte, reservedRangeBase)) {
|
||||
DEBUG_BREAK_IF(true);
|
||||
return false;
|
||||
}
|
||||
auto reservedRangeBaseAligned = alignUp(reservedRangeBase, GfxPartition::heapGranularity);
|
||||
auto reservedRangeBaseAligned = alignUp(reservedRangeBase, 2 * MemoryConstants::megaByte);
|
||||
|
||||
auto gfxBase = reinterpret_cast<uint64_t>(reservedRangeBaseAligned);
|
||||
auto gfxTop = gfxBase + cpuAddressRangeSizeToReserve;
|
||||
|
||||
@@ -547,7 +547,7 @@ TEST_F(WddmLinuxConfigureReduced48bitDeviceAddressSpaceTest, givenTwoSvmAddressS
|
||||
EXPECT_EQ(NEO::windowsMinAddress, allReserveGpuVaArgs[0].BaseAddress);
|
||||
EXPECT_EQ(0U, allReserveGpuVaArgs[0].MinimumAddress);
|
||||
EXPECT_EQ(0U, allReserveGpuVaArgs[0].MaximumAddress);
|
||||
EXPECT_EQ(alignUp(reservedCpuBase - allReserveGpuVaArgs[0].BaseAddress, MemoryConstants::pageSize64k), allReserveGpuVaArgs[0].Size);
|
||||
EXPECT_EQ(alignUp(reservedCpuBase - allReserveGpuVaArgs[0].BaseAddress, 2 * MemoryConstants::megaByte), allReserveGpuVaArgs[0].Size);
|
||||
EXPECT_EQ(this->wddm->getAdapter(), allReserveGpuVaArgs[0].hAdapter);
|
||||
|
||||
EXPECT_EQ(alignDown(reservedCpuEnd, MemoryConstants::pageSize64k), allReserveGpuVaArgs[1].BaseAddress);
|
||||
|
||||
Reference in New Issue
Block a user