From patchwork Fri Oct 28 21:43:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Axboe X-Patchwork-Id: 12571 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp1058584wru; Fri, 28 Oct 2022 14:47:11 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4jpoY8J/yESU8FD4DKbhln0sPod5FP0P+F+hIogFPyj4paRtY3tRgVQhnGjPMBcdL6cjMu X-Received: by 2002:a17:907:c03:b0:781:fd5a:c093 with SMTP id ga3-20020a1709070c0300b00781fd5ac093mr1272527ejc.89.1666993631137; Fri, 28 Oct 2022 14:47:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666993631; cv=none; d=google.com; s=arc-20160816; b=LN3lH2d9C7rVsu2V3wTqfnZh0UlwTuitRu4iH/5MTmC4gU/b+elxDtLGCL/Sma9l9d BbonJcIXC5dcLSNbxeNSOya6fXVhptycCI7YgK3t/bMEChhrAffCL322c9fIObnw6DMZ UaK4d6vZIlYikwiVOYVYaGnbIjPcH3rPEJNKaVyOuoULKDQB8K3KsBTC6qqofIgZi+FN 2lUsuJ/HNCPpbv45cqWvqspcNEG5/xJ/3k5kDjKTimyV05yI/hnCf8FD2B4CYM2bY2ME 5UAp2iinCoqGXJdTKraPfDqrjj+42SQCtzmzrQLQamVb101641Jpvlerae57I8qHnBvF Ri1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=MWMQ1OOnzvPZ3+daCqGm09tO9BG/1DEjXdpVAErFn0Q=; b=UUcI4f25EUNZjhYj15+/171Z2qBnWXjXmydUccf+EJfFteYnRtQvhrg7Oh2QYA6eNQ tv5Gzm8SllkrBl/XXXKvMNF6+VFOek9zGNBUZEyHmhn8ZCMZHxojVb+uiIy058FRKDiV +kUxwKHpXGcsFjFfc0UUsjabwZhB329U2/OJQb/TjO5UmHSXjFLOzz5mhkhxyj/QMhT6 bvI3mV1dp9jIXeq+QyqluggkSuGCvjtz/LryiH+zpH+luYY3sD9xuWpRfIBF2I7aHdj+ b/r3y+d5qkEKYpOHG4czbnEow8WFeQu8P2OmLQrk8TF/dVLDuiShxdo7lmktFnEChdc/ ksXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20210112.gappssmtp.com header.s=20210112 header.b=TXcQvK4Y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id my22-20020a1709065a5600b0077c5ec87ec2si4628076ejc.297.2022.10.28.14.46.46; Fri, 28 Oct 2022 14:47:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel-dk.20210112.gappssmtp.com header.s=20210112 header.b=TXcQvK4Y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230092AbiJ1Vns (ORCPT + 99 others); Fri, 28 Oct 2022 17:43:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39856 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230003AbiJ1Vne (ORCPT ); Fri, 28 Oct 2022 17:43:34 -0400 Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D18B24BA98 for ; Fri, 28 Oct 2022 14:43:33 -0700 (PDT) Received: by mail-pj1-x102b.google.com with SMTP id c15-20020a17090a1d0f00b0021365864446so5645930pjd.4 for ; Fri, 28 Oct 2022 14:43:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MWMQ1OOnzvPZ3+daCqGm09tO9BG/1DEjXdpVAErFn0Q=; b=TXcQvK4YM0rjh/gPGX+lSDLs/Ke3EOgKgIbxYBPbl5Bwlrr02MTRdmLdtc8qwoAkJM ZnTfMgGMHMSCWpxIVjkrwLMxMq7Aa5+X1Pw5Y0mYN4QS4pzHAUEb9rTS6GVTIGd9dnBw IEsmLKUjSwfELvRFwzBYFYfvUtbWTA7owJNYHUiYBArJRyJkWoP5yZp0qWjYQnpqE72K iIstp90EbFOvVeQZqEjtyiCUPVnAoOcZI/gUcdUuldBpo/+sb4MubpdLhHuez1mWbXOy e8nwkXwTzG56g5jJQZTktuB6nSknxKEWVF1c4LUCvz1ZBmeyPV3XQR7dc5pBLSjfIamR QWgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MWMQ1OOnzvPZ3+daCqGm09tO9BG/1DEjXdpVAErFn0Q=; b=yTyNBSzoYCuV1fr84VRp1+gaItLhMEBVIrBkLvCidYI3h96mQlZixRMm6guUz3QGNu Msn+2XGcLCSS/lakSnMN5S0BDHGsozBmUsYinpOArjXErI8UG5inWTiO5r3Rn/xo17jB V/WTw56OJ4+7NxMrMvSswinfWjHl54eFL0kO+2b4a8sKV0Bx07w8dMpm5mV6dKImX2Zo eWOSE6olUXTSY+2Fi9+mSjTyyXClVhqGl9qJIkNeCC9bBM03MvPUxzsNcW2muLXAdkPx r95EU8GECtUzGKjIx5uOrQYa+XKlsqwnw8z1J7CVUNffBcfkzwzkPwtXM95bs4iujiIa 0GHA== X-Gm-Message-State: ACrzQf1jOQxhOVuD3nRoq4nSe3ZzBTIdGVKqatQ78mKgZr84SOyvBc5K ChIdEgHtVIfRRNG/CRQCxxPOfI95l1FYstp7 X-Received: by 2002:a17:902:e54b:b0:186:5fba:13a5 with SMTP id n11-20020a170902e54b00b001865fba13a5mr1073947plf.173.1666993412746; Fri, 28 Oct 2022 14:43:32 -0700 (PDT) Received: from localhost.localdomain ([198.8.77.157]) by smtp.gmail.com with ESMTPSA id u6-20020a17090a1d4600b002130c269b6fsm2993855pju.1.2022.10.28.14.43.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Oct 2022 14:43:32 -0700 (PDT) From: Jens Axboe To: linux-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: Jens Axboe Subject: [PATCH 3/5] eventpoll: move expires to epoll_wq Date: Fri, 28 Oct 2022 15:43:23 -0600 Message-Id: <20221028214325.13496-4-axboe@kernel.dk> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221028214325.13496-1-axboe@kernel.dk> References: <20221028214325.13496-1-axboe@kernel.dk> MIME-Version: 1.0 X-Spam-Status: No, score=1.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747969513565786040?= X-GMAIL-MSGID: =?utf-8?q?1747969513565786040?= This makes the expiration available to the wakeup handler. No functional changes expected in this patch, purely in preparation for being able to use the timeout on the wakeup side. Signed-off-by: Jens Axboe --- fs/eventpoll.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/eventpoll.c b/fs/eventpoll.c index f53bb4ec9e91..8b3c94ab7762 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c @@ -1765,6 +1765,7 @@ static int ep_autoremove_wake_function(struct wait_queue_entry *wq_entry, struct epoll_wq { wait_queue_entry_t wait; struct hrtimer timer; + ktime_t timeout_ts; bool timed_out; }; @@ -1825,7 +1826,7 @@ static int ep_poll(struct eventpoll *ep, struct epoll_event __user *events, { int res, eavail; u64 slack = 0; - ktime_t expires, *to = NULL; + ktime_t *to = NULL; struct epoll_wq ewq; lockdep_assert_irqs_enabled(); @@ -1834,7 +1835,7 @@ static int ep_poll(struct eventpoll *ep, struct epoll_event __user *events, if (timeout && (timeout->tv_sec | timeout->tv_nsec)) { slack = select_estimate_accuracy(timeout); - to = &expires; + to = &ewq.timeout_ts; *to = timespec64_to_ktime(*timeout); } else if (timeout) { /*