libhsakmt: handle NUMA system with no memory on node 0
on NUMA system, node 0 may have no memory, application pass node id
0 to hsaKmtAllocMemory will fail because mbind to specify the allocation
from node 0 return EINVAL.
Add new flag NoNUMABind for application to pass it to hsaKmtAllocMemory
to skip mbind.
hsaKmtCreateEvent and hsaKmtCreateQueue specify the new flag NoNUMABind
to allocate system memory for event page and CWSR area, don't bind the
system memory to a specific NUMA node.
Change-Id: I854e5a57502c7807c4c5ff2e441d499ae515c309
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
[ROCm/ROCR-Runtime commit: 42392f093f]
Tá an tiomantas seo le fáil i:
1 tuismitheoir
0cb538eae8
tiomantas
92dd1072a0
3 comhad athraithe
+8
-3
Níor tháinig aon chomhaid le do chuardach
@@ -533,7 +533,8 @@ typedef struct _HsaMemFlags
|
||||
// The KFD will ensure that the memory returned is allocated in the optimal memory location
|
||||
// and optimal alignment requirements
|
||||
unsigned int FixedAddress : 1; // Allocate memory at specified virtual address. Fail if address is not free.
|
||||
unsigned int Reserved : 16;
|
||||
unsigned int NoNUMABind: 1; // Don't bind system memory to a specific NUMA node
|
||||
unsigned int Reserved : 15;
|
||||
|
||||
} ui32;
|
||||
HSAuint32 Value;
|
||||
|
||||
Tagairt in Eagrán Nua
Cuir bac ar úsáideoir