Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp4256498ybz; Tue, 28 Apr 2020 08:16:45 -0700 (PDT) X-Google-Smtp-Source: APiQypKbdAatco973z7DQ7sUMA0T3zzF7oguZ95tJgbZymYFnBH52hl8F6Uw5trHVA4syxxt6l0M X-Received: by 2002:a50:d0d5:: with SMTP id g21mr23976286edf.92.1588087005790; Tue, 28 Apr 2020 08:16:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588087005; cv=none; d=google.com; s=arc-20160816; b=CKmhIr3q91zY1D8f/Go+ibTbtFcSQZDHvUIjEdimqGH4hCgZvwC1I6e7lJJfFtOT1P 7c52csCgpPh4PlOAyM8F28vA/mjE4CifMQXbrFrlXcD5kFA88xmFZVZ7TQ8zXJZ6rtYM Ri05VibBM1Zo0OxbG1Qt3eCEHda+cD0jL2yJT/MARxB/hYsY0CFtW17aSTy6U30LLCS+ jhmFPZK6mZCiNoBfdTd6F6O07DtujxFeE+poG4ZEN/fRe6ISnqBJUUfWFeLm2mSpxKor 1C+0908nxO6wdCeJy9HCvAl3VCyUsrVi0JGgsqWzHtaa5u70oKCaycmrtSB8aQYIcXID WA+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:mail-followup-to:message-id:subject:cc:to :from:date:dkim-signature; bh=BUERjUN4IDwttfkbYfdMTF6BA4dlrEJqnocFSu4n2pw=; b=kynM1GazxC1W2XsdUROWYPRa6aAT01bE0yLD2pSp/v+nIPvXIaY7gMRq+L3zJ9hIsz OjJjMgASGOBnACOscguLJGaaMXMZ+D3FPTGG6bzreA6RAeffFVzsXsy5HV+qiUnATi1/ pOHtxKwhsRkxH+3FL9h61pfeDe43I9PSeRxOyCExNUao5nkXIoNU9tlWy9H6Hx7UzXSF Yfbu3XVoNT6ZusKHEeVqCIvkLIQoEm7J22fFssRiGEpNsSd5rjxT9NNIbBE2be/jv4RX Wcpr40u5aPUj4O65W11CGBsOzEv8lJYkB4HfPoJstil4TTHnQGx2ESILHExs31H8XvgE +36Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=JzzSWV6V; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s5si1655406edx.330.2020.04.28.08.16.08; Tue, 28 Apr 2020 08:16:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=JzzSWV6V; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728051AbgD1PLu (ORCPT + 99 others); Tue, 28 Apr 2020 11:11:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40656 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1727860AbgD1PLu (ORCPT ); Tue, 28 Apr 2020 11:11:50 -0400 Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 99B99C03C1AB for ; Tue, 28 Apr 2020 08:11:48 -0700 (PDT) Received: by mail-wr1-x442.google.com with SMTP id f13so25023450wrm.13 for ; Tue, 28 Apr 2020 08:11:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-disposition:in-reply-to; bh=BUERjUN4IDwttfkbYfdMTF6BA4dlrEJqnocFSu4n2pw=; b=JzzSWV6VeXNXKWNoqHG6ooCaqTZW64eXYAKVM24LcSgC60DV4OyDEwlp5Gpu3yn7qJ XeHO9wsxTPOt1SUYnlHf4ezYuRGS3fa4JiT0J4xJmAM2YGWpBYxKwm9UZyE/M/RxmamI eCokY40xIDTAPjO+k9R2cTPexnqYLiMC0btwk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to; bh=BUERjUN4IDwttfkbYfdMTF6BA4dlrEJqnocFSu4n2pw=; b=gMh64nuUX9b/nuLRIVgv2v93Ce0Nfohu+WcTDe7j700ufbKPktl67Lge0wFkP9iO3n 6Om0aNiYScZ5H4ieuaVXkhKUinxV8cA2IcqA8IUkUvnYvOvK5qd3Bn+Bn2kwLzZ9wea7 dNKeP1k7KsykvCqXyGrICxLiVLD9jl2/7n/YeCAPOucqUmnoA4TkA1P93WQ2UkBCLWzh NTLwmM+QSw4oDqvCcpDtg1QDN03CfIV57wQ/SCO0ZL7llS7pBwm6HPB9mlEq3wNXV6R8 nn9gZ++n4DmX30Q/eGsg4rVPaEC+jyt/7WC6ar2KB7olMF0aWR8q63qWuBhWnp5KhOs6 Oc9w== X-Gm-Message-State: AGi0PuZTfJRmn+ZDP+LyUYr8+xqA/zSRZBiGbUwVxL4WoGWsnuNdxasy EokoXFlORLylEEDlnovCzRevMQ== X-Received: by 2002:a5d:474b:: with SMTP id o11mr33557684wrs.391.1588086707255; Tue, 28 Apr 2020 08:11:47 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id u7sm3869726wmg.41.2020.04.28.08.11.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2020 08:11:46 -0700 (PDT) Date: Tue, 28 Apr 2020 17:11:44 +0200 From: Daniel Vetter To: Kenny Levinsen Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, daniel@ffwll.ch, airlied@linux.ie, tzimmermann@suse.de, mripard@kernel.org, maarten.lankhorst@linux.intel.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm: make drm_file use keyed wakeups Message-ID: <20200428151144.GT3456981@phenom.ffwll.local> Mail-Followup-To: Kenny Levinsen , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, airlied@linux.ie, tzimmermann@suse.de, mripard@kernel.org, maarten.lankhorst@linux.intel.com, linux-kernel@vger.kernel.org References: <20200424145103.3048-1-kl@kl.wtf> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200424145103.3048-1-kl@kl.wtf> X-Operating-System: Linux phenom 5.3.0-3-amd64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 24, 2020 at 04:51:03PM +0200, Kenny Levinsen wrote: > Some processes, such as systemd, are only polling for EPOLLERR|EPOLLHUP. > As drm_file uses unkeyed wakeups, such a poll receives many spurious > wakeups from uninteresting events. > > Use keyed wakeups to allow the wakeup target to more efficiently discard > these uninteresting events. > > Signed-off-by: Kenny Levinsen intel-gfx CI is happy, I'm living with the illusion that this seems to loook correct (linux kernel poll code is too much magic for me). Thanks for your patch, queued up in drm-misc-next for 5.8. Cheers, Daniel > --- > drivers/gpu/drm/drm_file.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu/drm/drm_file.c > index c4c704e01961..ec25b3d979d9 100644 > --- a/drivers/gpu/drm/drm_file.c > +++ b/drivers/gpu/drm/drm_file.c > @@ -608,7 +608,8 @@ ssize_t drm_read(struct file *filp, char __user *buffer, > file_priv->event_space -= length; > list_add(&e->link, &file_priv->event_list); > spin_unlock_irq(&dev->event_lock); > - wake_up_interruptible(&file_priv->event_wait); > + wake_up_interruptible_poll(&file_priv->event_wait, > + EPOLLIN | EPOLLRDNORM); > break; > } > > @@ -804,7 +805,8 @@ void drm_send_event_locked(struct drm_device *dev, struct drm_pending_event *e) > list_del(&e->pending_link); > list_add_tail(&e->link, > &e->file_priv->event_list); > - wake_up_interruptible(&e->file_priv->event_wait); > + wake_up_interruptible_poll(&e->file_priv->event_wait, > + EPOLLIN | EPOLLRDNORM); > } > EXPORT_SYMBOL(drm_send_event_locked); > > -- > 2.26.1 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch