Message ID | 20230606102828.218014-7-gerald.yang@canonical.com |
---|---|
State | New |
Headers | show
Return-Path: <kernel-team-bounces@lists.ubuntu.com> X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=<UNKNOWN>) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical.com header.i=@canonical.com header.a=rsa-sha256 header.s=20210705 header.b=n4RsLrAN; dkim-atps=neutral Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Qb6CJ1ssYz20Wd for <incoming@patchwork.ozlabs.org>; Tue, 6 Jun 2023 20:29:00 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from <kernel-team-bounces@lists.ubuntu.com>) id 1q6Tvp-00062q-Dp; Tue, 06 Jun 2023 10:28:53 +0000 Received: from smtp-relay-internal-0.internal ([10.131.114.225] helo=smtp-relay-internal-0.canonical.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from <gerald.yang@canonical.com>) id 1q6Tvj-0005ue-M9 for kernel-team@lists.ubuntu.com; Tue, 06 Jun 2023 10:28:47 +0000 Received: from mail-oi1-f198.google.com (mail-oi1-f198.google.com [209.85.167.198]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 69EB23F117 for <kernel-team@lists.ubuntu.com>; Tue, 6 Jun 2023 10:28:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686047327; bh=RTzBHpf7pNxeVKUNSCI3X7DgPVjuRy939w+zZ4Zr6Fg=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=n4RsLrANk+s51Hp/VN+bMfCRp2cuX2kgCAl+43vrlOCipNR+A0duCxF5MCuUMl4yd ciZeR51l77/NZf4SMPf+opq6YA9YIP1YOmDWGLD9LoHTBEeZtt7AtudBZk1RIi+Qdr IUOHGrqF3tdV3hs7EsyaBHbc+crzwoBe6Qfs40+iY+q1O50+jZxsSWw5WxjWg9ArVn p3O1aykRwvuCbv41MKQ6/TQbIxDXI9B88mqtUL4jqM78fAgsLc063X2q7RjlRRLGcs iBjBduWy5QphdkP0NxffDcnb5fekw2hwnOtR0Nj3kocmdDL61HjbTj7owIBNB+opqh 1ur/tb29hFhTQ== Received: by mail-oi1-f198.google.com with SMTP id 5614622812f47-395fd55e523so3060709b6e.2 for <kernel-team@lists.ubuntu.com>; Tue, 06 Jun 2023 03:28:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686047326; x=1688639326; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RTzBHpf7pNxeVKUNSCI3X7DgPVjuRy939w+zZ4Zr6Fg=; b=AqNAcW1OXcCcHuDb1HJOCefPnpgM0tetVX4RvBTP/E/IkAndfPlJfwJJbf/V1KLJUS 4vx5y8JoNqSRH/2fBYsFiIb5LAVPWsyxZVYg13z/eHMk4FCNiIGX1hX85ukVxHlEF2mS hiTmYO8uLmCf19wNMznQfFh5vq8hRoxYNH5aldnLEb5LTyWmQCr699s5lIVGVHWIwO48 Ivm4NiarTUuSdFj1GRYsmdebbesG6d5EqHdzdIdZYsmEf4OaKwW007hkWRDDDXSCL9MW SchrsE9jKX5zNA0eDPe8c6d5B3uX1AiYKhw86cRv2aN0mdOnk8FznMyTEzkxaws8VgAE fznQ== X-Gm-Message-State: AC+VfDyNuQQoXkxFw4o2f68/JOW+BlHgE7FywEW300BckyojGjxWlf99 o63+nezDnRAZyg0NsOfSjp7IBLUBZK6+vGStdEvx8fq0Z/i8tMjziYYRB5X+BudK3U+dZO6ghQG M2HhqNkQ41gThYCXCGzidNMWAHQk1z8wknqEUKYXZvDO1fROwQw== X-Received: by 2002:a05:6359:20:b0:129:c8e2:e7eb with SMTP id en32-20020a056359002000b00129c8e2e7ebmr1431723rwb.27.1686047325965; Tue, 06 Jun 2023 03:28:45 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ67h38yUbo9EFLH10OasTdEk0P6VeUez7VpqgAgEfJYNPinuDAidFqO5tQkTRj3YGkXfS8svw== X-Received: by 2002:a05:6359:20:b0:129:c8e2:e7eb with SMTP id en32-20020a056359002000b00129c8e2e7ebmr1431720rwb.27.1686047325580; Tue, 06 Jun 2023 03:28:45 -0700 (PDT) Received: from localhost.localdomain (220-135-31-21.hinet-ip.hinet.net. [220.135.31.21]) by smtp.gmail.com with ESMTPSA id 8-20020a17090a0c0800b00256a6ec8507sm9777629pjs.19.2023.06.06.03.28.44 for <kernel-team@lists.ubuntu.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Jun 2023 03:28:45 -0700 (PDT) From: Gerald Yang <gerald.yang@canonical.com> To: kernel-team@lists.ubuntu.com Subject: [SRU][K][PATCH 6/6] sbitmap: fix lockup while swapping Date: Tue, 6 Jun 2023 18:28:28 +0800 Message-Id: <20230606102828.218014-7-gerald.yang@canonical.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230606102828.218014-1-gerald.yang@canonical.com> References: <20230606102828.218014-1-gerald.yang@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions <kernel-team.lists.ubuntu.com> List-Unsubscribe: <https://lists.ubuntu.com/mailman/options/kernel-team>, <mailto:kernel-team-request@lists.ubuntu.com?subject=unsubscribe> List-Archive: <https://lists.ubuntu.com/archives/kernel-team> List-Post: <mailto:kernel-team@lists.ubuntu.com> List-Help: <mailto:kernel-team-request@lists.ubuntu.com?subject=help> List-Subscribe: <https://lists.ubuntu.com/mailman/listinfo/kernel-team>, <mailto:kernel-team-request@lists.ubuntu.com?subject=subscribe> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" <kernel-team-bounces@lists.ubuntu.com> |
Series |
sbitmap: fix IO hung due to waiters not waken up
|
expand
|
diff --git a/lib/sbitmap.c b/lib/sbitmap.c index 624fa7f118d1..a8108a962dfd 100644 --- a/lib/sbitmap.c +++ b/lib/sbitmap.c @@ -587,7 +587,7 @@ static struct sbq_wait_state *sbq_wake_ptr(struct sbitmap_queue *sbq) for (i = 0; i < SBQ_WAIT_QUEUES; i++) { struct sbq_wait_state *ws = &sbq->ws[wake_index]; - if (waitqueue_active(&ws->wait)) { + if (waitqueue_active(&ws->wait) && atomic_read(&ws->wait_cnt)) { if (wake_index != atomic_read(&sbq->wake_index)) atomic_set(&sbq->wake_index, wake_index); return ws;