aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-07-02 10:03:52 +0200
committerTejun Heo <tj@kernel.org>2010-07-02 10:59:24 +0200
commitad72cf9885c536e3adae03f8337557ac9dd1e4bb (patch)
treee93af7f241987ffe365792c0130d182b0ac890d1 /drivers/ata/libata.h
parentd313dd85ad846bc768d58e9ceb28588f917f4c9a (diff)
downloadkernel_goldelico_gta04-ad72cf9885c536e3adae03f8337557ac9dd1e4bb.zip
kernel_goldelico_gta04-ad72cf9885c536e3adae03f8337557ac9dd1e4bb.tar.gz
kernel_goldelico_gta04-ad72cf9885c536e3adae03f8337557ac9dd1e4bb.tar.bz2
libata: take advantage of cmwq and remove concurrency limitations
libata has two concurrency related limitations. a. ata_wq which is used for polling PIO has single thread per CPU. If there are multiple devices doing polling PIO on the same CPU, they can't be executed simultaneously. b. ata_aux_wq which is used for SCSI probing has single thread. In cases where SCSI probing is stalled for extended period of time which is possible for ATAPI devices, this will stall all probing. #a is solved by increasing maximum concurrency of ata_wq. Please note that polling PIO might be used under allocation path and thus needs to be served by a separate wq with a rescuer. #b is solved by using the default wq instead and achieving exclusion via per-port mutex. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/ata/libata.h')
-rw-r--r--drivers/ata/libata.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/ata/libata.h b/drivers/ata/libata.h
index 4b84ed6..9ce1ecc 100644
--- a/drivers/ata/libata.h
+++ b/drivers/ata/libata.h
@@ -54,7 +54,6 @@ enum {
};
extern unsigned int ata_print_id;
-extern struct workqueue_struct *ata_aux_wq;
extern int atapi_passthru16;
extern int libata_fua;
extern int libata_noacpi;