On Nov 28, 2012, at 6:02 PM, Greg Troxel <[email protected]> wrote: > > Edgar Fuß <[email protected]> writes: > >>> I seem to be facing two problems: >>> >>> 1. A certain svn update command is ridicously slow on my to-be file server. >>> 2. During the svn update, the machine partially locks up and fails to >>> respond >>> to NFS requests. >> Thanks to very kind help by hannken@, I now at least know what the problem >> is. >> >> Short form: WAPBL is currently completely unusable on RAIDframe (I always >> suspected something like that), at least on non-Level 0 sets. >> >> The problem turned out to be wapbl_flush() writing non-fsbsize chunks on non- >> fsbsize boundaries. So RAIDframe is nearly sure to RMW. >> That makes the log being written to disc at about 1MB/s with the write lock >> on the log being held. So everything else on that fs tstiles on the log's >> read lock. > > Do you see this on RAID-1 too? > > I wonder if it's possible (easily) to make the log only use fsbize > boundaries, (maybe forcing it to be bigger as a side effect.)
Sure -- add fsbsize sized buffer to struct wapbl and teach wapbl_write() to collect data until the buffers start or end touches a fsbsize boundary. As long as the writes don't cross the logs end they already come ordered. -- J. Hannken-Illjes - [email protected] - TU Braunschweig (Germany)
