Re: [PATCH 2/4] char: xillybus: replace __get_free_pages() with kmalloc()
Eli Billauer <[email protected]>
| Newsgroups | gmane.linux.ports.ppc.embedded |
|---|---|
| Message-ID | <f6001085-9234-4025-ff34-6cc4a66c293a__22645.5739278876$1788171206$gmane$org@outbound.gmail.com> |
On 30/08/2026 9:47, Mike Rapoport (Microsoft) wrote:
> fifo_init() allocates the buffers backing the software FIFO and
> endpoint_alloc() allocates the transfer buffers of a USB endpoint.
>
> These buffers can be allocated with kmalloc() as there's nothing special
> about them to go directly to the page allocator.
Except that they are a bit large.
fifo_init() may be requested to allocate up to 256 MB of buffer memory.
This memory resource is split into an array of buffers (fifo->mem[i]),
each 64 kiB (or less, if there's trouble obtaining segments of this size).
Citing Documentation/core-api/memory-allocation.rst:
"The maximal size of a chunk that can be allocated with `kmalloc` is
limited. The actual limit depends on the hardware and the kernel
configuration, but it is a good practice to use `kmalloc` for objects
smaller than page size."
Regards,
Eli