Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp445214ybg; Wed, 3 Jun 2020 05:04:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxREKvkWagMVVZaqnactBYUb+HCN20VOKLwEsLwt1HWs8Su+CvAmn61GimmGXTF478/lKGO X-Received: by 2002:a17:906:4c96:: with SMTP id q22mr18450784eju.263.1591185874940; Wed, 03 Jun 2020 05:04:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591185874; cv=none; d=google.com; s=arc-20160816; b=ZuudWglp5f//WWX0QeYMSNR0mFQ4Bkg1h0mlosj3lbl7vGYXvMy9my+Z95zHSTEuHs IlhsGWCwFa+hJ1N9caL6jzXUUuBdBoun4wvVa6ih7K7knKdULUBmLvWhO5i7NvjoC7rg 564vGPPVEDm0pMMIRvfwzdyIf5Ze4WGNfI2XvScQzs9aZVUhjMy1rmg+KtJ/8OfWgcNd C2btPyUlHHZfh9h3Xxw0UtE1HtvdAOabkijBDsj/wBvDYxWox2wnVoRr9rB5zjHrktQQ FHRaeMQ5w4pPVfm7NTwdjiN8OrtFpQw5CXbKKCaIxMj3AugWERy1f3Nq+qSF38IjQPHf je2w== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:organization:from:references:cc:to:subject:ironport-sdr :ironport-sdr; bh=m7NnQ2hdNGXkvA5DCfp+9398LkCXRn05F8wYpC7+7S0=; b=AzHp/HV3fbG1pkZLik7R0FHzrdAE/GIepXzyBrXMT86dWWh8rlP+hGcOvEmDQ9mhRG axF85vRxeg6YfdCkpIJtKy9LT2SXYVBwfRjKTYuwVua6wOlQFN+B0ylkNHrPIR2KBV/P UiTMLShM2/dZWc35vUCYtWufXpU1VGL/VIYuDFWazbvRU3iq6frkakMcsmbyOEnBf1ip iv2X80PRJbHUYwcuDn+77eYvB/KxUfsc0kJfZmSSAEsw+RGuQue4Shty7zSSSwItyABV y+3IYUS6ndrK1VHsunKFFz3A8xzgJ/974tLTvYBfknotsYwms1c1CsgOmeTesMIH56Mz 5kiQ== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id pw8si1037655ejb.83.2020.06.03.05.04.09; Wed, 03 Jun 2020 05:04:34 -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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726088AbgFCMBy (ORCPT + 99 others); Wed, 3 Jun 2020 08:01:54 -0400 Received: from mga18.intel.com ([134.134.136.126]:39838 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725854AbgFCMBx (ORCPT ); Wed, 3 Jun 2020 08:01:53 -0400 IronPort-SDR: 0y0hastG5IOCw0q7gzW/CFji7Y7TFck/mgxJ0zLis0ZG0Ms0wNm6hKhWq0kZrYzAxLINJ9jrJx 0RzkNwlt+tKA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jun 2020 05:01:52 -0700 IronPort-SDR: rbg3z6jFAbPtmY2X6lN/SvzgffBc9LROu4aPUQXjqOT+q9jEL/BRzVTiSbzUx9a06u4RGEzHJ/ 4fPPiNcKm/yw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,467,1583222400"; d="scan'208";a="304585228" Received: from linux.intel.com ([10.54.29.200]) by orsmga008.jf.intel.com with ESMTP; 03 Jun 2020 05:01:46 -0700 Received: from [10.249.225.188] (abudanko-mobl.ccr.corp.intel.com [10.249.225.188]) by linux.intel.com (Postfix) with ESMTP id 8766E58045A; Wed, 3 Jun 2020 05:01:44 -0700 (PDT) Subject: Re: [PATCH v6 01/13] tools/libperf: introduce notion of static polled file descriptors To: Adrian Hunter Cc: Arnaldo Carvalho de Melo , Jiri Olsa , Namhyung Kim , Alexander Shishkin , Peter Zijlstra , Ingo Molnar , Andi Kleen , linux-kernel References: <40643542-6676-e0bc-2d10-165dfde41e29@linux.intel.com> <33c91520-7040-bd6b-b176-004ddbec2a63@intel.com> From: Alexey Budankov Organization: Intel Corp. Message-ID: Date: Wed, 3 Jun 2020 15:01:43 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1 MIME-Version: 1.0 In-Reply-To: <33c91520-7040-bd6b-b176-004ddbec2a63@intel.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 03.06.2020 14:38, Adrian Hunter wrote: > On 1/06/20 11:05 pm, Alexey Budankov wrote: >> >> Implement adding of file descriptors by fdarray__add_stat() to >> fix-sized (currently 1) stat_entries array located at struct fdarray. >> Append added file descriptors to the array used by poll() syscall >> during fdarray__poll() call. Copy poll() result of the added >> descriptors from the array back to the storage for separate analysis. > > Why not instead call evlist__add_pollfd() before other fds are added, so > the fda->entries[] position is always fixed. Then this patch is not needed. It then will block event consumption loop, at least in record mode, due to change sin initial assumptions behind fdarray__filter(). So extension of the API with 'static' fds looks safer w.r.t. possible functional regressions at the same time extending the API with ability to atomically wait for (poll()) not only event fds but also any other fds during monitoring. Feel free to ask more. ~Alexey