Messages in this thread | | | Date | Wed, 26 Jan 2022 15:03:45 -0300 | From | Marcelo Tosatti <> | Subject | Re: [patch v8 01/10] add basic task isolation prctl interface |
| |
On Thu, Jan 20, 2022 at 06:43:01PM +0100, Frederic Weisbecker wrote: > On Wed, Dec 08, 2021 at 01:09:07PM -0300, Marcelo Tosatti wrote: > > +int __copy_task_isolation(struct task_struct *tsk) > > +{ > > + struct isol_info *info, *new_info; > > + > > + info = current->isol_info; > > + if (!(info->inherit_mask & (ISOL_INHERIT_CONF|ISOL_INHERIT_ACTIVE))) > > + return 0; > > + > > + new_info = tsk_isol_alloc_context(); > > + if (IS_ERR(new_info)) > > + return PTR_ERR(new_info); > > + > > + new_info->inherit_mask = info->inherit_mask; > > Ok then it might be worth mentioning in the docs that the inheritance > propagates to all the descendants and not just the immediate children, > unless the inheritance is explicitly reconfigured by some children of course.
v9 has:
**PR_ISOL_CFG_SET**:
Set task isolation configuration. The general format is::
prctl(PR_ISOL_CFG_SET, what, arg3, arg4, arg5);
...
- Bit ISOL_INHERIT_ACTIVE: Inherit task isolation activation (requires ISOL_INHERIT_CONF to be set). The new task should behave, after fork/clone, in the same manner as the parent task after it executed:
prctl(PR_ISOL_ACTIVATE_SET, &mask, ...);
Note: the inheritance propagates to all the descendants and not just the immediate children, unless the inheritance is explicitly reconfigured by some children.
> > > + > > + if (info->inherit_mask & ISOL_INHERIT_CONF) { > > + new_info->quiesce_mask = info->quiesce_mask; > > Looks like if the parent has oneshot quiesce features configured, those > will be inherited as non-oneshot.
Good catch. v9 has:
+ if (info->inherit_mask & ISOL_INHERIT_CONF) { + new_info->quiesce_mask = info->quiesce_mask; + new_info->conf_mask = info->conf_mask; + new_info->oneshot_mask = info->oneshot_mask; + }
> > > + new_info->conf_mask = info->conf_mask; > > + } > > + > > + if (info->inherit_mask & ISOL_INHERIT_ACTIVE) > > + new_info->active_mask = info->active_mask; > > + > > + tsk->isol_info = new_info; > > + > > + return 0; > > +} > > Other than that: > > Acked-by: Frederic Weisbecker <frederic@kernel.org>
OK, with the fixes above, i'll add your Acked-by to patches 1 and 2. Let me know otherwise.
| |