Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932734AbdGSQNh (ORCPT ); Wed, 19 Jul 2017 12:13:37 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49112 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753628AbdGSQNg (ORCPT ); Wed, 19 Jul 2017 12:13:36 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com ADBA4C04D2A4 Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=rkrcmar@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com ADBA4C04D2A4 Date: Wed, 19 Jul 2017 18:13:29 +0200 From: Radim =?utf-8?B?S3LEjW3DocWZ?= To: Arnd Bergmann Cc: the arch/x86 maintainers , Paolo Bonzini , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Linux Kernel Mailing List , Alex Williamson , kvm@vger.kernel.org Subject: Re: [PATCH 6/8] x86: add MULTIUSER dependency for KVM Message-ID: <20170719161328.GB17303@potion> References: <20170719125310.2487451-1-arnd@arndb.de> <20170719125310.2487451-7-arnd@arndb.de> <20170719141153.GA17303@potion> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Wed, 19 Jul 2017 16:13:36 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1451 Lines: 42 2017-07-19 16:18+0200, Arnd Bergmann: > On Wed, Jul 19, 2017 at 4:11 PM, Radim Krčmář wrote: > > 2017-07-19 14:53+0200, Arnd Bergmann: > >> KVM tries to select 'TASKSTATS', which had additional dependencies: > >> > >> warning: (KVM) selects TASKSTATS which has unmet direct dependencies (NET && MULTIUSER) > >> > >> Signed-off-by: Arnd Bergmann > >> --- > > > > Hm, do you know why Kconfig warns instead of propagating the > > dependencies? > > Kconfig propagates 'depends on' dependencies, but cannot turn a 'select' > into 'depends on', as those two mean different things. > > Another solution to the problem would be to use 'depends on TASKSTATS'. Good point, 'select' seems misused here. There is no reason to depend on TASKSTATS (nor NET+MULTIUSER), we only suggest to enable it with KVM. KVM uses sched_info_on() to handle any any possible resulting configuration, c9aaa8957f20 ("KVM: Steal time implementation"). KVM would work as intended if 'select' would not enable the option if its dependencies failed (instead of unconditionally forcing the option). Is the preferred way to encode it: 'default y if KVM' in config TASK_DELAY_ACCT (that adds a non-local and enigmatic dependency and also needlessly expands the possible configuration space) or 'select TASKSTATS if NET && MULTIUSER' in config KVM (that is going to break when dependencies of TASKSTATS change again) ? thanks.