On Fri, May 13, 2011 at 03:44:08PM +0200, Patrick Ohly wrote: > I tried the LD_PRELOAD=libeatmydata.so workaround suggested in the mail > above and it does avoid the problem.
If eatmydata removes the bottleneck, then it's likely that either (a) each operation is corresponding to an fsync/fsyncdata/sync call (i.e. each update corresponds to some kind of commit/flush), or (b) the database file is opened O_SYNC, resulting in something similar. I don't know eds or libdb well enough to know if eds is doing something out of the ordinary with the api and/or whether this is "working as designed" and/or whether there's a way to remove the synchronous behavior. > Is there anyone around who understand libdb well enough to shed some > light on this? What is a proper fix? Again from the armchair here (have not even looked at the code, feel free to LART me as a result), if there's no way to avoid the synchronous writes with the libdb api, i guess you could consider batching the async additions together and submitting them as a group? Alternatively, maybe this is another argument for moving forward with the sqlite backend support? :) sean _______________________________________________ evolution-hackers mailing list firstname.lastname@example.org To change your list options or unsubscribe, visit ... http://mail.gnome.org/mailman/listinfo/evolution-hackers