Lines Matching refs:grp
2912 static inline int get_numa_group(struct numa_group *grp)
2914 return refcount_inc_not_zero(&grp->refcount);
2917 static inline void put_numa_group(struct numa_group *grp)
2919 if (refcount_dec_and_test(&grp->refcount))
2920 kfree_rcu(grp, rcu);
2926 struct numa_group *grp, *my_grp;
2937 grp = kzalloc(size, GFP_KERNEL | __GFP_NOWARN);
2938 if (!grp)
2941 refcount_set(&grp->refcount, 1);
2942 grp->active_nodes = 1;
2943 grp->max_faults_cpu = 0;
2944 spin_lock_init(&grp->lock);
2945 grp->gid = p->pid;
2948 grp->faults[i] = p->numa_faults[i];
2950 grp->total_faults = p->total_numa_faults;
2952 grp->nr_tasks++;
2953 rcu_assign_pointer(p->numa_group, grp);
2962 grp = rcu_dereference(tsk->numa_group);
2963 if (!grp)
2967 if (grp == my_grp)
2974 if (my_grp->nr_tasks > grp->nr_tasks)
2978 * Tie-break on the grp address.
2980 if (my_grp->nr_tasks == grp->nr_tasks && my_grp > grp)
2994 if (join && !get_numa_group(grp))
3003 double_lock_irq(&my_grp->lock, &grp->lock);
3007 grp->faults[i] += p->numa_faults[i];
3010 grp->total_faults += p->total_numa_faults;
3013 grp->nr_tasks++;
3016 spin_unlock_irq(&grp->lock);
3018 rcu_assign_pointer(p->numa_group, grp);
3038 struct numa_group *grp = rcu_dereference_raw(p->numa_group);
3046 if (grp) {
3047 spin_lock_irqsave(&grp->lock, flags);
3049 grp->faults[i] -= p->numa_faults[i];
3050 grp->total_faults -= p->total_numa_faults;
3052 grp->nr_tasks--;
3053 spin_unlock_irqrestore(&grp->lock, flags);
3055 put_numa_group(grp);
3892 * grp->load.weight