lkml.org 
[lkml]   [2015]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: IO errors after "block: remove bio get nr vec s()"
On 2015-12-21 08:21, Ming Lei wrote:
> On Mon, Dec 21, 2015 at 10:25 AM, Artem S. Tashkinov wrote:
>> # cat
>> /sys/block/sda/queue/{max_hw_sectors_kb,max_sectors_kb,max_segments,max_segment_size}
>> 32767
>> 32767
>> 168
>> 65536
>
> Looks it is fine, then maybe it is related with
> BIOVEC_PHYS_MERGEABLE(),
> BIOVEC_SEG_BOUNDARY() or sort of thing, because dma_addr_t and
> phys_addr_t turn to 64-bit with PAE, but 'unsigned long' and 'void *'
> is still 32bit.
>
> It was confirmed that there isn't the issue if PAE is disabled.
>
> Dumping both sata/ahci hw sg table and bio's bvec might be helpful.

Um, sorry, what exact variables/files do you want to see? I'm not an
expert in /sys.

>
> On Mon, Dec 21, 2015 at 10:32 AM, Kent Overstreet wrote:
>>
>> oy vey. WTF's been happening in blk-merge.c?
>>
>> Theyy're not the same bug. The bug in your thread was introduced by
>> Jens in
>> 5014c311ba "block: fix bogus compiler warnings in blk-merge.c", where
>> he screwed
>> up the bvprv handling - but that patch comes after the patch Artem
>> bisected to.
>>
>> blk_bio_segment_split() looks correct in b54ffb73ca.
>
> Yes, that is why reverting 578270bfb(block: fix segment split) can make
> the
> issue disappear, because 5014c311ba "block: fix bogus compiler
> warnings in blk-merge.c" basically disables sg-merge and prevents the
> issue from being
> triggered.



\
 
 \ /
  Last update: 2015-12-21 05:01    [W:0.045 / U:0.604 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site