Bug 588930 - umount performance on ext4 has regressed
umount performance on ext4 has regressed
Status: CLOSED UPSTREAM
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
13
All Linux
low Severity medium
: ---
: ---
Assigned To: Eric Sandeen
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-05-04 16:41 EDT by Kees Cook
Modified: 2010-05-19 15:17 EDT (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-05-04 17:28:49 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Linux Kernel 15906 None None None Never
Launchpad 543617 None None None Never

  None (edit)
Description Kees Cook 2010-05-04 16:41:39 EDT
Description of problem: umount on ext4 has seriously regressed, stalling for over a minute (or more):
https://bugzilla.kernel.org/show_bug.cgi?id=15906

Version-Release number of selected component (if applicable): 2.6.33


How reproducible: always


Steps to Reproduce:
1. install a Fedora 13, accepted defaults.
2. Run the following as root:

cd /tmp
dd if=/dev/zero of=test.ext4 bs=1 count=1 seek=1G
mkfs.ext4 -F test.ext4
mkdir -p /mnt/test
mount -o loop test.ext4 /mnt/test
echo $(seq 65536) | (cd /mnt/test; xargs touch)
time umount /mnt/test

  
Actual results: over a minute to perform umount.


Expected results: a few seconds.
Comment 1 Eric Sandeen 2010-05-04 17:00:36 EDT
Looks barrier related, if you change the mount -o loop to mount -o loop,nobarrier, it's speedy.

commit 68db1961bbf4e16c220ccec4a780e966bc1fece3
Author: Nikanth Karthikesan <knikanth@suse.de>
Date:   Tue Mar 24 12:29:54 2009 +0100

    loop: support barrier writes
    
    Honour barrier requests in the loop back block device driver.
    In case of barrier bios, flush the backing file once before processing the
    barrier and once after to guarantee ordering. In case of filesystems that
    does not support fsync, barrier bios would be failed with -EOPNOTSUPP.
    
    Signed-off-by: Nikanth Karthikesan <knikanth@suse.de>
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>


So you're fsyncing the loop file 2x for each barrier, and those fsyncs in turn cause cache flushes on your underlying device; once upon a time lvm didn't do anything there, but now it does ... I think you're just getting bitten by the new and improved barrier support at every level.

-Eric
Comment 2 Eric Sandeen 2010-05-04 17:28:05 EDT
Since this really seems to be an upstream-relevant bug motivated by an ubuntu bug that ubuntu seemed unable to solve, I'm going to close this as UPSTREAM and worry about it there, rather than working the ubuntu bug through the fedora bugzilla.
Comment 4 Michael Neale 2010-05-11 00:37:37 EDT
The mad skillz that did the new colour schemes for a new release of an os (Ubuntu 10.04) should be just as capable at being able to overcome the limitation of journal transaction and barrier blocks between every single inode update by breakfast.
Comment 5 Fedora Update System 2010-05-17 01:39:39 EDT
kernel-2.6.33.4-95.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/kernel-2.6.33.4-95.fc13
Comment 6 Fedora Update System 2010-05-19 15:17:52 EDT
kernel-2.6.33.4-95.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.