Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1725832 > unrolled thread
| Started by | Stephen Rothwell <sfr@canb.auug.org.au> |
|---|---|
| First post | 2017-09-04 06:50 +0200 |
| Last post | 2017-09-04 06:50 +0200 |
| Articles | 1 — 1 participant |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: linux-next: manual merge of the tip tree with the pm tree Stephen Rothwell <sfr@canb.auug.org.au> - 2017-09-04 06:50 +0200
| From | Stephen Rothwell <sfr@canb.auug.org.au> |
|---|---|
| Date | 2017-09-04 06:50 +0200 |
| Subject | Re: linux-next: manual merge of the tip tree with the pm tree |
| Message-ID | <ulRuG-V1-3@gated-at.bofh.it> |
Hi all,
On Fri, 11 Aug 2017 14:06:46 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the tip tree got a conflict in:
>
> kernel/sched/fair.c
>
> between commit:
>
> 674e75411fc2 ("sched: cpufreq: Allow remote cpufreq callbacks")
>
> from the pm tree and commit:
>
> a030d7381d8b ("sched/fair: Call cpufreq update util handlers less frequently on UP")
>
> from the tip tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
>
> --
> Cheers,
> Stephen Rothwell
>
> diff --cc kernel/sched/fair.c
> index d378d02fdfcb,8d5868771cb3..000000000000
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@@ -2790,6 -2801,29 +2801,31 @@@ static inline void update_cfs_shares(st
> }
> #endif /* CONFIG_FAIR_GROUP_SCHED */
>
> + static inline void cfs_rq_util_change(struct cfs_rq *cfs_rq)
> + {
> - if (&this_rq()->cfs == cfs_rq) {
> ++ struct rq *rq = rq_of(cfs_rq);
> ++
> ++ if (&rq->cfs == cfs_rq) {
> + /*
> + * There are a few boundary cases this might miss but it should
> + * get called often enough that that should (hopefully) not be
> + * a real problem -- added to that it only calls on the local
> + * CPU, so if we enqueue remotely we'll miss an update, but
> + * the next tick/schedule should update.
> + *
> + * It will not get called when we go idle, because the idle
> + * thread is a different class (!fair), nor will the utilization
> + * number include things like RT tasks.
> + *
> + * As is, the util number is not freq-invariant (we'd have to
> + * implement arch_scale_freq_capacity() for that).
> + *
> + * See cpu_util().
> + */
> - cpufreq_update_util(rq_of(cfs_rq), 0);
> ++ cpufreq_update_util(rq, 0);
> + }
> + }
> +
> #ifdef CONFIG_SMP
> /*
> * Approximate:
Just a reminder that the above conflict still exists.
--
Cheers,
Stephen Rothwell
Back to top | Article view | linux.kernel
csiph-web