Re: linux-bcache scatter gather list in bio exceed driver capabilities

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks. Think I fixed the bug - I'd have to check, but I think what
happened is queue_max_sectors() also took into account
queue_max_sectors() in older kernels, but doesn't in newer kernels. Or
maybe just my code was always broken.

Anyways, the bcache-3.3-dev branch should work.

On Thu, May 10, 2012 at 11:38 AM, moussa ba <musaba@xxxxxxxxx> wrote:
> Kent,
>
> Apologies, we do have the queue entries available, I ran into some issues
> with the driver while trying to report them:
>
> add_random: 0
> discard_granularity: 0
> discard_max_bytes: 0
> discard_zeroes_data: 0
> hw_sector_size: 512
> iostats: 0
> logical_block_size: 512
> max_hw_sectors_kb: 32767
> max_integrity_segments: 0
> max_sectors_kb: 32767
> max_segments: 128
> max_segment_size: 4194304
> minimum_io_size: 4096
> nomerges: 2
> nr_requests: 255
> optimal_io_size: 0
> physical_block_size: 4096
> read_ahead_kb: 128
> rotational: 0
> rq_affinity: 0
> scheduler: none
>
>
>
> On Thu, May 10, 2012 at 12:11 AM, Kent Overstreet <koverstreet@xxxxxxxxxx>
> wrote:
>>
>> You mean it implements its own make_request function? It'll still have
>> queue limits - bcache works similarly. They might not be exported in
>> sysfs though...
>>
>> I'll have a look at the driver.
>>
>> On Thu, May 10, 2012 at 2:00 AM, moussa ba <musaba@xxxxxxxxx> wrote:
>> > Well, that might be the problem, there is no such entry.  The driver is
>> > basically a fake ahci driver and handles the bios directly.  It is
>> > extremely
>> > fast and the driver was written for very low latency IO hence the weird
>> > driver stack.
>> >
>> >
>> > http://lxr.linux.no/linux+v3.3.5/drivers/block/mtip32xx/mtip32xx.c#L3044.
>> >  The mtip_make_request call fails whenever the number of entries in the
>> > SGL
>> >> 128...
>> >
>> > Moussa
>> >
>> > On May 9, 2012 6:02 PM, "Kent Overstreet" <koverstreet@xxxxxxxxxx>
>> > wrote:
>> >>
>> >> That sounds like a bug in bcache - bcache should be respecting the
>> >> queue limits the underlying device exports.
>> >>
>> >> Can you tell me what the various files in /sys/block/<device>/queue/
>> >> look like for your device?
>> >>
>> >> On Wed, May 9, 2012 at 8:23 PM, moussa ba <musaba@xxxxxxxxx> wrote:
>> >> > Tried to send this to mailing list but was rejected somehow.
>> >> >
>> >> > ---------- Forwarded message ----------
>> >> > From: moussa ba <musaba@xxxxxxxxx>
>> >> > Date: Wed, May 9, 2012 at 5:17 PM
>> >> > Subject: Scatter Gather List in bio exceed driver capabilities
>> >> > To: linux-bcache@xxxxxxxxxxxxxxx
>> >> >
>> >> >
>> >> >
>> >> > We are using a micron PCI-E SSD as a caching device.  I am running
>> >> > into
>> >> > issues where the driver would fail when we try to register the cache
>> >> > device.
>> >> >  The failure is because bcache sends down a bio with 256 entries
>> >> > while
>> >> > the
>> >> > device driver can only handle 128 entries.  We could make changes
>> >> > inside
>> >> > our
>> >> > driver to chunk the requests (mind you I did not write the driver,
>> >> > but
>> >> > driver guys told me so...) and fix it that way.  I am assuming that
>> >> > since
>> >> > bcache is creating the bio to get at its metadata, it does not chunk
>> >> > the
>> >> > bios to fit the underlying hardware nor does it query it in some way
>> >> > to
>> >> > set
>> >> > the bi_vcnt.
>> >> >
>> >> > Any suggestions on how to properly address this?
>> >> >
>> >> > Moussa
>> >> >
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-bcache" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM Kernel]     [Linux Filesystem Development]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux