Posted Jan 27, 2011 4:41 UTC (Thu) by ncm
Parent article: Concurrent code and expensive instructions
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.
to post comments)