Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1334475
| From | Peter Zijlstra <peterz@infradead.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting |
| Date | 2016-02-15 15:20 +0100 |
| Message-ID | <r2sal-27A-3@gated-at.bofh.it> (permalink) |
| References | <r2qBA-Um-13@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Mon, Feb 15, 2016 at 02:36:43PM +0200, Joonas Lahtinen wrote: > Instead of implementing a custom locked reference counting, use lockref. > > Current implementation leads to a deadlock splat on Intel SKL platforms > when lockdep debugging is enabled. > > This is due to few of CPUfreq drivers (including Intel P-state) having this; > policy->rwsem is locked during driver initialization and the functions called > during init that actually apply CPU limits use get_online_cpus (because they > have other calling paths too), which will briefly lock cpu_hotplug.lock to > increase cpu_hotplug.refcount. > > On later calling path, when doing a suspend, when cpu_hotplug_begin() is called > in disable_nonboot_cpus(), callbacks to CPUfreq functions get called after, > which will lock policy->rwsem and cpu_hotplug.lock is already held by > cpu_hotplug_begin() and we do have a potential deadlock scenario reported by > our CI system (though it is a very unlikely one). See the Bugzilla link for more > details. I've been meaning to change the thing into a percpu-rwsem, I just haven't had time to look into the lockdep splat that generated.
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Joonas Lahtinen <joonas.lahtinen@linux.intel.com> - 2016-02-15 13:40 +0100
Re: [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Peter Zijlstra <peterz@infradead.org> - 2016-02-15 15:20 +0100
Re: [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Peter Zijlstra <peterz@infradead.org> - 2016-02-15 18:10 +0100
Re: [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Joonas Lahtinen <joonas.lahtinen@linux.intel.com> - 2016-02-16 09:50 +0100
Re: [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Peter Zijlstra <peterz@infradead.org> - 2016-02-16 10:20 +0100
Re: [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Joonas Lahtinen <joonas.lahtinen@linux.intel.com> - 2016-02-16 12:00 +0100
Re: [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Peter Zijlstra <peterz@infradead.org> - 2016-02-16 12:10 +0100
Re: [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Joonas Lahtinen <joonas.lahtinen@linux.intel.com> - 2016-02-17 13:50 +0100
Re: [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Peter Zijlstra <peterz@infradead.org> - 2016-02-17 15:30 +0100
Re: [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Peter Zijlstra <peterz@infradead.org> - 2016-02-17 17:20 +0100
Re: [Intel-gfx] [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Daniel Vetter <daniel@ffwll.ch> - 2016-02-17 17:40 +0100
Re: [Intel-gfx] [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Peter Zijlstra <peterz@infradead.org> - 2016-02-17 17:40 +0100
Re: [Intel-gfx] [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Joonas Lahtinen <joonas.lahtinen@linux.intel.com> - 2016-02-18 11:40 +0100
Re: [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Daniel Vetter <daniel@ffwll.ch> - 2016-02-17 17:20 +0100
Re: [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Joonas Lahtinen <joonas.lahtinen@linux.intel.com> - 2016-02-18 12:00 +0100
Re: [Intel-gfx] [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting Daniel Vetter <daniel@ffwll.ch> - 2016-02-15 18:20 +0100
csiph-web