public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Marek Vasut <marek.vasut@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] usb_test_unit_ready called every block read - performance
Date: Sun, 19 Aug 2012 01:16:25 +0200	[thread overview]
Message-ID: <201208190116.26142.marex@denx.de> (raw)
In-Reply-To: <CACjqNxsSE3pwP3KV76snAbkRS+Zdj9Gb_bxGdg1iug9otKNFow@mail.gmail.com>

Dear Jim Shimer,

> Hi Marek,
> 
> I looked at the ext4 branch.  It looks like he has the patch to remove the
> usb_test_unit_ready() calls which were not needed. Actually those calls are
> commented out on that branch:
> #if 0
>         if (usb_test_unit_ready(srb, ss)) {
>                 printf("Device NOT ready\n   Request Sense returned %02X
> %02X"
>                        " %02X\n", srb->sense_buf[2], srb->sense_buf[12],
>                         srb->sense_buf[13]);
>                 return 0;
>         }
> #endif
> 
> In the u-boot-usb.git, this code is removed so at some point there will be
> a merge conflict.
> 
> Also the ext4 branch still has the mdelay(5) always being done in
> usb_stor_BBB_transport() line 696 which we found to be the largest
> performance killer.

The ext4 branch doesn't contain a few other things indeed. Can you try applying 
the ext4 patches on uboot-usb and retest?

> Regards,
> Jim
> 
> On Sun, Aug 12, 2012 at 7:54 PM, Marek Vasut <marex@denx.de> wrote:
> > Dear Jim Shimer,
> > 
> > > While tuning ext2load, we found that usb_test_unit_ready was being
> > > called every block read.  We compared the usb block storage to the
> > > scsi block storage cmd_scsi.c, and found that the scsi device was only
> > > calling its scsi_setup_test_unit_ready() during scsi_can.  It appears
> > > that usb_test_unit_ready() really only needs to be called once during
> > > usb_stor_scan(), via usb_stor_get_info().   Is there a particular
> > > reason usb_test_unit_ready is called for every block read, or do you
> > > think its
> > 
> > ok
> > 
> > > to only call during usb_stor_scan()?  We're finding this speeds up
> > 
> > ext2load
> > 
> > > quite a bit.
> > 
> > Jim, did we get anywhere on this one ? Can you try with the new ext4 code
> > in
> > Wolfgangs' u-boot-master/ext4 branch?
> > 
> > > Regards,
> > > Jim
> > 
> > Best regards,
> > Marek Vasut

Best regards,
Marek Vasut

      parent reply	other threads:[~2012-08-18 23:16 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-30 19:18 [U-Boot] usb_test_unit_ready called every block read - performance Jim Shimer
2012-07-30 22:54 ` Marek Vasut
2012-07-30 23:35   ` Jim Shimer
2012-07-30 23:41     ` Marek Vasut
2012-07-31  2:17       ` Jim Shimer
2012-07-31  4:43         ` Wolfgang Denk
2012-08-14 17:50         ` Marek Vasut
2012-08-14 17:57           ` Steve Heckman
2012-08-15 14:04             ` Jim Shimer
2012-08-12 23:54 ` Marek Vasut
2012-08-14 13:55   ` Steve Heckman
2012-08-14 17:48     ` Marek Vasut
2012-08-15 14:19   ` Jim Shimer
2012-08-15 16:45     ` Steve Heckman
2012-08-18 23:17       ` Marek Vasut
2012-08-18 23:16     ` Marek Vasut [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=201208190116.26142.marex@denx.de \
    --to=marek.vasut@gmail.com \
    --cc=u-boot@lists.denx.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox