Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp625372imm; Fri, 22 Jun 2018 02:27:21 -0700 (PDT) X-Google-Smtp-Source: ADUXVKI66oVmlVdUuXUquL4ANfkjXWpEv0COtH2sReW7ZmTcUBV6KoHN2pghc7FtTZ/xk6thLZwG X-Received: by 2002:a62:c61d:: with SMTP id m29-v6mr927500pfg.26.1529659641309; Fri, 22 Jun 2018 02:27:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529659641; cv=none; d=google.com; s=arc-20160816; b=NGW78LuV+iX1e0rljSWqobhnNFg29xiiGTD094jSzvoRU2bGOY4Pmfch1MGz1o7gvL SawuP24XeiQucavZC8W+mYqdfsGQXSIu8fiSo9XKzOOU6N+t4zeswtS01v0h5J7DjKfD vUMk6i1vInTNICLQbMTWN00NW1Dnwg2OJnd3+P0eRknCtiKN9XD3tGVNfUoXGiAp8Rqm ynxvwkTYUNJfSZyKyvTW/Bc2JO1ytcXeW2DxbmGDBhsxTq0vy3XlhqOJpnABqkuzopRt big7lpZ5mFVwQgwJO72KkCp5yqQx5MjrajZgM1G2VEYuVpjeMzLBBFEpefs7kapldbFO hrcw== 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 :in-reply-to:references:mime-version:dkim-signature :arc-authentication-results; bh=yozavAgaJtd/Hy70ZPpt0J6KyJ6kBhtto8TXrqp+e0A=; b=nW1zcHkT8DgKy3leaOgpxoo11OBiXKYCb44z0mkUf+mrQQ8h523BSsbnmRi4xA8pc+ 0MpyNkD3jOMhKx65+FsfS9eM+zEjP/UmHf2JQruyRg2iWmzCPzWXlK+i0fhWLiJdsq08 2xaegIc0whgC9m0gnmlfS5fUl+ohKS7syyYBwTiQnxgCXZ+TwI38WOM/MRD+8LF5Wc6n hFJrjRSi57NrQISVUPDNUhC9cxlE9QmE/2xaucTQH75RZ9fUGXWCfH1ff5nunKrK7Bfr o38JCW4KnnOEZohEaHGdu5xIdMCsvNrKNC4Dgu5RVM5P20M+9TPBfM6s9W8LBPIoe30w HWaw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=google header.b=Ddih+1Ti; 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 m21-v6si7186694pls.217.2018.06.22.02.27.06; Fri, 22 Jun 2018 02:27:21 -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=@linux-foundation.org header.s=google header.b=Ddih+1Ti; 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 S1754079AbeFVJZ7 (ORCPT + 99 others); Fri, 22 Jun 2018 05:25:59 -0400 Received: from mail-it0-f66.google.com ([209.85.214.66]:50511 "EHLO mail-it0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751258AbeFVJZ5 (ORCPT ); Fri, 22 Jun 2018 05:25:57 -0400 Received: by mail-it0-f66.google.com with SMTP id u4-v6so2018962itg.0 for ; Fri, 22 Jun 2018 02:25:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yozavAgaJtd/Hy70ZPpt0J6KyJ6kBhtto8TXrqp+e0A=; b=Ddih+1Tig2dI3YX0fCMTchQ3QdD/FzI5jSjIe9BtIT1f7fzDKRanI/XK0sRa3Mf4VM im6Qfot6bHzmpV6gXaKU6r1w8O8EAfpK5cmj8UW2LfnBt+pSdd+/JRUvCa/0uPbrdzCm NV0wiDmA0hpKN+4SteQO7gSdB8Qs0QrnLNR9Q= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yozavAgaJtd/Hy70ZPpt0J6KyJ6kBhtto8TXrqp+e0A=; b=jjCHRVnY00eZZgS6AF1t4E6z7/ef6Vu77b2/WGnbnu6rBleBv/9yUxQ0Ue1zNUPUAW m/aY9a3+iikm7jsG8xQeNV1fm6B2fRTb68mdR7aqWUiRTts5PIYob5QzAvc07VYLF+YY p6C/SV1eQW16W00ZL/Up1XWkFNKKIYBqdblnsejKH2tL3C/Hday2Q/YgrcWBVPiGMonn yEV0f/pnF7OyzAFomKZcDH7dQmuFroBOhDBtnMN4kXwW2C454NKG741AffVS3jXbs/tp rR7f8urj2hWNdeFuv15mvENkY85rRCnNIzOEU0Ws6pKan47+i54MwdeEnWmSTiuOb7Bx Doig== X-Gm-Message-State: APt69E3hda4hWnwkYAfkhEbaToeWwzKmlgmhxdPrbiOJh1/SF192nMTM 3JsBbYVXnd+NxraFawyIdQ83fl6uHTVONBvEcnQ= X-Received: by 2002:a02:430c:: with SMTP id s12-v6mr632228jab.72.1529659556821; Fri, 22 Jun 2018 02:25:56 -0700 (PDT) MIME-Version: 1.0 References: <20180622082752.GX11011@yexl-desktop> In-Reply-To: <20180622082752.GX11011@yexl-desktop> From: Linus Torvalds Date: Fri, 22 Jun 2018 18:25:45 +0900 Message-ID: Subject: Re: [lkp-robot] [fs] 3deb642f0d: will-it-scale.per_process_ops -8.8% regression To: kernel test robot , Al Viro Cc: Christoph Hellwig , Greg Kroah-Hartman , "Darrick J. Wong" , Linux Kernel Mailing List , LKP 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 [ Added Al, since this all came in through his trees. The guilty authors were already added by the robot ] On Fri, Jun 22, 2018 at 5:31 PM kernel test robot wrote: > > FYI, we noticed a -8.8% regression of will-it-scale.per_process_ops due to commit: Guys, this seems pretty big. What was the alleged advantage of the new poll methods again? Because it sure isn't obvious - not from the numbers, and not from the commit messages. The code seems to be garbage. It replaces our nice generic "you can do anything you damn well like in your poll function" with two limited fixed-function "just give me the poll head and the mask". I was assuming there was a good reason for it, but looking closer I see absolutely nothing but negatives. The argument that keyed wake-ups somehow make multiple wake-queues irrelevant doesn't hold water when the code is more complex and apparently slower. It's not like anybody ever *had* to use multiple wait-queues, but the old code was both simpler and cleaner and *allowed* you to use multiple queues if you wanted to. So the old code is simpler, cleaner, and more flexible. And according to the test robot, it also performs better. So I'm inclined to just revert the whole mess unless I get some serious explanations for what the supposed advantages are. The disadvantages are obvious: every poll event now causes *two* indirect branches to the low-level filesystem or driver - one to get he poll head, and one to get the mask. Add to that all the new "do we have the new-style or old sane poll interface" tests, and poll is obviously more complicated. Quite frankly, when I look at it, I just go "that's _stupid_". I'm entirely missing the point of the conversion, and it's not explained in the messages either. If we could get the poll head by just having a direct pointer in the 'struct file', maybe that would be one thing. As it is, this all literally just adds overhead for no obvious reason. It replaced one simple direct call with two dependent but separate ones. Linus