[Bug 251389] linuxkpi malloc is not strictly compatible with Linux
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Nov 26 01:32:09 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=251389
Bug ID: 251389
Summary: linuxkpi malloc is not strictly compatible with Linux
Product: Base System
Version: CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: jhibbits at FreeBSD.org
Linux's kmalloc seems to provide the following guarantees:
* GPF_KERNEL returns memory in the lower 4GB physical space
* Allocations are physically contiguous
malloc(9) does not make either of these guarantees. This ends up breaking DRM
modules on powerpc64 platforms, where even if memory happens to be contiguous
it may not be in the bottom 4GB physical address space, and it may even be in a
different NUMA domain, where NUMA domains are physically indexed at 1<<45, such
that the bottom 4GB of the second NUMA domain doesn't fit into the 40-bit PA
range accessible to Radeon GPUs.
Contiguity can be emulated with contigmalloc(9), but that's not a viable
solution for replacing all calls, as it's very possible for the size to not be
known and traceable through the lifetime of a pointer.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list