Re: what is the state of current after an mm_fault occurs?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Christoph Lameter <[email protected]> wrote:
>
> On Wed, 4 Jan 2006, Andrew Morton wrote:
> 
> > >  You mean in some pagefault place we do schedule()?
> > 
> > We used to - that should no longer be the case.  The TASK_RUNNING thing is
> > probably redundant now.
> 
> The page fault handler calls the page allocator in various places 
> which may sleep. 

That's OK - they should all do set_current_state() before sleeping.  It's
the bare schedule() without previously setting TASK_foo which is the
problem.  We used to do that sort of thing in 2.4 as a lame yield point but
we really shouldn't be doing that at all anywhere any more.

> current may not point to the current process if the page fault handler was 
> called from get_user_pages.

current always points at the current process.  In the situation
ptrace->access_process_vm->get_user_pages->pagefault we'll have mm !=
current->mm.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux