Messages in this thread | | | Subject | Re: [PATCH v2 7/9] trace_uprobe/sdt: Fix multiple update of same reference counter | From | Ravi Bangoria <> | Date | Wed, 11 Apr 2018 09:58:13 +0530 |
| |
Hi Oleg,
On 04/10/2018 04:36 PM, Oleg Nesterov wrote: > Hi Ravi, > > On 04/10, Ravi Bangoria wrote: >>> and what if __mmu_notifier_register() fails simply because signal_pending() == T? >>> see mm_take_all_locks(). >>> >>> at first glance this all look suspicious and sub-optimal, >> Yes. I should have added checks for failure cases. >> Will fix them in v3. > And what can you do if it fails? Nothing except report the problem. But > signal_pending() is not the unlikely or error condition, it should not > cause the tracing errors.
...
> Plus mm_take_all_locks() is very heavy... BTW, uprobe_mmap_callback() is > called unconditionally. Whatever it does, can we at least move it after > the no_uprobe_events() check? Can't we also check MMF_HAS_UPROBES?
Sure, I'll move it after these conditions.
> Either way, I do not feel that mmu_notifier is the right tool... Did you > consider the uprobe_clear_state() hook we already have?
Ah! This is really a good idea. We don't need mmu_notifier then.
Thanks for suggestion, Ravi
| |