Re: [PATCH] write barriers for 2.4.x

Chris Mason
2002-02-15T00:57:27Z

[-- Attachment #1: Type: text/plain, Size: 1043 bytes --]

Hello everyone,

Here's the full patch update. The aic7xxx code is changed to make
sure we only try to use tag commands when they are turned on for the
target, otherwise we can safely assume the drive won't do
other writes first.

The buslogic and sym53c8xx_2 code is included, and the reiserfs
code is updated to queue the commit block immediately after
the last log block when barrier mode is enabled. It wasn't
happening soon enough with the first patch, and the drive wasn't
getting the chance to flush the commit as a unit.

reiserfs was also changed back to waiting on the buffers. benchmarks
don't show dropping the waits actually made any speed difference, the
really critical wait that was hurting us was:

write X log blocks
wait
write 1 commit block
wait

With -o barrier, this is now:

write X log blocks
write 1 commit block
wait.

For scsi, the new code is about 10% faster on journal heavy stuff,
but you've really gotta hammer on the log to see it.

Patch is attached and against 2.4.18-pre9 (rc1 should be fine)

-chris

[-- Attachment #2: queue-barrier-5.diff.gz --]
[-- Type: application/x-gunzip, Size: 7727 bytes --]