Bug 681360

Summary: block IO controller: Do not use kblockd workqueue for throttle work
Product: Red Hat Enterprise Linux 6 Reporter: Vivek Goyal <vgoyal>
Component: kernelAssignee: Vivek Goyal <vgoyal>
Status: CLOSED ERRATA QA Contact: Storage QE <storage-qe>
Severity: high Docs Contact:
Priority: medium    
Version: 6.1CC: bdonahue, kzhang
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: kernel-2.6.32-130.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-19 12:35:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vivek Goyal 2011-03-01 22:29:14 UTC
Description of problem:

Currently throttle logic uses kblockd workqueue to queue up throttle work. It can lead to system hang when throttling is being used. And the reason being that there is a cyclic dependency between throttle work and CFQ unplug work.

It can happen that CFQ was idling and there are lots of requests queued. This will lead to throtl dispatch thread to sleep on request descriptors and throtl
work will not finish. Because throtl work has not finished, CFQ's unplug work
will not be called as on same workqueue on same cpu, previous work must have
finished before new work is called. And as CFQ unplug will not happen, no requests will be dispatched, no requests descriptors will be freed and hence
throtl work does not wake up and finish.

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


How reproducible:

There was one upstream reporter who could reproduce it consistently. I could not on my local machine.

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 3 RHEL Program Management 2011-03-02 20:43:18 UTC
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux maintenance release. Product Management has 
requested further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed 
products. This request is not yet committed for inclusion in an Update release.

Comment 4 Aristeu Rozanski 2011-04-07 13:50:00 UTC
Patch(es) available on kernel-2.6.32-130.el6

Comment 7 errata-xmlrpc 2011-05-19 12:35:57 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0542.html