a given pair of invocations of kmalloc() invocations will be SNC only if it is possible for them to be satisfied by the same block of memory
If the number of bytes requested is different for the two calls, they are not SNC. This seems to argue for providing a different allocator for each size, or anyway for a collection of useful sizes, on the assumption that with enough sizes in play, two requests for the same amount will be rare.
A reliable kmalloc can be constructed from an unreliable kmalloc and a loop. If the unreliable kmalloc can be made just reliable enough, that's almost as good.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds