Memory allocation performance

Peter Jeremy peterjeremy at optushome.com.au
Sat Feb 2 12:49:16 PST 2008


On Sat, Feb 02, 2008 at 09:56:42PM +0200, Alexander Motin wrote:
>Peter Jeremy ?????:
>> On Sat, Feb 02, 2008 at 11:31:31AM +0200, Alexander Motin wrote:
>>> To check UMA dependency I have made a trivial one-element cache which in 
>>> my test case allows to avoid two for four allocations per packet.
>> 
>> You should be able to implement this lockless using atomic(9).  I haven't
>> verified it, but the following should work.
>
>I have tried this, but man 9 atomic talks:
>
>The atomic_readandclear() functions are not implemented for the types
>``char'', ``short'', ``ptr'', ``8'', and ``16'' and do not have any 
>variants with memory barriers at this time.

Hmmm.  This seems to be more a documentation bug than missing code:
atomic_readandclear_ptr() seems to be implemented on most
architectures (the only one where I can't find it is arm) and is
already used in malloc(3).

-- 
Peter Jeremy
Please excuse any delays as the result of my ISP's inability to implement
an MTA that is either RFC2821-compliant or matches their claimed behaviour.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-performance/attachments/20080202/4e31e36f/attachment.pgp


More information about the freebsd-performance mailing list