Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp1037756pxb; Wed, 6 Apr 2022 07:15:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxYI3W/pMgO6MfEf3RWxuoAyOWH4i+MdHNyAJfnNKrdyxazeeWjGbs6EAA+J667rzylwwUp X-Received: by 2002:a05:6a00:8c9:b0:4fe:ecc:9bcd with SMTP id s9-20020a056a0008c900b004fe0ecc9bcdmr9128373pfu.34.1649254553704; Wed, 06 Apr 2022 07:15:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649254553; cv=none; d=google.com; s=arc-20160816; b=OOu9HcxMIl0y4VqZw5il7IwSalT/m86jIOayklTtiqwfeU1MH2d47CV4ZPv3S2zW3Z LKCYyUx14GkzEgBdsRiC+NsgJvfNxAR4YYEPGcfiQwQAA4KtkcUmjfRCpVzgr9mCFNmO /H64U0toBHO6sLYILajhjVbJLjmHN/fxsjE0ZDNiNdMX8cACW2pPXUPuGXqEA7EkiD7f Ws0vWBkIAfAsiGxKZizrJzW/NbzzgfmdzQCUPQ/bKM760d52UIJLOcRP9ir6nA3JqZJA QkhSnF3OJYbSNAdqyMgdlrDa1HDFDJ6G0++9f9yedQnG/k85yWYQXA5LYaicuX7ioCzF 32Fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id:dkim-signature; bh=j8Bbr8SxyGFgP/t5KjulfykSz32ZOIXqvVa5Dy0jbAs=; b=qvFjPr2AVP72n26ybCXiFpEz0gNmL+IeKKC7eHZlweJHRa9huiWiJEQD6Km7m12Ctl rKXv4NTHcI6LjdDxF9QNptQAVQM72zZ1cR/Ex9b8S3Hu1MjTt4zV3TcbVDM4Wao18eEg ODtPZj1OyCIdC2D710txBvWiFxsQKInOHxoRbdK62nAyh4nqW0z+mG8n5nNGOzN+3K4v yMuQRMDU/LX4VxUOS7nyAqqeZNmWSEXnFPj910WIGGUk4P1qpVNNAvatQEIXQgWDn31M 7EEYmI9rrMPkqHA1DP5TnDBSDfpl9FBNl8o1LwtlGtcFlmuyeWp6Y8dWeRUYm9PBkoPe GNfQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=IvgHP220; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id d24-20020a631d18000000b003816043ef2asi15606589pgd.287.2022.04.06.07.15.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Apr 2022 07:15:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=IvgHP220; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E74F539D; Wed, 6 Apr 2022 05:01:59 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240176AbiDFKGz (ORCPT + 99 others); Wed, 6 Apr 2022 06:06:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39292 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242898AbiDFKFr (ORCPT ); Wed, 6 Apr 2022 06:05:47 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5323FC6F39; Tue, 5 Apr 2022 23:34:32 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id ED678B82004; Wed, 6 Apr 2022 06:34:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F916C385A3; Wed, 6 Apr 2022 06:34:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1649226869; bh=j8Bbr8SxyGFgP/t5KjulfykSz32ZOIXqvVa5Dy0jbAs=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=IvgHP220bTg4KbFtDKm8zswOftdDwpyEFp7GfbtpWZwKk3F1UzXI5P0s1PkiUcwvW vChVuAielCq5oaURT1xdihz3lt25o+snRJCvBq3Sh9Ugr1GtR2x+rJ7Qg8q+ifLcfB T0lCKZe1ok7Wv4raZXA6NYQbeYP5yRpaB+fOs6GX4/QtlwQjRnhTY9Q9qjBlDbPrs7 oW+h9GFxKO1Quz/C4R5oFZE/tpBE8WdBRmaCdgiygOO/okyKMZNBN27xqWKgcJt2MV z2PdeUK0SpVHUCDIt0q6t8ShcVUe008UaPU/+qtCik1eROAyjPDYlJ1/kDRCj+P1yF Fgu+U1/JZ7g7g== Message-ID: <984834578beba18fa5b0196a0d9e4327dc22cf73.camel@kernel.org> Subject: Re: [PATCH V3 19/30] x86/sgx: Free up EPC pages directly to support large page ranges From: Jarkko Sakkinen To: Dave Hansen , Reinette Chatre Cc: dave.hansen@linux.intel.com, tglx@linutronix.de, bp@alien8.de, luto@kernel.org, mingo@redhat.com, linux-sgx@vger.kernel.org, x86@kernel.org, seanjc@google.com, kai.huang@intel.com, cathy.zhang@intel.com, cedric.xing@intel.com, haitao.huang@intel.com, mark.shanahan@intel.com, hpa@zytor.com, linux-kernel@vger.kernel.org Date: Wed, 06 Apr 2022 09:35:39 +0300 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.42.4 MIME-Version: 1.0 X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2022-04-05 at 10:25 -0700, Dave Hansen wrote: > On 4/5/22 10:13, Reinette Chatre wrote: > > > > +void sgx_direct_reclaim(void) > > > > +{ > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if (sgx_should_reclaim(S= GX_NR_LOW_PAGES)) > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0sgx_reclaim_pages(); > > > > +} > > > Please, instead open code this to both locations - not enough redunda= ncy > > > to be worth of new function. Causes only unnecessary cross-referencin= g > > > when maintaining. Otherwise, I agree with the idea. > > >=20 > > hmmm, that means the heart of the reclaimer (sgx_reclaim_pages()) would= be > > made available for direct use from everywhere in the driver. I will loo= k into this. >=20 > I like the change.=C2=A0 It's not about reducing code redundancy, it's ab= out > *describing* what the code does.=C2=A0 Each location could have: >=20 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0/* Enter direct SGX recla= im: */ > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if (sgx_should_reclaim(SG= X_NR_LOW_PAGES)) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0sgx_reclaim_pages(); >=20 > Or, it could just be: >=20 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0sgx_direct_reclaim(); >=20 > Which also provides a logical choke point to add comments, like: >=20 > /* > =C2=A0* sgx_direct_reclaim() should be called in locations where SGX > =C2=A0* memory resources might be low and might be needed in order > =C2=A0* to make forward progress. > =C2=A0*/ > void sgx_direct_reclaim(void) > { > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0... Maybe cutting hairs but could it be "sgx_reclaim_direct"? Rationale is easier grepping of reclaimer functions, e.g. when tracing. BR, Jarkko