From: Willy Tarreau <w@1wt.eu>
To: jeff@garzik.org
Cc: linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 0/2] libata: implement 32-bit transfers for PIO mode
Date: Sun, 17 Feb 2008 22:18:10 +0100 [thread overview]
Message-ID: <20080217211810.GA15001@1wt.eu> (raw)
Hi Jeff,
For several times I tried libata on small machines equipped with either
CompactFlash or IDE DOM (Disk-On-Module). All those machines with small
flashes (<= 256 MB) were about 35-40% slower under libata than under the
plain old IDE driver. I realized that all the slower ones were running
PIO only.
Today I had time to investigate the issue on a Geode LX board. At first
I thought it was the pata_cs5536 driver which would have incorrect timings,
but this was not the case. I finally noticed that under IDE, my flashes
were running in 32-bit mode while I could not enable 32-bit with libata.
Reading ata_data_xfer() made it obvious that transfers were only 16-bit
wide.
Thus, I have implemented the 32-bit mode to bring the performance back
to the level of the old IDE driver. I jumped from 1.5 MB/s to 2.5 MB/s,
which is an important difference at this level of performance, especially
when large files are read. The 32-bit mode is enabled using the ioctl
which is already implemented but only accepts a null value.
I'm joining two patches which I hope you'll consider for inclusion. I've
updated them to latest Linus' git.
Best regards,
Willy
next reply other threads:[~2008-02-17 21:18 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-17 21:18 Willy Tarreau [this message]
2008-02-17 21:19 ` [PATCH 1/2] libata: implement ATA_IOC_GET_IO32/ATA_IOC_SET_IO32 ioctls Willy Tarreau
2008-04-17 19:49 ` Jeff Garzik
2008-04-17 19:46 ` Willy Tarreau
2008-04-17 22:02 ` [PATCH] libata: implement support for 32-bit PIO transfers Willy Tarreau
2008-02-17 21:20 ` [PATCH 2/2] " Willy Tarreau
2008-02-17 22:32 ` Alan Cox
2008-02-17 22:31 ` [PATCH 0/2] libata: implement 32-bit transfers for PIO mode Alan Cox
2008-02-17 23:08 ` Willy Tarreau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080217211810.GA15001@1wt.eu \
--to=w@1wt.eu \
--cc=jeff@garzik.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.