From: Chris Ball <cjb@laptop.org>
To: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>
Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org,
Tony Lindgren <tony@atomide.com>,
Adrian Hunter <adrian.hunter@nokia.com>
Subject: Re: [PATCHv1] mmc_test: minor clean up, use t = &test.area everywhere
Date: Wed, 11 May 2011 00:07:19 -0400 [thread overview]
Message-ID: <m3tyd13mo8.fsf@pullcord.laptop.org> (raw)
In-Reply-To: <be7436a045a4706e31660c92bb8f48cd043facfc.1305030615.git.ext-andriy.shevchenko@nokia.com> (Andy Shevchenko's message of "Tue, 10 May 2011 15:59:01 +0300")
Hi Andy, (adding Adrian to CC)
On Tue, May 10 2011, Andy Shevchenko wrote:
> Signed-off-by: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>
> ---
> drivers/mmc/card/mmc_test.c | 75 +++++++++++++++++++++++++------------------
> 1 files changed, 44 insertions(+), 31 deletions(-)
>
> diff --git a/drivers/mmc/card/mmc_test.c b/drivers/mmc/card/mmc_test.c
> index 35252c1..233cdfa 100644
> --- a/drivers/mmc/card/mmc_test.c
> +++ b/drivers/mmc/card/mmc_test.c
> @@ -1386,8 +1386,9 @@ static int mmc_test_area_io(struct mmc_test_card *test, unsigned long sz,
> */
> static int mmc_test_area_fill(struct mmc_test_card *test)
> {
> - return mmc_test_area_io(test, test->area.max_tfr, test->area.dev_addr,
> - 1, 0, 0);
> + struct mmc_test_area *t = &test->area;
> +
> + return mmc_test_area_io(test, t->max_tfr, t->dev_addr, 1, 0, 0);
> }
>
> /*
> @@ -1400,7 +1401,7 @@ static int mmc_test_area_erase(struct mmc_test_card *test)
> if (!mmc_can_erase(test->card))
> return 0;
>
> - return mmc_erase(test->card, t->dev_addr, test->area.max_sz >> 9,
> + return mmc_erase(test->card, t->dev_addr, t->max_sz >> 9,
> MMC_ERASE_ARG);
> }
>
> @@ -1527,8 +1528,10 @@ static int mmc_test_area_prepare_fill(struct mmc_test_card *test)
> static int mmc_test_best_performance(struct mmc_test_card *test, int write,
> int max_scatter)
> {
> - return mmc_test_area_io(test, test->area.max_tfr, test->area.dev_addr,
> - write, max_scatter, 1);
> + struct mmc_test_area *t = &test->area;
> +
> + return mmc_test_area_io(test, t->max_tfr, t->dev_addr, write,
> + max_scatter, 1);
> }
>
> /*
> @@ -1568,18 +1571,19 @@ static int mmc_test_best_write_perf_max_scatter(struct mmc_test_card *test)
> */
> static int mmc_test_profile_read_perf(struct mmc_test_card *test)
> {
> + struct mmc_test_area *t = &test->area;
> unsigned long sz;
> unsigned int dev_addr;
> int ret;
>
> - for (sz = 512; sz < test->area.max_tfr; sz <<= 1) {
> - dev_addr = test->area.dev_addr + (sz >> 9);
> + for (sz = 512; sz < t->max_tfr; sz <<= 1) {
> + dev_addr = t->dev_addr + (sz >> 9);
> ret = mmc_test_area_io(test, sz, dev_addr, 0, 0, 1);
> if (ret)
> return ret;
> }
> - sz = test->area.max_tfr;
> - dev_addr = test->area.dev_addr;
> + sz = t->max_tfr;
> + dev_addr = t->dev_addr;
> return mmc_test_area_io(test, sz, dev_addr, 0, 0, 1);
> }
>
> @@ -1588,6 +1592,7 @@ static int mmc_test_profile_read_perf(struct mmc_test_card *test)
> */
> static int mmc_test_profile_write_perf(struct mmc_test_card *test)
> {
> + struct mmc_test_area *t = &test->area;
> unsigned long sz;
> unsigned int dev_addr;
> int ret;
> @@ -1595,8 +1600,8 @@ static int mmc_test_profile_write_perf(struct mmc_test_card *test)
> ret = mmc_test_area_erase(test);
> if (ret)
> return ret;
> - for (sz = 512; sz < test->area.max_tfr; sz <<= 1) {
> - dev_addr = test->area.dev_addr + (sz >> 9);
> + for (sz = 512; sz < t->max_tfr; sz <<= 1) {
> + dev_addr = t->dev_addr + (sz >> 9);
> ret = mmc_test_area_io(test, sz, dev_addr, 1, 0, 1);
> if (ret)
> return ret;
> @@ -1604,8 +1609,8 @@ static int mmc_test_profile_write_perf(struct mmc_test_card *test)
> ret = mmc_test_area_erase(test);
> if (ret)
> return ret;
> - sz = test->area.max_tfr;
> - dev_addr = test->area.dev_addr;
> + sz = t->max_tfr;
> + dev_addr = t->dev_addr;
> return mmc_test_area_io(test, sz, dev_addr, 1, 0, 1);
> }
>
> @@ -1614,6 +1619,7 @@ static int mmc_test_profile_write_perf(struct mmc_test_card *test)
> */
> static int mmc_test_profile_trim_perf(struct mmc_test_card *test)
> {
> + struct mmc_test_area *t = &test->area;
> unsigned long sz;
> unsigned int dev_addr;
> struct timespec ts1, ts2;
> @@ -1625,8 +1631,8 @@ static int mmc_test_profile_trim_perf(struct mmc_test_card *test)
> if (!mmc_can_erase(test->card))
> return RESULT_UNSUP_HOST;
>
> - for (sz = 512; sz < test->area.max_sz; sz <<= 1) {
> - dev_addr = test->area.dev_addr + (sz >> 9);
> + for (sz = 512; sz < t->max_sz; sz <<= 1) {
> + dev_addr = t->dev_addr + (sz >> 9);
> getnstimeofday(&ts1);
> ret = mmc_erase(test->card, dev_addr, sz >> 9, MMC_TRIM_ARG);
> if (ret)
> @@ -1634,7 +1640,7 @@ static int mmc_test_profile_trim_perf(struct mmc_test_card *test)
> getnstimeofday(&ts2);
> mmc_test_print_rate(test, sz, &ts1, &ts2);
> }
> - dev_addr = test->area.dev_addr;
> + dev_addr = t->dev_addr;
> getnstimeofday(&ts1);
> ret = mmc_erase(test->card, dev_addr, sz >> 9, MMC_TRIM_ARG);
> if (ret)
> @@ -1646,12 +1652,13 @@ static int mmc_test_profile_trim_perf(struct mmc_test_card *test)
>
> static int mmc_test_seq_read_perf(struct mmc_test_card *test, unsigned long sz)
> {
> + struct mmc_test_area *t = &test->area;
> unsigned int dev_addr, i, cnt;
> struct timespec ts1, ts2;
> int ret;
>
> - cnt = test->area.max_sz / sz;
> - dev_addr = test->area.dev_addr;
> + cnt = t->max_sz / sz;
> + dev_addr = t->dev_addr;
> getnstimeofday(&ts1);
> for (i = 0; i < cnt; i++) {
> ret = mmc_test_area_io(test, sz, dev_addr, 0, 0, 0);
> @@ -1669,20 +1676,22 @@ static int mmc_test_seq_read_perf(struct mmc_test_card *test, unsigned long sz)
> */
> static int mmc_test_profile_seq_read_perf(struct mmc_test_card *test)
> {
> + struct mmc_test_area *t = &test->area;
> unsigned long sz;
> int ret;
>
> - for (sz = 512; sz < test->area.max_tfr; sz <<= 1) {
> + for (sz = 512; sz < t->max_tfr; sz <<= 1) {
> ret = mmc_test_seq_read_perf(test, sz);
> if (ret)
> return ret;
> }
> - sz = test->area.max_tfr;
> + sz = t->max_tfr;
> return mmc_test_seq_read_perf(test, sz);
> }
>
> static int mmc_test_seq_write_perf(struct mmc_test_card *test, unsigned long sz)
> {
> + struct mmc_test_area *t = &test->area;
> unsigned int dev_addr, i, cnt;
> struct timespec ts1, ts2;
> int ret;
> @@ -1690,8 +1699,8 @@ static int mmc_test_seq_write_perf(struct mmc_test_card *test, unsigned long sz)
> ret = mmc_test_area_erase(test);
> if (ret)
> return ret;
> - cnt = test->area.max_sz / sz;
> - dev_addr = test->area.dev_addr;
> + cnt = t->max_sz / sz;
> + dev_addr = t->dev_addr;
> getnstimeofday(&ts1);
> for (i = 0; i < cnt; i++) {
> ret = mmc_test_area_io(test, sz, dev_addr, 1, 0, 0);
> @@ -1709,15 +1718,16 @@ static int mmc_test_seq_write_perf(struct mmc_test_card *test, unsigned long sz)
> */
> static int mmc_test_profile_seq_write_perf(struct mmc_test_card *test)
> {
> + struct mmc_test_area *t = &test->area;
> unsigned long sz;
> int ret;
>
> - for (sz = 512; sz < test->area.max_tfr; sz <<= 1) {
> + for (sz = 512; sz < t->max_tfr; sz <<= 1) {
> ret = mmc_test_seq_write_perf(test, sz);
> if (ret)
> return ret;
> }
> - sz = test->area.max_tfr;
> + sz = t->max_tfr;
> return mmc_test_seq_write_perf(test, sz);
> }
>
> @@ -1726,6 +1736,7 @@ static int mmc_test_profile_seq_write_perf(struct mmc_test_card *test)
> */
> static int mmc_test_profile_seq_trim_perf(struct mmc_test_card *test)
> {
> + struct mmc_test_area *t = &test->area;
> unsigned long sz;
> unsigned int dev_addr, i, cnt;
> struct timespec ts1, ts2;
> @@ -1737,15 +1748,15 @@ static int mmc_test_profile_seq_trim_perf(struct mmc_test_card *test)
> if (!mmc_can_erase(test->card))
> return RESULT_UNSUP_HOST;
>
> - for (sz = 512; sz <= test->area.max_sz; sz <<= 1) {
> + for (sz = 512; sz <= t->max_sz; sz <<= 1) {
> ret = mmc_test_area_erase(test);
> if (ret)
> return ret;
> ret = mmc_test_area_fill(test);
> if (ret)
> return ret;
> - cnt = test->area.max_sz / sz;
> - dev_addr = test->area.dev_addr;
> + cnt = t->max_sz / sz;
> + dev_addr = t->dev_addr;
> getnstimeofday(&ts1);
> for (i = 0; i < cnt; i++) {
> ret = mmc_erase(test->card, dev_addr, sz >> 9,
> @@ -1808,11 +1819,12 @@ static int mmc_test_rnd_perf(struct mmc_test_card *test, int write, int print,
>
> static int mmc_test_random_perf(struct mmc_test_card *test, int write)
> {
> + struct mmc_test_area *t = &test->area;
> unsigned int next;
> unsigned long sz;
> int ret;
>
> - for (sz = 512; sz < test->area.max_tfr; sz <<= 1) {
> + for (sz = 512; sz < t->max_tfr; sz <<= 1) {
> /*
> * When writing, try to get more consistent results by running
> * the test twice with exactly the same I/O but outputting the
> @@ -1829,7 +1841,7 @@ static int mmc_test_random_perf(struct mmc_test_card *test, int write)
> if (ret)
> return ret;
> }
> - sz = test->area.max_tfr;
> + sz = t->max_tfr;
> if (write) {
> next = rnd_next;
> ret = mmc_test_rnd_perf(test, write, 0, sz);
> @@ -1859,17 +1871,18 @@ static int mmc_test_random_write_perf(struct mmc_test_card *test)
> static int mmc_test_seq_perf(struct mmc_test_card *test, int write,
> unsigned int tot_sz, int max_scatter)
> {
> + struct mmc_test_area *t = &test->area;
> unsigned int dev_addr, i, cnt, sz, ssz;
> struct timespec ts1, ts2;
> int ret;
>
> - sz = test->area.max_tfr;
> + sz = t->max_tfr;
> +
> /*
> * In the case of a maximally scattered transfer, the maximum transfer
> * size is further limited by using PAGE_SIZE segments.
> */
> if (max_scatter) {
> - struct mmc_test_area *t = &test->area;
> unsigned long max_tfr;
>
> if (t->max_seg_sz >= PAGE_SIZE)
Thanks, pushed to mmc-next for .40.
- Chris.
--
Chris Ball <cjb@laptop.org> <http://printf.net/>
One Laptop Per Child
prev parent reply other threads:[~2011-05-11 15:45 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-10 12:59 [PATCHv1] mmc_test: minor clean up, use t = &test.area everywhere Andy Shevchenko
2011-05-11 4:07 ` Chris Ball [this message]
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=m3tyd13mo8.fsf@pullcord.laptop.org \
--to=cjb@laptop.org \
--cc=adrian.hunter@nokia.com \
--cc=ext-andriy.shevchenko@nokia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=tony@atomide.com \
/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.