Re: [PATCH v6 1/3] x86/resctrl: Add mount option "mba_MBps_event"

From: Reinette Chatre
Date: Tue Dec 12 2023 - 12:54:47 EST



On 12/8/2023 2:09 PM, Peter Newman wrote:
> On Fri, Dec 8, 2023 at 1:57 PM Tony Luck <tony.luck@xxxxxxxxx> wrote:
>>
>> On Fri, Dec 08, 2023 at 10:17:08AM -0800, Peter Newman wrote:
>>> Hi Tony,
>>>
>>> On Thu, Dec 7, 2023 at 11:56 AM Tony Luck <tony.luck@xxxxxxxxx> wrote:
>>>> @@ -2715,7 +2723,25 @@ static int rdt_parse_param(struct fs_context *fc, struct fs_parameter *param)
>>>> case Opt_mba_mbps:
>>>> if (!supports_mba_mbps())
>>>> return -EINVAL;
>>>> - ctx->enable_mba_mbps = true;
>>>> + if (is_mbm_local_enabled())
>>>> + ctx->enable_mba_mbps_local = true;
>>>> + else
>>>> + return -EINVAL;
>>>> + return 0;
>>>> + case Opt_mba_mbps_event:
>>>> + if (!supports_mba_mbps())
>>>> + return -EINVAL;
>>>> + if (!strcmp("mbm_local_bytes", param->string)) {
>>>> + if (!is_mbm_local_enabled())
>>>> + return -EINVAL;
>>>> + ctx->enable_mba_mbps_local = true;
>>>> + } else if (!strcmp("mbm_total_bytes", param->string)) {
>>>> + if (!is_mbm_total_enabled())
>>>> + return -EINVAL;
>>>> + ctx->enable_mba_mbps_total = true;
>>>> + } else {
>>>> + return -EINVAL;
>>>
>>> It looks like if I pass
>>> "mba_MBps_event=mbm_total_bytes,mba_MBps_event=mbm_local_bytes" I can
>>> set both flags true.
>>
>> That's going to be confusing. I'll add code to stop the user from
>> passing both options.
>
> Also kind of confusing, after reading the second patch, I realized
> "mba_MBps_event=mbm_total_bytes,mba_MBps" also results in both being
> set. If you're able to fail the mount operation if both flags somehow
> get set, that would address this one too.

Are two separate flags required? All existing options within struct rdt_fs_context
are of type bool but that does not imply that it is the required type for
all.

Reinette