On Tue, Nov 24, 2020, Vipin Sharma wrote:
> On Tue, Nov 24, 2020 at 12:18:45PM -0800, David Rientjes wrote:
> > On Tue, 24 Nov 2020, Vipin Sharma wrote:
> > 
> > > > > Looping Janosch and Christian back into the thread.                   
> > > > >         
> > > > >                                                                       
> > > > >         
> > > > > I interpret this suggestion as                                        
> > > > >         
> > > > > encryption.{sev,sev_es,keyids}.{max,current,events} for AMD and Intel 
> > > > >         
> > > > 
> > > > I think it makes sense to use encryption_ids instead of simply 
> > > > encryption, that
> > > > way it's clear the cgroup is accounting ids as opposed to restricting 
> > > > what
> > > > techs can be used on yes/no basis.
> > > > 
> > 
> > Agreed.
> > 
> > > > > offerings, which was my thought on this as well.                      
> > > > >         
> > > > >                                                                       
> > > > >         
> > > > > Certainly the kernel could provide a single interface for all of 
> > > > > these and    
> > > > > key value pairs depending on the underlying encryption technology but 
> > > > > it      
> > > > > seems to only introduce additional complexity in the kernel in string 
> > > > >         
> > > > > parsing that can otherwise be avoided.  I think we all agree that a 
> > > > > single    
> > > > > interface for all encryption keys or one-value-per-file could be done 
> > > > > in      
> > > > > the kernel and handled by any userspace agent that is configuring 
> > > > > these       
> > > > > values.                                                               
> > > > >         
> > > > >                                                                       
> > > > >         
> > > > > I think Vipin is adding a root level file that describes how many 
> > > > > keys we     
> > > > > have available on the platform for each technology.  So I think this 
> > > > > comes    
> > > > > down to, for example, a single encryption.max file vs                 
> > > > >         
> > > > > encryption.{sev,sev_es,keyid}.max.  SEV and SEV-ES ASIDs are 
> > > > > provisioned      
> > > > 
> > > > Are you suggesting that the cgroup omit "current" and "events"?  I 
> > > > agree there's
> > > > no need to enumerate platform total, but not knowing how many of the 
> > > > allowed IDs
> > > > have been allocated seems problematic.
> > > > 
> > > 
> > > We will be showing encryption_ids.{sev,sev_es}.{max,current}
> > > I am inclined to not provide "events" as I am not using it, let me know
> > > if this file is required, I can provide it then.

I've no objection to omitting current until it's needed.

> > > I will provide an encryption_ids.{sev,sev_es}.stat file, which shows
> > > total available ids on the platform. This one will be useful for
> > > scheduling jobs in the cloud infrastructure based on total supported
> > > capacity.
> > > 
> > 
> > Makes sense.  I assume the stat file is only at the cgroup root level 
> > since it would otherwise be duplicating its contents in every cgroup under 
> > it.  Probably not very helpful for child cgroup to see stat = 509 ASIDs 
> > but max = 100 :)
> 
> Yes, only at root.

Is a root level stat file needed?  Can't the infrastructure do .max - .current
on the root cgroup to calculate the number of available ids in the system?

Reply via email to