Hallvard B Furuseth wrote:
Ralf Haferkamp writes:
When linking against db-4.7.25 slapadd is still a little faster when the trickle-task is disabled: 15m19s (without the trickle-task) vs. 16m12s for the 500k Entries LDIF.
Due to this mutex lock in bdb_tool_entry_put(), perhaps?
if (( slapMode& SLAP_TOOL_QUICK )&& (( e->e_id& 0xfff ) == 0xfff )) { ldap_pvt_thread_mutex_lock(&bdb_tool_trickle_mutex ); ldap_pvt_thread_cond_signal(&bdb_tool_trickle_cond ); ldap_pvt_thread_mutex_unlock(&bdb_tool_trickle_mutex ); }
Weird code. That's not the normal way to use a cond. Why wait for a mutex before signalling, when the code doesn't change any variable which is tested around the cond_wait?
That was to prevent the signal from being lost. Though I suppose it doesn't matter, since the signal would get sent again soon enough.