Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp5284813imm; Tue, 18 Sep 2018 07:13:48 -0700 (PDT) X-Google-Smtp-Source: ANB0Vdav7w28+VJd0EehTZuwZUbDOunLmaj8lNLyuPkEqaD/KhXpVZJ3uVBT432Y6gc79aVIjDFF X-Received: by 2002:a17:902:b190:: with SMTP id s16-v6mr30347489plr.26.1537280028123; Tue, 18 Sep 2018 07:13:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537280028; cv=none; d=google.com; s=arc-20160816; b=mA6v8kou2THueug604y832cSgZTjaDGE02v/VSdjWQxQZ6NJt63JG3BOKLrSK5nffq YAU6SlUQYIBfI+3QQDERYduYW24LUIYp36GyUgWMVumi0dp96kLNyDiRxdDt5U/PNTAR 3umWWxvGyMAtlKSr8LdJuZ8iC8Qp5Y8YWUNZNV/N9DYu5O+cXy18uNO3dRne45cNPqYt 6VtGCxTVMl0kT6Wp8RvvqqZ+P+iBC//9mVuc/evs5vZ8MB5yKnUtpuH1BvOiJXoSe3fo V3QtLrUAg6iLGyVWukXc2Q7cTF1yCP7sF+Y36SnGlkCri7PrsEFsz9RHVQmcUpxfJgOt 0euA== 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 :references:in-reply-to:date:cc:to:from:subject:message-id :dkim-signature; bh=bZCyrFXpOWSaRIcXLoBiVVGz+PK5DesZTR7fOYTyRYg=; b=tBR39zvuJO6Vn4u1voYVeucp9T6b7WXDH8JIqTpPeIboSlEtYRZzozUiCMSpPDIOY2 eDS5VfWYIfAQpX6QV1n6rHCLqF0aGEFpYiWJp4pTpfZfR+XfJxi3KAOgNMBEteTB5MH+ dI3ZWypYwrtJD7Uye1vxLZmSEK1O88kYLatToIGz11JwA+Hv8GKQZzgXwY0Axa5c+Hae Jg8yZp2eGUSzrkhYDAYm7EYbrw4n7hbTvpasCPUiBPpU1kxOMiGzWSCFp+fTB/BueR1d uzRGbr7ATh6Oi4BOAsdh6Bz5I3PBDSeBgV8V5tzo8sr9wMcVDYooMhu3i5F5KHDcG6sG /tGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@arista.com header.s=googlenew header.b=WPxjjq7f; 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=QUARANTINE sp=REJECT dis=NONE) header.from=arista.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v129-v6si20804138pfv.278.2018.09.18.07.13.08; Tue, 18 Sep 2018 07:13:48 -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=@arista.com header.s=googlenew header.b=WPxjjq7f; 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=QUARANTINE sp=REJECT dis=NONE) header.from=arista.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729197AbeIRTpk (ORCPT + 99 others); Tue, 18 Sep 2018 15:45:40 -0400 Received: from mail-ed1-f66.google.com ([209.85.208.66]:34569 "EHLO mail-ed1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726037AbeIRTpj (ORCPT ); Tue, 18 Sep 2018 15:45:39 -0400 Received: by mail-ed1-f66.google.com with SMTP id u1-v6so2066977eds.1 for ; Tue, 18 Sep 2018 07:12:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arista.com; s=googlenew; h=message-id:subject:from:to:cc:date:in-reply-to:references :mime-version:content-transfer-encoding; bh=bZCyrFXpOWSaRIcXLoBiVVGz+PK5DesZTR7fOYTyRYg=; b=WPxjjq7fJuRhdLZ2p4mF1avsYLh/ANN1LuKyFP/G5otZzYh167EHgDUGEbZl5VzB01 //Rdp+DVmqDQwIOoSbW4Hb+mzBJ+Pjkf5uiNFPkIX6PxSFHcRST7TbZfuWXr4bus9x47 QMdzGq6K2PDDfLWKrzSlJjvjPlvsm4hAdlmy7DNp/9gO9DlcpOv/Mk/mAFPAZgMePq0s 6TlxTRZnf4jHZBt1U89ItpvnpJNlcZahkToI7v9a471YF/kWd5y+bDUuZH/k9KN9+zVD F0ze95SMTlSfP/7grgVySPdLlUZhT32O9gddZ5K+QJqlfbuSSrz0fZ5e5XkRzUeboZcI XZiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:mime-version:content-transfer-encoding; bh=bZCyrFXpOWSaRIcXLoBiVVGz+PK5DesZTR7fOYTyRYg=; b=YXay+MC0oV9egKM9tE0n7ik5p/NFVl9HE3ztqFVM6IMdH6IwEIYjIuZVNA+lfwNYPz IK+oYNUILrbzE87fGIOna47ApQahdZYJ3ALIXzEN+bNYQvxGq/6sVdkP2eijbhJfNQ6j tVMA+Y0AhljbwGCXGnXRs38JxmqFh9WvZEepldV5ep3dWkvgLxF0/H1bKDUQuxAGHTMO GSuHzwOGFTYwkbGiIc9s9v1xbhQFe4jFOwmQxCbhxVhTHQD3Mgo5az5tDR9YqHxTBTMF hFelOziFhZXSexxemukphT2ko3U85oI9fhkOKGrOav7jYxYP+w8F/5aOSUuYUMYVhRov wZvA== X-Gm-Message-State: APzg51Dg26rQ7pwpl3fFEcyW/3ysUGRiVL2mnoqZxrCIsp+c8flH5hH2 5dTyJCoPdhnsRWIUD6cGT2IQOQ== X-Received: by 2002:a50:898b:: with SMTP id g11-v6mr29335962edg.82.1537279971312; Tue, 18 Sep 2018 07:12:51 -0700 (PDT) Received: from dhcp.ire.aristanetworks.com ([217.173.96.166]) by smtp.gmail.com with ESMTPSA id s7-v6sm167453eda.19.2018.09.18.07.12.50 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 18 Sep 2018 07:12:50 -0700 (PDT) Message-ID: <1537279969.21380.3.camel@arista.com> Subject: Re: [PATCHv5 2/7] tty/ldsem: Wake up readers after timed out down_write() From: Dmitry Safonov To: Greg Kroah-Hartman , Peter Zijlstra Cc: linux-kernel@vger.kernel.org, Dmitry Safonov <0x7f454c46@gmail.com>, Daniel Axtens , Dmitry Vyukov , Mark Rutland , Michael Neuling , Mikulas Patocka , Nathan March , Pasi =?ISO-8859-1?Q?K=E4rkk=E4inen?= , Peter Hurley , "Rong, Chen" , Sergey Senozhatsky , Tan Xiaojun , Tetsuo Handa , Jiri Slaby Date: Tue, 18 Sep 2018 15:12:49 +0100 In-Reply-To: <20180918134347.GD23431@kroah.com> References: <20180917235258.5719-1-dima@arista.com> <20180917235258.5719-3-dima@arista.com> <20180918134347.GD23431@kroah.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.24.6 (3.24.6-1.fc26) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Greg, On Tue, 2018-09-18 at 15:43 +0200, Greg Kroah-Hartman wrote: > On Tue, Sep 18, 2018 at 12:52:53AM +0100, Dmitry Safonov wrote: > > ldsem_down_read() will sleep if there is pending writer in the > > queue. > > If the writer times out, readers in the queue should be woken up, > > otherwise they may miss a chance to acquire the semaphore until the > > last > > active reader will do ldsem_up_read(). > > > > There was a couple of reports where there was one active reader and > > other readers soft locked up: > > Showing all locks held in the system: > > 2 locks held by khungtaskd/17: > > #0: (rcu_read_lock){......}, at: watchdog+0x124/0x6d1 > > #1: (tasklist_lock){.+.+..}, at: > > debug_show_all_locks+0x72/0x2d3 > > 2 locks held by askfirst/123: > > #0: (&tty->ldisc_sem){.+.+.+}, at: ldsem_down_read+0x46/0x58 > > #1: (&ldata->atomic_read_lock){+.+...}, at: > > n_tty_read+0x115/0xbe4 > > > > Prevent readers wait for active readers to release ldisc semaphore. > > > > Link: lkml.kernel.org/r/<20171121132855.ajdv4k6swzhvktl6@wfg-t540p. > > sh.intel.com> > > Link: lkml.kernel.org/r/<20180907045041.GF1110@shao2-debian> > > Cc: Greg Kroah-Hartman > > Cc: Jiri Slaby > > Cc: Peter Zijlstra > > Reported-by: kernel test robot > > Signed-off-by: Dmitry Safonov > > --- > > Why isn't this ok for the stable trees? I guess it is ok for stables, but I would prefer to have an ack from Peter before that. Peter, could you look if my analysis and fix are proper? I'll fill more confident about it going to stables if it had your ack. -- Thanks, Dmitry