mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Jeff V. Merkey" <jmerkey@vger.timpanogas.org>
To: Mike Anderson <andmike@us.ibm.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: queue_nr_requests needs to be selective
Date: Fri, 1 Mar 2002 22:59:18 -0700	[thread overview]
Message-ID: <20020301225918.A14239@vger.timpanogas.org> (raw)
In-Reply-To: <20020301132254.A11528@vger.timpanogas.org> <20020301165104.C6778@beaverton.ibm.com> <20020301213908.B13983@vger.timpanogas.org>
In-Reply-To: <20020301213908.B13983@vger.timpanogas.org>; from jmerkey@vger.timpanogas.org on Fri, Mar 01, 2002 at 09:39:08PM -0700



Mike,

Here are some numbers from the running system.  This system is 
running at 120 MB/S on a single 3Ware adapter.  Stats attached.  You
will note that the max commands hitting the adapter are way above
15.  I can only presume this is due to caching behavior on the card.
I do have these cards enabled with caching.  I have had these numbers
as high as 319 MB/S with multiple cards in separate buses.  The system
this test is running on has 3 PCI buses.  2 x 33 Mhz and 1 x 66 Mhz.  
with Serverwork HE Chipset.

We are averaging complete saturation of the inbound command queue
on the 3Ware adapter and are posting 64K writes (128 * 512) * 3 on
aeverage with each command.  I have no idea why the 15 queue depth
limit is being exceeded here, possibly due to the fact the adapter 
is caching, but the stats report up to 255 requests being posted 
per driver pass.

cat /proc/scsi/3w-xxxx/3

scsi3: 3ware Storage Controller
Driver version: 1.02.00.016
Current commands posted:       205
Max commands posted:           255
Current pending commands:        0
Max pending commands:            0
Last sgl length:                 0
Max sgl length:                  3
Last sector count:             128
Max sector count:              256
Resets:                          0
Aborts:                          0
AEN's:                           0


cat /proc/scsi/3w-xxxx/3

scsi3: 3ware Storage Controller
Driver version: 1.02.00.016
Current commands posted:         7
Max commands posted:           255
Current pending commands:        0
Max pending commands:            0
Last sgl length:                 0
Max sgl length:                  3
Last sector count:             128
Max sector count:              256
Resets:                          0
Aborts:                          0
AEN's:                           0


This test is posting a max of 54,000 4K buffer heads to a single 3Ware
adapter.  See below:


trxinfo -a  

ioctl TRXDRV_QUERY_AIO ret 0
TRXDRV-AIO STATS
aio_submitted-3 aio_completed-25601331 aio_error-0
disk_aio_submitted-25601539 disk_aio_completed-25601331
sync_active [ x x x x x x x x ]
async_active [ x x x x x x x x ]
cb_active-0 aio_sequence-0
bh_count-65536 bh_inuse-32208 bh_max_inuse-54593 bh_waiters-0
hash_hits-0 hash_misses-0 hash_fill-3 hash_total-3
probe_avg-0 probe_max-1
total_read_req-0 total_write_req-25601536 total_fill_req-0
total_complete-25739847
req_sec-0 seconds-12925

trxinfo -a  

ioctl TRXDRV_QUERY_AIO ret 0
TRXDRV-AIO STATS
aio_submitted-3 aio_completed-25605732 aio_error-0
disk_aio_submitted-25605891 disk_aio_completed-25605732
sync_active [ x x x x x x x x ]
async_active [ x x x x x x x x ]
cb_active-0 aio_sequence-0
bh_count-65536 bh_inuse-31440 bh_max_inuse-54593 bh_waiters-0
hash_hits-0 hash_misses-0 hash_fill-3 hash_total-3
probe_avg-0 probe_max-1
total_read_req-0 total_write_req-25605888 total_fill_req-0
total_complete-25744271
req_sec-0 seconds-12927

This test is posting a max of 54,000 4K buffer heads to a single 3Ware
adapter.


Jeff




On Fri, Mar 01, 2002 at 09:39:08PM -0700, Jeff V. Merkey wrote:
> 
> 
> We are going to sleep a lot in __get_request_wait().  This 
> means the write queue has no free request blocks.  We are mostly writing 
> to the adapter in this test case, and the data we are writing 
> is already in order when it's posted.    
> 
> We are also posting via submit_bh() so you should trace 
> that path.  I am seeing 22,000+ buffer heads posted concurrently
> on each 3Ware card of 4K each with this application
> on the patch for 2.4.19-pre2.  I will post the actual data
> for you.  Stand by. 
> 
> These 3Ware cards are incredible. 
> 
> Jeff
> 
> 
> On Fri, Mar 01, 2002 at 04:51:04PM -0800, Mike Anderson wrote:
> > Jeff V. Merkey [jmerkey@vger.timpanogas.org] wrote:
> > > 
> > > ..snip..
> > >
> > > What is really needed here is to allow queue_nr_requests to be 
> > > configurable on a per adapter/device basis for these high end 
> > > raid cards like 3Ware since in a RAID 0 configuration, 8 drives
> > > are in essence a terabyte (1.3 terrabytes in our configuration) 
> > > and each adapter is showing up as a 1.3 TB device.  64/128
> > > requests are simply not enough to get the full spectrum of 
> > > performance atainable with these cards.
> > > 
> > Not having direct experience on this card it appears that increasing the
> > queue_nr_requests number will not allow you to have more ios in flight.
> > 
> > Unless I am reading the driver wrong you will be limited to
> > TW_MAX_CMDS_PER_LUN (15). This value is used by scsi_build_commandblocks
> > to allocate scsi commands for your scsi_device. This driver does not provide
> > a select_queue_depths function which allows for increase to the default
> > template value. 
> > 
> > Could it be that the experimentation of increasing this number has
> > allowed for better merging.
> > 
> > -Mike
> > -- 
> > Michael Anderson
> > andmike@us.ibm.com
> > 
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at  http://www.tux.org/lkml/

  reply	other threads:[~2002-03-02  5:45 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-01 20:22 Jeff V. Merkey
2002-03-01 20:43 ` Andrew Morton
2002-03-01 21:03   ` Alan Cox
2002-03-01 23:22     ` Jeff V. Merkey
2002-03-01 23:20   ` Jeff V. Merkey
2002-03-01 23:23     ` Andrew Morton
2002-03-02  0:27       ` Jeff V. Merkey
2002-03-02  0:49         ` Andrew Morton
2002-03-02  2:16           ` Jeff V. Merkey
2002-03-02  3:50             ` Andrew Morton
2002-03-02  4:34               ` Jeff V. Merkey
2002-03-02  7:33               ` Jeff V. Merkey
2002-03-02  9:10               ` Jens Axboe
2002-03-02  9:22                 ` Andrew Morton
2002-03-04  9:09                   ` Jens Axboe
2002-03-02  0:51 ` Mike Anderson
2002-03-02  4:39   ` Jeff V. Merkey
2002-03-02  5:59     ` Jeff V. Merkey [this message]
2002-03-02  6:01       ` Jeff V. Merkey
2002-03-02  6:16         ` Jeff V. Merkey
2002-03-04  7:16       ` Mike Anderson
2002-03-04 17:39         ` Jeff V. Merkey

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=20020301225918.A14239@vger.timpanogas.org \
    --to=jmerkey@vger.timpanogas.org \
    --cc=andmike@us.ibm.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®