Messages in this thread | | | Date | Thu, 7 Sep 2017 17:21:07 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH] lockdep: Remove unnecessary acquisitions wrt workqueue flush |
| |
On Thu, Sep 07, 2017 at 08:37:08PM +0900, Byungchul Park wrote: > On Thu, Sep 7, 2017 at 6:41 PM, Peter Zijlstra <peterz@infradead.org> wrote: > > On Thu, Sep 07, 2017 at 09:33:16AM +0900, Byungchul Park wrote: > >> Workqueue added manual acquisitions to catch deadlock cases. Now > >> crossrelease was introduced, some of those are redundant because > >> crossrelease-enabled wait_for_completeion() also does it. Removed it. > > > > This does not explain how it doesn't become the regular timing dependent > > stuff cross-release normally is. > > Yes, I will add more explanation for it at the next spin. > > But, let me explain it a bit here to help you get it, since it's very > simple. This has nothing to do with 'might' thing I introduced > previously. For 'might' thing, I will start it after getting your response. > > Here, I just removed acquire() because wait_for_completion() > already includes the acquire() by LOCKDEP_COMPLETIONS. > That's all.
Ah I see, but it does so using some fairly nasty completion init stuff. The old code was far easier to read.
| |