Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Nov 2020 01:32:09 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 251389] linuxkpi malloc is not strictly compatible with Linux
Message-ID:  <bug-251389-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D251389

            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@FreeBSD.org
          Reporter: jhibbits@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 contiguo=
us
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.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-251389-227>