Bug 742802

Summary: On JMicron Technology Corp. Standard SD Host Controller, on large writes, mmcqd blocks on waiting for IO and slows down entire system.
Product: [Fedora] Fedora Reporter: vitor.dominor
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 15CC: gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, mishu
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-07 14:47:41 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description vitor.dominor 2011-10-02 21:22:56 UTC
Description of problem:
When writing large blocks of data to a microSD card, through JMicron card reader, the mmcqd daemon blocks for some time on waiting for IO and slows down the entire system, especially other IO-bound processes, even if they are just reading from or writing to the hard drive.
With some luck, not IO-bound processes may continue operating normally, until they need access to IO.

The system in question is an HP Pavilion dv5t laptop, with JMicron Technology Corp. Standard SD Host Controller with PCI ID 197b:2381 controlled through the sdhci-pci kernel module.

Version-Release number of selected component (if applicable):
2.6.40.4-5.fc15.x86_64

How reproducible:
Always.

Steps to Reproduce:
1. Mount sdcard.
2. Copy a large set of files with some size or a single large file to sdcard.
  
Actual results:
The system slows down, sometimes it does even freeze temporarily.
By examining ksystemguard, mmcqd/0 process says waiting for disk or waiting for IO (don't know original message in English, using Fedora KDE in portuguese), sometimes together with other processes like firefox.

Expected results:
System operating normally, with hard drive bound processes not slowing down because of mmcqd bound to sdcard and hopefully file copy to sdcard progressing normally, within the performance limits of the sdcard.

Comment 1 Josh Boyer 2011-10-20 18:37:40 UTC
This sounds like a general symptom of the Linux I/O scheduler.  If you are running iotop in an ssh session, is the mmcqd process taking most of the I/O?

You might try using ionice on the process using the most I/O.  You can also try adjusting the /proc/sys/vm/dirty_* values and/or change the default block scheduler to deadline or noop.