From: scameron@beardog.cce.hp.com
To: linux-scsi@vger.kernel.org
Cc: James.Bottomley@suse.de, scameron@beardog.cce.hp.com, axboe@kernel.dk
Subject: Re: Maximum data size in a single transfer for MS driver
Date: Thu, 25 Feb 2010 10:59:01 -0600 [thread overview]
Message-ID: <20100225165901.GZ30797@beardog.cce.hp.com> (raw)
James.Bottomley@suse.de wrote:
> On Mon, 2010-02-22 at 18:20 +0530, Ramya Desai wrote:
> > On Fri, Feb 19, 2010 at 7:56 PM, James Bottomley
> > <James.Bottomley@suse.de> wrote:
> >
> > > Before we get into that, what architecture is this? There are a few,
> > > like arm that don't have architecture support for chaining, so they can
> > > never go over 128 segments.
> >
> > I am using the desktop PC to access my device. i.e, Intel processor
> > with x86 architecture.
>
> OK, so now see what max_hw_sectors_kb says ... if it's still 512 and
> you're sure you've got sg_tablesize set to something higher, there's
> likely something in the USB stack resetting it ... I suppose it's
> possible there's something else in your kernel doing that for the
> architecture, but you could rule that out by looking at
> max_hw_sectors_kb for either a SCSI or libata device and verifying it's
> much higher than 512.
>
> James
>
I might be off in the weeds, but I noticed this while looking at a similar
512k limit hpsa was hitting in the last few days, and I came across this,
in block/blk-settings.c:
void blk_queue_max_hw_sectors(struct request_queue *q, unsigned int max_sectors)
{
if (BLK_DEF_MAX_SECTORS > max_sectors)
q->limits.max_hw_sectors = BLK_DEF_MAX_SECTORS;
else
q->limits.max_hw_sectors = max_sectors;
}
EXPORT_SYMBOL(blk_queue_max_hw_sectors);
And BLK_DEF_MAX_SECTORS is 1024 (means, 512k), from blkdev.h:
#define MAX_PHYS_SEGMENTS 128
#define MAX_HW_SEGMENTS 128
#define SAFE_MAX_SECTORS 255
#define BLK_DEF_MAX_SECTORS 1024
So if you try to set max_hw_sectors to allow more than 512k via
blk_queue_max_hw_sectors(), it will cap it at 512k.
YOu can set q->limits.max_hw_sectors to a bigger number yourself
without using the helper function, though I don't know if that's
cool (though it seems to work with cciss, for example.) I haven't
tried it with hpsa, though did try changing blkdev.h BLK_DEF_MAX_SECTORS,
and rebuilding the kernel, and was able to get by the 512k limit.
-- steve
next reply other threads:[~2010-02-25 16:55 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-25 16:59 scameron [this message]
2010-02-25 17:00 ` Maximum data size in a single transfer for MS driver scameron
2010-02-25 17:18 ` scameron
2010-02-25 17:28 ` Martin K. Petersen
2010-02-25 17:41 ` Boaz Harrosh
2010-02-25 17:58 ` Martin K. Petersen
2010-02-25 19:07 ` Martin K. Petersen
-- strict thread matches above, loose matches on Subject: below --
2010-02-17 12:37 Ramya Desai
[not found] ` <3e7aae31002170437i52ba4ba1w10c1ff224d9b37ef-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-02-17 15:02 ` James Bottomley
2010-02-18 8:46 ` Ramya Desai
2010-02-18 15:47 ` James Bottomley
[not found] ` <1266508049.4355.37.camel-0iu6Cu4xQGLYCGPCin2YbQ@public.gmane.org>
2010-02-18 16:24 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1002181115120.1294-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-02-18 16:30 ` James Bottomley
[not found] ` <1266510627.4355.41.camel-0iu6Cu4xQGLYCGPCin2YbQ@public.gmane.org>
2010-02-18 16:51 ` Alan Stern
2010-02-19 12:43 ` Ramya Desai
2010-02-19 14:26 ` James Bottomley
2010-02-22 12:50 ` Ramya Desai
[not found] ` <3e7aae31002220450o6f83d2f3n45c795d70ef01f72-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-02-22 13:06 ` James Bottomley
2010-02-22 14:15 ` Ramya Desai
2010-02-22 17:44 ` Alan Stern
2010-02-22 18:07 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1002221232160.1251-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-02-23 15:29 ` Ramya Desai
2010-02-23 16:49 ` Alan Stern
2010-02-23 17:00 ` Martin K. Petersen
2010-02-23 18:01 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1002231253320.1308-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-02-24 13:07 ` Ramya Desai
2010-02-24 13:12 ` Jens Axboe
2010-02-24 16:30 ` Alan Stern
2010-02-24 19:07 ` Jens Axboe
2010-02-25 14:47 ` Ramya Desai
2010-02-25 14:44 ` Ramya Desai
2010-02-25 16:37 ` Alan Stern
2010-02-25 16:49 ` Martin K. Petersen
2010-02-25 16:53 ` Martin K. Petersen
2010-02-25 17:54 ` Jens Axboe
[not found] ` <yq1zl2xl0j3.fsf-+q57XtR/GgMb6DWv4sQWN6xOck334EZe@public.gmane.org>
2010-02-25 18:28 ` Alan Stern
2010-02-25 19:05 ` Martin K. Petersen
[not found] ` <yq1iq9lkueh.fsf-+q57XtR/GgMb6DWv4sQWN6xOck334EZe@public.gmane.org>
2010-02-25 19:47 ` Alan Stern
2010-02-26 3:37 ` Martin K. Petersen
[not found] ` <Pine.LNX.4.44L0.1002251132170.1686-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-02-25 17:52 ` Jens Axboe
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=20100225165901.GZ30797@beardog.cce.hp.com \
--to=scameron@beardog.cce.hp.com \
--cc=James.Bottomley@suse.de \
--cc=axboe@kernel.dk \
--cc=linux-scsi@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