habanalabs: allow user to set allocation page size
In future ASICs the MMU will be able to work with multiple page sizes, thus a new flag is added to allow the user to set the requested page size. This flag is added since the whole DRAM is allocated for the user and the user also should be familiar with the memory usage use case. As such, the user may choose to "over allocate" memory in favor of performance (for instance- large page allocations covers more memory in less TLB entries). For example: say available page sizes are of 1MB and 32MB. If user wants to allocate 40MB the user can either set page size to 1MB and allocate the exact amount of memory (but will result in 40 TLB entries) or the user can use 32MB pages, "waste" 8MB of physical memory but occupy only 2 TLB entries. Note that this feature will be available only to ASIC that supports multiple DRAM page sizes. Signed-off-by: Ohad Sharabi <osharabi@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
This commit is contained in:
committed by
Oded Gabbay
parent
9349a321d3
commit
f23f280277
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
|
||||
*
|
||||
* Copyright 2016-2021 HabanaLabs, Ltd.
|
||||
* Copyright 2016-2022 HabanaLabs, Ltd.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
*/
|
||||
@@ -1130,9 +1130,12 @@ struct hl_mem_in {
|
||||
/**
|
||||
* structure for device memory allocation (used with the HL_MEM_OP_ALLOC op)
|
||||
* @mem_size: memory size to allocate
|
||||
* @page_size: page size to use on allocation. when the value is 0 the default page
|
||||
* size will be taken.
|
||||
*/
|
||||
struct {
|
||||
__u64 mem_size;
|
||||
__u64 page_size;
|
||||
} alloc;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user