Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3075993imu; Wed, 7 Nov 2018 04:46:05 -0800 (PST) X-Google-Smtp-Source: AJdET5deIW722tmGGzXKu6U3YNGaSypdObHqMEczhxWxCa9oAgATKKgD07Z/s+rsvB4yhDXAZ9+R X-Received: by 2002:a17:902:a5cc:: with SMTP id t12-v6mr74091plq.298.1541594765351; Wed, 07 Nov 2018 04:46:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541594765; cv=none; d=google.com; s=arc-20160816; b=wfv2X25WnbTaB+D5sPEQ/wwndRGTSu+9olIfW4uEr8Yma7oq6eW96ttvV9VaWGDR7c qgz0+Dx886Q37DBeyDFlEjHn9knYkdATOVH5fPHaeSDXzPKxkPciCBI2mR60c4Y3Cnur IFIbKY/VnWL+qINWHQoq0OpPWUmcTIPkJsRc8dzObNshN1Gt4QW0bx5yKIXGoOMGkbV0 e/rJXbOqbXbfGSotZ0naz102DVULKqwHDySagITRXoApKOTvqG5Je3O3EjVmMtz63Hre Ms8YRqmHdHAJaxfA1UYot3jKg+qD15bXc39P9Hi5InuUI4Jp4ORh6VWBVo9iyGJg9BW9 zABA== 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 :references:in-reply-to:mime-version:dkim-signature; bh=nwes3/5X+l7FBPnP8N7guJ9b8/Oh2apJCRFWHwwsQN8=; b=cic2fxbkC9XgHuIS43Unm/PtyGEe5DMNIXviXZBFfdsSd+LpH8UZo2s3HAAowUrA9v U+XMR0t0gJ6kE79ByTfdl4I9HlMEV3nUkiiI2lF3T93XNv8VIa2UaTaiSCULiCIeW6EK r+V4Ruci6Qxv9Ao9LmCqWv0Q9QkSl7VXOLkMlXx4WBgGkES4hVl2P+YBAyvT+WJPPtC0 uSrDfuQsMaRdiI8e1fmxdoGPPEAf5s5sJvQlXObvCy+5JQNVhlgoCxSuPbcJ+9F3X1EX A+H+s8YFhBiDT+J8TyS2vwcFMQxk+hpEVdPHOwsThkUL91a61KhWVVR6FoV3uofiWIeC BxZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=temperror (no key for signature) header.i=@szeredi.hu header.s=google header.b="lu/abGNY"; 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 f39-v6si553953plb.149.2018.11.07.04.45.49; Wed, 07 Nov 2018 04:46:05 -0800 (PST) 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=temperror (no key for signature) header.i=@szeredi.hu header.s=google header.b="lu/abGNY"; 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 S1726688AbeKGWPm (ORCPT + 99 others); Wed, 7 Nov 2018 17:15:42 -0500 Received: from mail-it1-f196.google.com ([209.85.166.196]:39875 "EHLO mail-it1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726413AbeKGWPl (ORCPT ); Wed, 7 Nov 2018 17:15:41 -0500 Received: by mail-it1-f196.google.com with SMTP id m15so22463418itl.4 for ; Wed, 07 Nov 2018 04:45:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=szeredi.hu; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=nwes3/5X+l7FBPnP8N7guJ9b8/Oh2apJCRFWHwwsQN8=; b=lu/abGNYMDGkHubbzrEbumyAlZZxpPro7GtVVOpMBkNk5aYKwCRi5gfRE4sLoN6zWA XfEQ6SZs2Zc5Hamu4I7qYYzVg9lD0cXd+H+H6VWZLq0kglSiqJLNFhj/U8FRnKvhMkrn 7ZS+6lRrOAGIu8FOQKckT0QP71dSjXcsu5X34= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=nwes3/5X+l7FBPnP8N7guJ9b8/Oh2apJCRFWHwwsQN8=; b=t4WlpS+TEXiBJ8OxokTjcrxyz9/q8YOhxb8UeWu3HEpC9MZ6rE7coyfUC8n+aWs8Um fJTK+AEvxUUO8dlePkheDfJpjcdrCCeGxwqnhWxVE9Ij/ajgeyZzONus2SBLep0qbbi2 75b2B/+DSMXVe6NX9AyVW+7tjqzGOiOk29bWO+u482ndri9DO5uJG9GIqLqZgSJSEZAT AyWNQle2IfRyYY9sayjzz32MOOsMi2fUyCjBDW0qUbSyzKliDm8mpwhvS4oiFJBhZARI nMOIzEyPP0of1MhRrXvtO4fC3TT3zAp3yZftCOyby4hEzoINu4b4ykupGzqPQrywa4fz NrrQ== X-Gm-Message-State: AGRZ1gIy5dh7xJ6K4U6D2on0aWLFMuDRWrS5HlsjgDOYBXRlLWGmwu2S YFTR6VEIldIu67pfEw9qSOwJ1RlYucRU6pTBRR91ag== X-Received: by 2002:a24:fe88:: with SMTP id w130-v6mr41880ith.69.1541594727008; Wed, 07 Nov 2018 04:45:27 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a6b:ac42:0:0:0:0:0 with HTTP; Wed, 7 Nov 2018 04:45:26 -0800 (PST) X-Originating-IP: [212.96.48.140] In-Reply-To: <154149663324.17764.5859568987168525822.stgit@localhost.localdomain> References: <154149586524.17764.5252013294539109287.stgit@localhost.localdomain> <154149663324.17764.5859568987168525822.stgit@localhost.localdomain> From: Miklos Szeredi Date: Wed, 7 Nov 2018 13:45:26 +0100 Message-ID: Subject: Re: [PATCH 1/6] fuse: Kill fasync only if interrupt is queued in queue_interrupt() To: Kirill Tkhai Cc: linux-fsdevel@vger.kernel.org, linux-kernel@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 On Tue, Nov 6, 2018 at 10:30 AM, Kirill Tkhai wrote: > We should sent signal only in case of interrupt is really queued. > Not a real problem, but this makes the code clearer and intuitive. > > Signed-off-by: Kirill Tkhai > --- > fs/fuse/dev.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c > index fb2530ed84b3..7705f75c77a3 100644 > --- a/fs/fuse/dev.c > +++ b/fs/fuse/dev.c > @@ -468,6 +468,8 @@ static void request_end(struct fuse_conn *fc, struct fuse_req *req) > > static void queue_interrupt(struct fuse_iqueue *fiq, struct fuse_req *req) > { > + bool kill = false; > + > spin_lock(&fiq->waitq.lock); > if (test_bit(FR_FINISHED, &req->flags)) { > spin_unlock(&fiq->waitq.lock); > @@ -476,9 +478,11 @@ static void queue_interrupt(struct fuse_iqueue *fiq, struct fuse_req *req) > if (list_empty(&req->intr_entry)) { > list_add_tail(&req->intr_entry, &fiq->interrupts); > wake_up_locked(&fiq->waitq); > + kill = true; > } > spin_unlock(&fiq->waitq.lock); > - kill_fasync(&fiq->fasync, SIGIO, POLL_IN); > + if (kill) > + kill_fasync(&fiq->fasync, SIGIO, POLL_IN); All other cases just do the kill_fasync() inside the fiq->waitq.lock locked region. That seems the simpler and more readable solution to this. Thanks, Miklos