Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp2286591imc; Tue, 12 Mar 2019 10:36:46 -0700 (PDT) X-Google-Smtp-Source: APXvYqx9MJb/zOzB1YT2ehKOBS9/kxVu8F7UuIz/Hq8QxM3uNInhMD5Br9CEW2chViyFLQfK9h1o X-Received: by 2002:a62:5385:: with SMTP id h127mr39066205pfb.10.1552412206593; Tue, 12 Mar 2019 10:36:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552412206; cv=none; d=google.com; s=arc-20160816; b=ozNmuqLJp3mz4phYmm/a6GAXbIafM373RXk1Oulc/IfzSNkowg4qZECCxv1ZejbHb3 opJnYKfQVXwg0NXq0x/+mEkdN+GjWIAO+3yqBuNYqpyxZWNHx+zSFJr8q5M6LE/JVCBL L/28xLvwmkyu94gnOmxVQrzeGd2/GbcfHYG9ssckC/UA+6v36p7tTB8TqZb9NS6eRIN5 s5EJj8AHKeSioMWPOS2plADDPwKHxKhLCZL6JgAGRIgql0AoyHZmZ4pXmuLBfvrWdtrk KXL15eUXYf+IxCAFzag/3Rw6Rm20l3R2oubpSMGGlwc7MJ4igkoPb4WOQFFf5yjFVNE1 MPSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=CUflPXyZlJftU333Jl+2YexnCu5KoezYyOtnwKVk3nc=; b=gipDkRdgwFQlNfJyUmOlu9AlpDSCUc6zjwzKPGyDwqzrqZ53RiiPQCmgY8mD7RAJaD m9ijmZBkYyoE15h/FCqMGxSz15Xx4fnchlTzwsIunKstjKh8LdSZ1T5uBi9PmswHQc8o 9W2WT+bogMSYZQbj8eBGNbqf0uM+gWyOtxieOysZf50BIW61vBtTBjs6yBUcsdvnZsN1 tePRi6G2ekXQzBs7XvDjzDABylxt2vgjoXrKNiRmuRXSjK8ypN8/cY8Tc08Pu16z0qOv pNUsQzR+UvWyaT0OdLSnYvEvIj3DyeKfDq17v+TO9HvToZTFdh3Q9/ItINqxHN0d168A I5iQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=bbjO2TAB; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f3si7732319pgs.557.2019.03.12.10.36.30; Tue, 12 Mar 2019 10:36:46 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=bbjO2TAB; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729413AbfCLRf3 (ORCPT + 99 others); Tue, 12 Mar 2019 13:35:29 -0400 Received: from mail.kernel.org ([198.145.29.99]:59586 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729353AbfCLRQx (ORCPT ); Tue, 12 Mar 2019 13:16:53 -0400 Received: from localhost (unknown [104.133.8.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A10B72171F; Tue, 12 Mar 2019 17:16:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1552411012; bh=Qrulc24inYCPvK8tDy7pr9FgePuCFjtS4+aklLDuu5k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bbjO2TABZ9F7ZZ4i68hbCxfyfQ3hmydBtv3pH837u2xr0TX89zUOEEHh5zFuKKEmW zr0RsGuEDuXbcaAKNQ/b0tBasAf6/2ciO538vent5pZcnNH+RBpWITGLcZAjL1oGoD 5z5abn+Hq2oS1F3Xi3be9Jm0se2fstMg2oY+J+5Y= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Tetsuo Handa , Jan Kara , Dmitry Vyukov , Jens Axboe , Sasha Levin Subject: [PATCH 4.14 117/135] fs: ratelimit __find_get_block_slow() failure message. Date: Tue, 12 Mar 2019 10:09:24 -0700 Message-Id: <20190312170352.004283054@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190312170341.127810985@linuxfoundation.org> References: <20190312170341.127810985@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit 43636c804df0126da669c261fc820fb22f62bfc2 ] When something let __find_get_block_slow() hit all_mapped path, it calls printk() for 100+ times per a second. But there is no need to print same message with such high frequency; it is just asking for stall warning, or at least bloating log files. [ 399.866302][T15342] __find_get_block_slow() failed. block=1, b_blocknr=8 [ 399.873324][T15342] b_state=0x00000029, b_size=512 [ 399.878403][T15342] device loop0 blocksize: 4096 [ 399.883296][T15342] __find_get_block_slow() failed. block=1, b_blocknr=8 [ 399.890400][T15342] b_state=0x00000029, b_size=512 [ 399.895595][T15342] device loop0 blocksize: 4096 [ 399.900556][T15342] __find_get_block_slow() failed. block=1, b_blocknr=8 [ 399.907471][T15342] b_state=0x00000029, b_size=512 [ 399.912506][T15342] device loop0 blocksize: 4096 This patch reduces frequency to up to once per a second, in addition to concatenating three lines into one. [ 399.866302][T15342] __find_get_block_slow() failed. block=1, b_blocknr=8, b_state=0x00000029, b_size=512, device loop0 blocksize: 4096 Signed-off-by: Tetsuo Handa Reviewed-by: Jan Kara Cc: Dmitry Vyukov Signed-off-by: Jens Axboe Signed-off-by: Sasha Levin --- fs/buffer.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/fs/buffer.c b/fs/buffer.c index b96f3b98a6ef..8086cc8ff0bc 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -208,6 +208,7 @@ __find_get_block_slow(struct block_device *bdev, sector_t block) struct buffer_head *head; struct page *page; int all_mapped = 1; + static DEFINE_RATELIMIT_STATE(last_warned, HZ, 1); index = block >> (PAGE_SHIFT - bd_inode->i_blkbits); page = find_get_page_flags(bd_mapping, index, FGP_ACCESSED); @@ -235,15 +236,15 @@ __find_get_block_slow(struct block_device *bdev, sector_t block) * file io on the block device and getblk. It gets dealt with * elsewhere, don't buffer_error if we had some unmapped buffers */ - if (all_mapped) { - printk("__find_get_block_slow() failed. " - "block=%llu, b_blocknr=%llu\n", - (unsigned long long)block, - (unsigned long long)bh->b_blocknr); - printk("b_state=0x%08lx, b_size=%zu\n", - bh->b_state, bh->b_size); - printk("device %pg blocksize: %d\n", bdev, - 1 << bd_inode->i_blkbits); + ratelimit_set_flags(&last_warned, RATELIMIT_MSG_ON_RELEASE); + if (all_mapped && __ratelimit(&last_warned)) { + printk("__find_get_block_slow() failed. block=%llu, " + "b_blocknr=%llu, b_state=0x%08lx, b_size=%zu, " + "device %pg blocksize: %d\n", + (unsigned long long)block, + (unsigned long long)bh->b_blocknr, + bh->b_state, bh->b_size, bdev, + 1 << bd_inode->i_blkbits); } out_unlock: spin_unlock(&bd_mapping->private_lock); -- 2.19.1