Re: [PATCH 3/4] kernel.h: Add non_block_start/end()

2019-08-23 Thread Daniel Vetter
On Fri, Aug 23, 2019 at 4:06 PM Peter Zijlstra wrote: > On Fri, Aug 23, 2019 at 03:42:47PM +0200, Daniel Vetter wrote: > > I'm assuming the lockdep one will land, so not going to resend that. > > I was assuming you'd wake the might_lock_nested() along with the i915 > user through the i915/drm

Re: [PATCH 3/4] kernel.h: Add non_block_start/end()

2019-08-23 Thread Daniel Vetter
On Fri, Aug 23, 2019 at 2:12 PM Jason Gunthorpe wrote: > > On Fri, Aug 23, 2019 at 10:34:01AM +0200, Daniel Vetter wrote: > > On Fri, Aug 23, 2019 at 1:14 AM Andrew Morton > > wrote: > > > > > > On Tue, 20 Aug 2019 22:24:40 +0200 Daniel Vetter wrote: > > > > > > > Hi Peter, > > > > > > > >

Re: [PATCH 3/4] kernel.h: Add non_block_start/end()

2019-08-23 Thread Peter Zijlstra
On Fri, Aug 23, 2019 at 09:12:34AM -0300, Jason Gunthorpe wrote: > I still haven't heard a satisfactory answer why a whole new scheme is > needed and a simple: > >if (IS_ENABLED(CONFIG_DEBUG_ATOMIC_SLEEP)) > preempt_disable() > > isn't sufficient to catch the problematic cases

Re: [PATCH 3/4] kernel.h: Add non_block_start/end()

2019-08-23 Thread Peter Zijlstra
On Tue, Aug 20, 2019 at 10:24:40PM +0200, Daniel Vetter wrote: > On Tue, Aug 20, 2019 at 10:19:01AM +0200, Daniel Vetter wrote: > > In some special cases we must not block, but there's not a > > spinlock, preempt-off, irqs-off or similar critical section already > > that arms the might_sleep()

Re: [PATCH 3/4] kernel.h: Add non_block_start/end()

2019-08-23 Thread Daniel Vetter
On Fri, Aug 23, 2019 at 1:14 AM Andrew Morton wrote: > > On Tue, 20 Aug 2019 22:24:40 +0200 Daniel Vetter wrote: > > > Hi Peter, > > > > Iirc you've been involved at least somewhat in discussing this. -mm folks > > are a bit undecided whether these new non_block semantics are a good idea. > >

Re: [PATCH 3/4] kernel.h: Add non_block_start/end()

2019-08-22 Thread Andrew Morton
On Tue, 20 Aug 2019 22:24:40 +0200 Daniel Vetter wrote: > Hi Peter, > > Iirc you've been involved at least somewhat in discussing this. -mm folks > are a bit undecided whether these new non_block semantics are a good idea. > Michal Hocko still is in support, but Andrew Morton and Jason

Re: [PATCH 3/4] kernel.h: Add non_block_start/end()

2019-08-20 Thread Daniel Vetter
On Tue, Aug 20, 2019 at 10:19:01AM +0200, Daniel Vetter wrote: > In some special cases we must not block, but there's not a > spinlock, preempt-off, irqs-off or similar critical section already > that arms the might_sleep() debug checks. Add a non_block_start/end() > pair to annotate these. > >

[PATCH 3/4] kernel.h: Add non_block_start/end()

2019-08-20 Thread Daniel Vetter
In some special cases we must not block, but there's not a spinlock, preempt-off, irqs-off or similar critical section already that arms the might_sleep() debug checks. Add a non_block_start/end() pair to annotate these. This will be used in the oom paths of mmu-notifiers, where blocking is not