diff options
author | Bartlomiej Zolnierkiewicz | 2009-11-26 17:11:16 +0100 |
---|---|---|
committer | Jeff Garzik | 2009-12-03 14:36:16 -0500 |
commit | 9cd13bdbae5d83399c375b34ee1eb35e16c10568 (patch) | |
tree | fc8267f13a5e9af025bead6e215952503bb790fa /drivers/ata | |
parent | 5600c70e576199a7552e1c0fff43f3fe16f5566e (diff) |
libata: add comment documenting PIO latency issues on UP
Based on:
http://lkml.indiana.edu/hypermail/linux/kernel/0908.2/01420.html
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/libata-core.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index dc72690ed5db..22ff51bdbc8a 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -6616,6 +6616,13 @@ static int __init ata_init(void) { ata_parse_force_param(); + /* + * FIXME: In UP case, there is only one workqueue thread and if you + * have more than one PIO device, latency is bloody awful, with + * occasional multi-second "hiccups" as one PIO device waits for + * another. It's an ugly wart that users DO occasionally complain + * about; luckily most users have at most one PIO polled device. + */ ata_wq = create_workqueue("ata"); if (!ata_wq) goto free_force_tbl; |