Messages in this thread |  | | Date | Tue, 1 Dec 2020 14:20:28 -0500 | From | Joel Fernandes <> | Subject | Re: [PATCH -tip 22/32] sched: Split the cookie and setup per-task cookie on fork |
| |
On Wed, Nov 25, 2020 at 12:10:14PM +0100, Peter Zijlstra wrote: > On Tue, Nov 17, 2020 at 06:19:52PM -0500, Joel Fernandes (Google) wrote: > > +void sched_core_tag_requeue(struct task_struct *p, unsigned long cookie, bool group) > > +{ > > + if (!p) > > + return; > > + > > + if (group) > > + p->core_group_cookie = cookie; > > + else > > + p->core_task_cookie = cookie; > > + > > + /* Use up half of the cookie's bits for task cookie and remaining for group cookie. */ > > + p->core_cookie = (p->core_task_cookie << > > + (sizeof(unsigned long) * 4)) + p->core_group_cookie; > > This seems dangerous; afaict there is nothing that prevents cookie > collision.
This is fixed in a later patch by Josh "sched: Refactor core cookie into struct" where we are having independent fields for each type of cookie.
I'll squash it next time I post to prevent confusion. Thanks,
- Joel
|  |