Re: [Patch v4 1/2] cgroup: svm: Add Encryption ID controller

Tejun Heo
2021-01-16T03:45:17Z

On Fri, Jan 15, 2021 at 02:18:40PM -0800, Vipin Sharma wrote:
> > * Why is .sev a separate namespace? Isn't the controller supposed to cover
> > encryption ids across different implementations? It's not like multiple
> > types of IDs can be in use on the same machine, right?
> >
>
> On AMD platform we have two types SEV and SEV-ES which can exists
> simultaneously and they have their own quota.

Can you please give a brief explanation of the two and lay out a scenario
where the two are being used / allocated disjointly?

> > > Other ID types can be easily added in the controller in the same way.
> >
> > I'm not sure this is necessarily a good thing.
>
> This is to just say that when Intel and PowerPC changes are ready it
> won't be difficult for them to add their controller.

I'm not really enthused about having per-hardware-type control knobs. None
of other controllers behave that way. Unless it can be abstracted into
something common, I'm likely to object.

> > > +static int enc_id_cg_stat_show(struct seq_file *sf, void *v)
> > > +{
> > > + unsigned long flags;
> > > + enum encryption_id_type type = seq_cft(sf)->private;
> > > +
> > > + spin_lock_irqsave(&enc_id_cg_lock, flags);
> > > +
> > > + seq_printf(sf, "total %u\n", enc_id_capacity[type]);
> > > + seq_printf(sf, "used %u\n", root_cg.res[type].usage);
> >
> > Dup with .current and no need to show total on every cgroup, right?
>
> This is for the stat file which will only be seen in the root cgroup
> directory. It is to know overall picture for the resource, what is the
> total capacity and what is the current usage. ".current" file is not
> shown on the root cgroup.

Ah, missed the flags. It's odd for the usage to be presented in two
different ways tho. I think it'd make more sense w/ cgroup.current at root
level. Is the total number available somewhere else in the system?

Thanks.

--
tejun