From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EA7E4C433DF for ; Tue, 16 Jun 2020 10:10:46 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C3CD820707 for ; Tue, 16 Jun 2020 10:10:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C3CD820707 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jl8Y7-000725-PS; Tue, 16 Jun 2020 10:10:35 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jl8Y6-000720-P4 for xen-devel@lists.xenproject.org; Tue, 16 Jun 2020 10:10:34 +0000 X-Inumbo-ID: 9c2ee356-afb9-11ea-b8a5-12813bfff9fa Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 9c2ee356-afb9-11ea-b8a5-12813bfff9fa; Tue, 16 Jun 2020 10:10:31 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 7645DAD60; Tue, 16 Jun 2020 10:10:34 +0000 (UTC) Subject: Re: [RFC PATCH v1 2/6] sched: track time spent in hypervisor tasks To: Volodymyr Babchuk References: <20200612002205.174295-1-volodymyr_babchuk@epam.com> <20200612002205.174295-3-volodymyr_babchuk@epam.com> From: Jan Beulich Message-ID: <7d3e1741-b8bc-b522-8d64-20ca9c14744b@suse.com> Date: Tue, 16 Jun 2020 12:10:29 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: <20200612002205.174295-3-volodymyr_babchuk@epam.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Julien Grall , Wei Liu , Andrew Cooper , Ian Jackson , George Dunlap , Dario Faggioli , "xen-devel@lists.xenproject.org" Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" On 12.06.2020 02:22, Volodymyr Babchuk wrote: > In most cases hypervisor code performs guest-related jobs. Tasks like > hypercall handling or MMIO access emulation are done for calling vCPU > so it is okay to charge time spent in hypervisor to the current vCPU. > > But, there are also tasks that are not originated from guests. This > includes things like TLB flushing or running tasklets. We don't want > to track time spent in this tasks to a total scheduling unit run > time. So we need to track time spent in such housekeeping tasks > separately. > > Those hypervisor tasks are run in do_softirq() function, so we'll > install our hooks there. I can see the point and desire, but it feels like you're moving from one kind of unfairness to another: A softirq may very well be on behalf of a specific vCPU, in which case not charging current should lead to charging that specific one (which may still be current then). Even more than for TLB flushes this may be relevant for the cases where (on x86) we issue WBINVD on behalf of a guest. Jan