Chris Mason wrote:A little optimisation note. You don't need the barrier after in some cases, or it can be deferred until a better time. E.g. when the disk write cache is probably empty (some time after write-idle), barrier flushes may take the same time as NOPs. This sequence: #1 write metadata to journal #1 write commit block (checksummed) BARRIER #1 write metadata in place ... time passes ... #2 write metadata to journal #2 write commit block (checksummed) BARRIER #2 write metadata in place ... time passes ... #3 write metadata to journal #3 write commit block (checksummed) BARRIER #3 write metadata in place Can be rewritten as: #1 write metadata to journal #1 write commit block (checksummed) ... time passes ... #2 write metadata to journal #2 write commit block (checksummed) ... time passes ... #3 write metadata to journal #3 write commit block (checksummed) ... time passes ... BARRIER (probably instant). #1 write metadata in place #2 write metadata in place #3 write metadata in place Provided some conditions hold. All the metadata and all the journal writes being non-overlapping I/O ranges would be sufficient. What's more, barriers can be deferred past data=ordered in-place data writes, although that's not always an optimisation. -- Jamie --
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Andi Kleen | [PATCH x86] [0/16] Various i386/x86-64 changes |
| Vladislav Bolkhovitin | Re: Integration of SCST in the mainstream Linux kernel |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
git: | |
| Gerrit Renker | [PATCH 0/37] dccp: Feature negotiation - last call for comments |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Natalie Protasevich | [BUG] New Kernel Bugs |
| Arjan van de Ven | Re: [GIT]: Networking |
