On Tue, Sep 21, 2021 at 09:17:07AM +0200, Peter Zijlstra wrote: > On Tue, Sep 21, 2021 at 09:17:27AM +0300, Dan Carpenter wrote: > > On Thu, Sep 16, 2021 at 11:59:30AM -0000, tip-bot2 for Yafang Shao wrote: > > > @@ -11424,7 +11441,7 @@ int alloc_fair_sched_group(struct task_group *tg, struct task_group *parent) > > > if (!cfs_rq) > > > goto err; > > > > > > - se = kzalloc_node(sizeof(struct sched_entity), > > > + se = kzalloc_node(sizeof(struct sched_entity_stats), > > > > This wasn't there in the original patch and it causes a Smatch warning > > What original patch? It's part of the v4 posting. > > > because "se" is declared as a "sched_entity" but it's allocating a > > larger "sched_entity_stats" which contains a sched_entity. > > Yep, on purpose. > > > To me, ideally, we would update the type of se. > > That's a lot of churn for very little gain. I can rewrite it like: > > struct sched_entity_stats *ses = kzalloc_node(sizeof(*ses),...); > se = &ses->se; > > If that makes smatch happy. It's the exact same thing tho because we > force ses->se to be at 0 offset. I mean, I understood what the allocation was doing and that this was a way to avoid churn. But it's pretty confusing, because every "se" is really an "ses" now right? Anyway, just leave it. It's fine. regards, dan carpenter
![]() |