On Sat, Dec 24, 2011 at 04:01:02PM +0000, Simon Riggs wrote: > On Sat, Dec 24, 2011 at 3:54 PM, Andres Freund <and...@anarazel.de> wrote: > > Why don't you use the same tricks as the former patch and copy the buffer, > > compute the checksum on that, and then write out that copy (you can even do > > both at the same time). I have a hard time believing that the additional > > copy > > is more expensive than the locking. > > ISTM we can't write and copy at the same time because the cheksum is > not a trailer field.
Ofcourse you can. If the checksum is in the trailer field you get the nice property that the whole block has a constant checksum. However, if you store the checksum elsewhere you just need to change the checking algorithm to copy the checksum out, zero those bytes and run the checksum and compare with the extracted checksum. Not pretty, but I don't think it makes a difference in performence. Have a nice day, -- Martijn van Oosterhout <klep...@svana.org> http://svana.org/kleptog/ > He who writes carelessly confesses thereby at the very outset that he does > not attach much importance to his own thoughts. -- Arthur Schopenhauer
Description: Digital signature