tight loop in tdb_find()

Volker Lendecke Volker.Lendecke at SerNet.DE
Tue May 26 07:45:33 GMT 2009

On Tue, May 26, 2009 at 09:37:45AM +1000, tridge at samba.org wrote:
> Regarding transaction cost, I previously estimated the cost of a
> transaction as about 200ms. I've now added a transaction speed test to
> tdbtool and found it quite a bit lower on average, more like 10ms. 

That is probably true on an idle system. When I read lwn.net
about reported ext4 data loss, I got the impression that the
Linux fsync has performance issues on a busy system,
stalling much more of the system than strictly necessary. I
have seen old smbd start up take really, really long because
it did a few dozen transactions preparing registry.tdb.
That's why the large transaction around the registry code
was added. Ronnie tells me that nested transactions are a
completely broken design, but from my point of view they are
required due to those performance issues.

> I think the initial transaction cost is high because it adds a new
> record, which in the case of this test grows the file. 

Isn't it possible that the initial high cost is because it
has to clean up all the stuff that fsync erroneously also
stalls on?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20090526/0979e00c/attachment.bin

More information about the samba-technical mailing list