Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp460483ybg; Wed, 3 Jun 2020 05:26:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyr9GUc5t0i/Haqk+fH6BolA3hUVbkeI8zOZMV9TNVyWsluomlgdtcCm6uKnFXZ8sK0Gpik X-Received: by 2002:a50:e444:: with SMTP id e4mr29680921edm.191.1591187201402; Wed, 03 Jun 2020 05:26:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591187201; cv=none; d=google.com; s=arc-20160816; b=UcHIFayDDu9WzTFPyYlA0LB/1atwqcvTmUS8ZBGTLMovLAQnnJf9/XZejaOd0iuepk IZ9ooJyWYgEJN/BTXsD+VR8rZHPgQRrRuPoV8M18h3aROZrewHyAdVB1kEjlIyGc1FEY KxHZcq0/+GX3WOhJTac9xCzn+Uz6DQoWHo0/0LPOEK8t5oXV32o4cOCGlpxFJGc0LuLp cLgpZvV/pkvqhaced6sf5ki7dE4YXyaA/Qq5310jV+vnHT2SXs29LStYAMZA9LaY4P7e J1MzG8WFSniT9o9TL4a/YgXm+kL22QV60myNwRf/wLBtMHr0K6kQ/nyjHLESM+HaQ63o FfEQ== 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=0EhawMD8K5iRxdMq0hrbBW9tRfTnmVgmPCvLARCkD9o=; b=th4IwYseVqD22RlINh9ML5A1Ss0EV2W5Jkhx9KcCPadnJriJj5TmV2prVy2DXC01I1 H7pxgd4ZpoohWPJIi9zByP1IfPYpCcMMyrGehYmICt1Tecehd6WBxJhFoF5YNXg8KTgg e3L3xnEWKuq0Jeh5r83s4jth19FafOKYpuUTZo1PU6e5wIeQYL8MZfeQ2wlP5ppr93E9 jtM4cRAvRThQvRNO6zA48VrW1JlZQ90Efpr90hdsWs+rhWqSs/pKSqV0RlXe314RYxMz WRAwb7pSBXYW6D+7oZZ4E4x29DuLWO3Uqb9DiXrW3oAY1vEVaKi4RiiO00R3HzA9Df+X 4cDQ== 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 y5si990941edu.279.2020.06.03.05.26.17; Wed, 03 Jun 2020 05:26:41 -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 S1725965AbgFCMYa (ORCPT + 99 others); Wed, 3 Jun 2020 08:24:30 -0400 Received: from mga03.intel.com ([134.134.136.65]:49368 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725833AbgFCMY3 (ORCPT ); Wed, 3 Jun 2020 08:24:29 -0400 IronPort-SDR: iJiSA/R3hxng3+C3CKSTdOpOl24ETeE+ed7lyCOS9aJPrBTJp9ezFX2ZMgi7W8c/wm7HLWx3bS xnpdCfu0m3jw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jun 2020 05:24:29 -0700 IronPort-SDR: rauLYjJSv89Od8vUCODQbnDE1NI9cvg1cXbDEqABEorzr0iL0jefyZRx6syl2Kc1Zej+yWmW0Q 0q8kDRFXX8qQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,467,1583222400"; d="scan'208";a="269059367" Received: from ahunter-desktop.fi.intel.com (HELO [10.237.72.157]) ([10.237.72.157]) by orsmga003.jf.intel.com with ESMTP; 03 Jun 2020 05:24:26 -0700 Subject: Re: [PATCH v6 01/13] tools/libperf: introduce notion of static polled file descriptors To: Alexey Budankov 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: Adrian Hunter Organization: Intel Finland Oy, Registered Address: PL 281, 00181 Helsinki, Business Identity Code: 0357606 - 4, Domiciled in Helsinki Message-ID: Date: Wed, 3 Jun 2020 15:23:53 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: 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 On 3/06/20 3:01 pm, Alexey Budankov wrote: > 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. So make fdarray__filter() return the number of filterable fds remaining.