Messages in this thread | | | Date | Fri, 10 Mar 2017 09:45:22 +0900 | From | Minchan Kim <> | Subject | Re: "mm: fix lazyfree BUG_ON check in try_to_unmap_one()" build error |
| |
Hi Andrew,
On Thu, Mar 09, 2017 at 01:27:06PM -0800, Andrew Morton wrote: > On Thu, 9 Mar 2017 15:02:26 +0900 Minchan Kim <minchan@kernel.org> wrote: > > > Sergey reported VM_WARN_ON_ONCE returns void with !CONFIG_DEBUG_VM > > so we cannot use it as if's condition unlike WARN_ON. > > Can we instead fix VM_WARN_ON_ONCE()?
I thought the direction but the reason to decide WARN_ON_ONCE in this case is losing of benefit with using CONFIG_DEBU_VM if we go that way.
I think the benefit with VM_WARN_ON friends is that it should be completely out from the binary in !CONFIG_DEBUG_VM. However, if we fix VM_WARN_ON like WARN_ON to !!condition, at least, compiler should generate condition check and return so it's not what CONFIG_DEBUG_VM want, IMHO. However, if guys believe it's okay to add some instructions to debug VM although we disable CONFIG_DEBUG_VM, we can go that way. It's a just policy matter. ;-)
Anyway, Even though we fix VM_WARN_ON_ONCE, in my case, WARN_ON_ONCE is better because we should do !!condition regardless of CONFIG_DEBUG_VM and if so, WARN_ON is more wide coverage than VM_WARN_ON which only works with CONFIG_DEBUG_VM.
Thanks.
| |