Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1188109imm; Wed, 15 Aug 2018 13:02:04 -0700 (PDT) X-Google-Smtp-Source: AA+uWPwaBNm2k1gVVoneQ6Bm+QdQSkpPCPFUQwb9jtBqnHfOoZaiKX30NLKGfiKiPdr3EUyXNWxm X-Received: by 2002:a17:902:2908:: with SMTP id g8-v6mr17889204plb.70.1534363324089; Wed, 15 Aug 2018 13:02:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534363324; cv=none; d=google.com; s=arc-20160816; b=lzDkKjYxeQbcih4+B81OI7aIdInSvIrtVL1QUNrQ2+92t2HYz1jck1tE3hWYPH0yxi yvf6Ga2Weuw101aeEiMUOF+xHmLZbIm+JLZtIHhybRYwWCLEqWg+9ix+xDE8EhJdlMlb /ruRnF/vwgNtQZWgTU7IZ8ocqHSpOronUIdCcss7nv3TQgo/xGbd+my47S1ZoFSoxAKY iN3IEAUzlIe86RshQ3EFieJqOEnMBzJC83iRzB3q3idbx+pZb6J19HBEX1IXJSclMhz7 QXkUK9XGT8L2JYnqB8TNDq5bFqP6EP7RbYMoPTlPQ4WkSc3vo14FpXYRZjVmCb3m3dHK sqbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :mime-version:dkim-signature:arc-authentication-results; bh=SkjWjVnLNZVZiv8Pu7OMsqt9oozmDAl2VHB9l8rhyo0=; b=RYpU/cs3IEgSzi+yKJnnidn38MaPZLD/NOppK8wGQxruVkY9rpA12+XXMZP9CpOfi2 JRrjsaiihuYdHbwtFS/UR7oP1KXdYlo+wNcymKAXUrJQUhbBpDNz932DITzH4zUHvbEE q9i7bgqo3fVxuIplWOwK+HxKv38K7fuXc0QAKYaectwZaEQYmYlWG7rrN1bl83IalJkR 6j4DZ17bBRarCciP2vFRJucDkT4dg2xe5PApPbzfDVJXU1qfZ0C2hbtsLFPmhvF1nxE5 0F/UhJMDZcp/wz8oOw+Kogxmq+qAoKgTN5TTMnJIFgx9wZ9UaaZOGZFmQlSY/MK3XUoE 456Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=McIMlyn7; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m3-v6si19722593plb.68.2018.08.15.13.01.48; Wed, 15 Aug 2018 13:02:04 -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=@gmail.com header.s=20161025 header.b=McIMlyn7; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727984AbeHOWxg (ORCPT + 99 others); Wed, 15 Aug 2018 18:53:36 -0400 Received: from mail-it0-f42.google.com ([209.85.214.42]:37201 "EHLO mail-it0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726062AbeHOWxg (ORCPT ); Wed, 15 Aug 2018 18:53:36 -0400 Received: by mail-it0-f42.google.com with SMTP id h20-v6so3576390itf.2; Wed, 15 Aug 2018 13:00:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=SkjWjVnLNZVZiv8Pu7OMsqt9oozmDAl2VHB9l8rhyo0=; b=McIMlyn7rCTQG2bXQhnlO0fJKGUEgyO8FllRA0wVUt/amRIvOnkrEt9kAmxs1i9GkN MRuaRyQDcPaG2QKrBwS7OqWcKjoIxDp1IfwLOrZrh2AN5+soQNP8gSgyE2n04lICdT2D ZRZBwwfwyPSvarccS84AQCw/wv1Hxr27+bnKZvX3p2dwvRR5BSRfPHsb1thOaxdxag4b FVNAnajPvR7LmYGvd/F1RvbgBKt6RYE5y5oPvhtFhCDIhlJu8bcioc2oiKCtczfnqeKv Rwtt6XFWXAfjAdBw1/xwAzDdQ48Cekfu8JZr8Iq94ymEbtH6OZG1C/rGUjRYIlGFffZR 5AJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=SkjWjVnLNZVZiv8Pu7OMsqt9oozmDAl2VHB9l8rhyo0=; b=tHQXyrKmX4SkJKIrhXxV/UhQ4G+geo6VosX2xYIS0Rnw5Mk8AT4Ty43kvWGfNNAusq HXa36K63LxomM5T2UlLmF/xcDPtkCz7tjwdl3L6x8wn81kJrA7vHiCTX6pdrAKYErHx9 /Kbhr8bTdIQOP4wrSJj1QR2iVBP4uEkbL/TOm1K0LNzdT6VcpILM+kyJspHpCFFLdNpL 1N/ZWf38w9cu43eNWZ7M4GfRtVDjkvGMi8JYCtXtfTMYSY9NMy4o/0JOypzXF2DFT3gi ZRrCmfoZuTSvUcDMMEibQ1LcUnpo/P9JJ+yRZJKeVttUSy7lqr2QfJkugMoAdJ2iyfja nj3w== X-Gm-Message-State: AOUpUlEg5oWy9D7OlOxPJ/XDc+gFEOrDl1wrH9KpOt3LSBsp3SG0TJlP nXsXqANjBfwDjBQfGfSey38/K6UYf8OjXsuWUGXKQJ7K X-Received: by 2002:a24:6c8a:: with SMTP id w132-v6mr19551160itb.141.1534363200149; Wed, 15 Aug 2018 13:00:00 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a4f:3a18:0:0:0:0:0 with HTTP; Wed, 15 Aug 2018 12:59:59 -0700 (PDT) From: Debabrata Banerjee Date: Wed, 15 Aug 2018 15:59:59 -0400 Message-ID: Subject: deadlock in wbt_wait() To: Jens Axboe Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I believe I've found a problem with wbt code, appears like when switching elevators any blk requests that got throttled never wake up after the change. You can easily reproduce this by running some dd writers, and then switching between noop and cfq repeatedly. You should get a hung dd task with a stack similar to what's below. Attempting a patch to wake up waiters during a change, but nothing working yet. Confused by why we're calling wbt_disable_default(q) in cfq/bfq elevators only, as opposed to something generically from elevator_switch() (looking at 4.14.59). [] io_schedule+0x12/0x40 [] wbt_wait+0x1a7/0x360 [] blk_queue_bio+0xf9/0x3e0 [] generic_make_request+0x100/0x280 [] submit_bio+0x6c/0x140 [] ext4_io_submit+0x48/0x60 [ext4] [] ext4_writepages+0x68f/0xe40 [ext4] [] do_writepages+0x1a/0x60 [] __filemap_fdatawrite_range+0xa7/0xe0 [] ext4_release_file+0x72/0xc0 [ext4] [] __fput+0xa5/0x220 [] task_work_run+0x80/0xa0 [] exit_to_usermode_loop+0xb0/0xc0 [] do_syscall_64+0x104/0x120 [] entry_SYSCALL_64_after_hwframe+0x3d/0xa2 [] 0xffffffffffffffff Actually if I run this test enough times sometimes I get a panic, I assume that's due to some disk completion arriving in the wrong place, maybe not related to wbt. [ 804.546000] RIP: 0010:run_timer_softirq+0xf2/0x1d0 [ 804.551163] RSP: 0018:ffff88105f443f00 EFLAGS: 00010002 [ 804.556753] RAX: 00000001003e0002 RBX: ffff88085782de90 RCX: ffff88085782de90 [ 804.564269] RDX: ffff88105f443f00 RSI: ffff88105f4596a8 RDI: ffff88105f443f08 [ 804.571781] RBP: 0000000000000000 R08: ffff88105f459958 R09: ffff88105f443f08 [ 804.579297] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88105f459680 [ 804.586819] R13: ffff88105f443f00 R14: 0000000000000000 R15: ffff88105f4596f0 [ 804.594314] FS: 0000000000000000(0000) GS:ffff88105f440000(0000) knlGS:0000000000000000 [ 804.603102] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 804.609196] CR2: 00000001003e000a CR3: 000000000300a001 CR4: 00000000001606e0 [ 804.616684] Call Trace: [ 804.619520] [ 804.621913] ? timerqueue_add+0x54/0x80 [ 804.626105] ? enqueue_hrtimer+0x38/0x90 [ 804.630379] __do_softirq+0xf1/0x296 [ 804.634323] irq_exit+0x76/0x80 [ 804.637830] smp_apic_timer_interrupt+0x70/0x130 [ 804.642827] apic_timer_interrupt+0x7d/0x90 [ 804.647379]