Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752696AbbLVFwr (ORCPT ); Tue, 22 Dec 2015 00:52:47 -0500 Received: from smtprelay0034.b.hostedemail.com ([64.98.42.34]:58665 "EHLO smtprelay.b.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751730AbbLVFwl (ORCPT ); Tue, 22 Dec 2015 00:52:41 -0500 X-Session-Marker: 742E617274656D406C79636F732E636F6D X-Spam-Summary: 30,2,0,,d41d8cd98f00b204,t.artem@lycos.com,:::::::::::::::::::::::,RULES_HIT:41:46:150:153:355:379:582:599:988:989:1152:1260:1277:1311:1313:1314:1345:1359:1437:1515:1516:1518:1534:1541:1593:1594:1711:1730:1747:1777:1792:2393:2553:2559:2562:3138:3139:3140:3141:3142:3353:3865:3866:3867:3868:3870:3872:3873:3874:4321:5007:6119:6261:6742:9040:10004:10400:10848:11026:11232:11658:11914:12114:12296:12438:12517:12519:12555:12740:13069:13255:13311:13357:14096:14097:14659:14685:21060:21080:30054:30060:30064:30090:30091,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:1,LUA_SUMMARY:none X-HE-Tag: toes02_51257131d1f3c X-Filterd-Recvd-Size: 3358 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Tue, 22 Dec 2015 10:52:37 +0500 From: "Artem S. Tashkinov" To: Kent Overstreet Cc: Junichi Nomura , Tejun Heo , "Artem S. Tashkinov" , Christoph Hellwig , Ming Lin , Jens Axboe , Linus Torvalds , Steven Whitehouse , IDE-ML , Linux Kernel Mailing List , Ming Lei Subject: Re: IO errors after "block: remove =?UTF-8?Q?bio=5Fget=5Fnr=5Fvec?= =?UTF-8?Q?s=28=29=22?= In-Reply-To: <20151222053849.GB26544@kmo-pixel> References: <20151221065528.GA3873@htj.duckdns.org> <20151221193550.GM4026@mtj.duckdns.org> <20151221200721.GN4026@mtj.duckdns.org> <20151221210811.GO4026@mtj.duckdns.org> <20151222035944.GG20661@kmo-pixel> <20151222052611.GA10487@xzibit.linux.bs1.fc.nec.co.jp> <20151222053849.GB26544@kmo-pixel> Message-ID: <62de5f2365e58309503720ec3ad2fafd@lycos.com> User-Agent: Roundcube Webmail/1.0.2 X-Originating-IP: [5.166.173.43] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1919 Lines: 62 On 2015-12-22 10:38, Kent Overstreet wrote: > On Tue, Dec 22, 2015 at 05:26:12AM +0000, Junichi Nomura wrote: >> On 12/22/15 12:59, Kent Overstreet wrote: >> > reproduced it with 32 bit pae: >> > >> >> 1. Exclude memory above 4G line with boot param "max_addr=4G". >> > >> > doesn't work - max_addr=1G doesn't work either >> > >> >> 2. Disable highmem with "highmem=0". >> > >> > works! >> > >> >> 3. Try booting 64bit kernel. >> > >> > works >> >> blk_queue_bio() does split then bounce, which makes the segment >> counting based on pages before bouncing and could go wrong. >> >> What do you think of a patch like this? > > Artem, can you give this patch a try? This patch ostensibly fixes the issue - at least I cannot immediately reproduce it. You can count me in as "Tested-by: Artem S. Tashkinov" > >> >> -- >> Jun'ichi Nomura, NEC Corporation >> >> diff --git a/block/blk-core.c b/block/blk-core.c >> index 5131993b..1d1c3c7 100644 >> --- a/block/blk-core.c >> +++ b/block/blk-core.c >> @@ -1689,8 +1689,6 @@ static blk_qc_t blk_queue_bio(struct >> request_queue *q, struct bio *bio) >> struct request *req; >> unsigned int request_count = 0; >> >> - blk_queue_split(q, &bio, q->bio_split); >> - >> /* >> * low level driver can indicate that it wants pages above a >> * certain limit bounced to low memory (ie for highmem, or even >> @@ -1698,6 +1696,8 @@ static blk_qc_t blk_queue_bio(struct >> request_queue *q, struct bio *bio) >> */ >> blk_queue_bounce(q, &bio); >> >> + blk_queue_split(q, &bio, q->bio_split); >> + >> if (bio_integrity_enabled(bio) && bio_integrity_prep(bio)) { >> bio->bi_error = -EIO; >> bio_endio(bio); -- 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/