connection_activity calls connection_make_new_pb and add_pb when there is a new operation, then connection_threadmain calls slapi_pblock_destroy - there is a lot of malloc/free here - once for the slapi_pblock, once for the struct Slapi_PBlock_q used to add it to the queue, and once for the pb_op operation_new - malloc/free is a performance bottleneck as well as a source of thread contention - instead, pre-allocate pblock/operation structures and use a lock-free stack or other lock free structure to hold unused pblocks/operations - use memset to clean the memory when the operation is complete
Looks good, ack.
Author: Rich Megginson email@example.com
Date: Thu Mar 7 21:10:38 2013 -0700
Metadata Update from @rmeggins:
- Issue assigned to rmeggins
- Issue set to the milestone: 1.3.2 - 04/13 (April)
to comment on this ticket.