This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: notify_page_fault() problem
- From: Andi Kleen <andi at firstfloor dot org>
- To: Quentin Barnes <qbarnes at urbana dot css dot mot dot com>
- Cc: systemtap at sources dot redhat dot com
- Date: 30 Apr 2007 23:23:22 +0200
- Subject: Re: notify_page_fault() problem
- References: <20070430201931.GA7328@urbana.css.mot.com>
Quentin Barnes <qbarnes@urbana.css.mot.com> writes:
> Now on i386's do_page_fault(), it avoids the above infinite
> recursion by checking to see if the fault happened in kernel space.
Actually the real avoidance is by calling vmalloc_sync_all() when
the notifier is registered. Probably you need to implement an equivalent
for ARM
> One thing I don't understand is why notify_page_fault() is called
> so early in everyone's page fault handling code.
So that users like kprobes don't deadlock on a fault inside
a region that takes the mm_sem (or some other lock taken by pf)
-Andi