All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jarkko Sakkinen <jarkko@kernel.org>
To: Kai Huang <kai.huang@intel.com>
Cc: linux-sgx@vger.kernel.org,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Shuah Khan <shuah@kernel.org>,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org
Subject: Re: [PATCH v3 2/2] x86/sgx: Add SGX_MemTotal to /proc/meminfo
Date: Thu, 02 Sep 2021 15:15:51 +0300	[thread overview]
Message-ID: <41e9b099f6492c389b3ed3bbe107d61804a307e9.camel@kernel.org> (raw)
In-Reply-To: <20210901174705.3b1a943ef8c4bb09323c6d76@intel.com>

On Wed, 2021-09-01 at 17:47 +1200, Kai Huang wrote:
> On Wed, 01 Sep 2021 08:41:12 +0300 Jarkko Sakkinen wrote:
> > On Wed, 2021-09-01 at 17:33 +1200, Kai Huang wrote:
> > > On Wed, 01 Sep 2021 05:02:45 +0300 Jarkko Sakkinen wrote:
> > > > On Sat, 2021-08-28 at 00:03 +1200, Kai Huang wrote:
> > > > > > > > -/* The free page list lock protected variables prepend the lock. */
> > > > > > > > +/* The number of usable EPC pages in the system. */
> > > > > > > > +unsigned long sgx_nr_all_pages;
> > > > > > > > +
> > > > > > > > +/* The number of free EPC pages in all nodes. */
> > > > > > > >  static unsigned long sgx_nr_free_pages;
> > > > > > > >  
> > > > > > > >  /* Nodes with one or more EPC sections. */
> > > > > > > > @@ -656,6 +659,8 @@ static bool __init sgx_setup_epc_section(u64 phys_addr, u64 size,
> > > > > > > >  		list_add_tail(&section->pages[i].list, &sgx_dirty_page_list);
> > > > > > > >  	}
> > > > > > > >  
> > > > > > > > +	sgx_nr_all_pages += nr_pages;
> > > > > > > > +
> > > > > > > 
> > > > > > > EPC sections can be freed again in sgx_init() after they are successfully
> > > > > > > initialized, when any further initialization fails (i.e. when fails to create
> > > > > > > ksgxd, or fails to register /dev/sgx_provision).  In which case, I think
> > > > > > > sgx_nr_all_pages should also be cleared.  But current sgx_init() seems doesn't
> > > > > > > reset it.  Do you need to fix that too?
> > > > > > 
> > > > > > sgx_nr_all_pages tells just the total pages in the system, i.e. it's a constant.
> > > > > > 
> > > > > > Maybe a rename to "sgx_nr_total_pages" would be a good idea? Would match with
> > > > > > the meminfo field better too.
> > > > > 
> > > > > I don't have preference on name.  I just think if there's no actual user of
> > > > > EPC (when both driver and KVM SGX cannot be enabled), it's pointless to print
> > > > > number of EPC pages.
> > > > 
> > > > I'd presume that you refer to the code, which prints the number of *bytes* in
> > > > the system because code printing the number of pages does not exist in this
> > > > patch set.
> > > > 
> > > > I have troubles the decipher your statement.
> > > > 
> > > > You think that only if both the driver and KVM are *both* enabled, only then
> > > > it makes sense to have this information available for sysadmin?
> > > 
> > > Only if at least one of them is enabled.
> > 
> > OK, thank you, that does make sense.
> > 
> > What would happen if neither is enabled is that SGX_MemTotal would
> > state that there is zero bytes of EPC. 
> 
> This is the problem I pointed out at the beginning, that (if I read code
> correctly), it seems your current patch doesn't clear sgx_nr_all_pages when
> neither is enabled (in sgx_init() in sgx/main.c).

It's initialized to zero, so are you talking about fallback when something
fails?

/Jarkko

  reply	other threads:[~2021-09-02 12:16 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-25 23:52 [PATCH v3 1/2] x86/sgx: Add the missing ifdef for sgx_set_attribute() Jarkko Sakkinen
2021-08-25 23:52 ` [PATCH v3 2/2] x86/sgx: Add SGX_MemTotal to /proc/meminfo Jarkko Sakkinen
2021-08-26  0:39   ` Randy Dunlap
2021-08-26 16:17     ` Jarkko Sakkinen
2021-08-26 20:27       ` Dave Hansen
2021-08-26 22:27         ` Randy Dunlap
2021-09-01  1:51           ` Jarkko Sakkinen
2021-08-26  2:19   ` Kai Huang
2021-08-26 16:27     ` Jarkko Sakkinen
2021-08-27 12:03       ` Kai Huang
2021-09-01  2:02         ` Jarkko Sakkinen
2021-09-01  5:33           ` Kai Huang
2021-09-01  5:41             ` Jarkko Sakkinen
2021-09-01  5:47               ` Kai Huang
2021-09-02 12:15                 ` Jarkko Sakkinen [this message]
2021-09-02 21:56                   ` Kai Huang
2021-09-02 22:14                     ` Jarkko Sakkinen
2021-08-26  9:58 ` [PATCH v3 1/2] x86/sgx: Add the missing ifdef for sgx_set_attribute() Borislav Petkov
2021-08-26 16:08   ` Jarkko Sakkinen
2021-08-26 16:35     ` Borislav Petkov
2021-08-26 17:11       ` Jarkko Sakkinen
2021-08-26 17:24         ` Borislav Petkov
2021-08-26 17:31           ` Jarkko Sakkinen
2021-08-26 17:53             ` Borislav Petkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=41e9b099f6492c389b3ed3bbe107d61804a307e9.camel@kernel.org \
    --to=jarkko@kernel.org \
    --cc=bp@alien8.de \
    --cc=corbet@lwn.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=kai.huang@intel.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sgx@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=shuah@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.