On Mon, 31 Aug 2026 12:13:08 +0200 Eli Billauer <[email protected]> wrote:
> 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). Would it really make sense to allocate the four buffers separately? And/or use vmalloc(). David > > 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 >
