Linux 2.6.6 changes
От | Gregory Stark |
---|---|
Тема | Linux 2.6.6 changes |
Дата | |
Msg-id | 87ad0gs516.fsf@stark.xeocode.com обсуждение исходный текст |
Список | pgsql-hackers |
I'm not sure how important these changes are, but perhaps we'll find fsync faster than O_SYNC on linux 2.6.6 where O_SYNC was faster before? <akpm@osdl.org>[PATCH] ext3 fsync() and fdatasync() speedupext3's fsync/fdatasync implementation is currently syncing theinode via afull journal commit even if it was unaltered.Fix that up by exporting the core VFS's inode sync function tomodules andcalling it if the inode is dirty. We need to do it this way so that theinode is moved to the appropriate superblocklist and so that the i_statedirty flags are appropriately updated.This speeds up ext3 fsync() for file overwritesby a factor of four (disknon-writeback) to forty (disk in writeback mode). <akpm@osdl.org>[PATCH] speed up ext2 fsync() and fdatasync()ext2_sync_file() forgets to clear the inode's dirty bits, sowe write theinode on every fsync(), even if it hasn't changed.Fix that up via the new sync_file() API which correctly managesthe inodestate bits and the superblock inode lists.When performing file overwrite on IDE with and without writebackcachingenabled this patch approximately doubles fsync() speed, bringing it into linewith O_SYNC writes.Also, fixup the return value handling in ext2_sync_file().Credit due to Jeffrey Siegal <jbs@quiotix.com> who noticed the performancediscrepancyand wrote a test app. -- greg
В списке pgsql-hackers по дате отправления: