Re: [RFC][PATCH 6/8] mm: handle_speculative_fault()

From: Christoph Lameter
Date: Thu Jan 07 2010 - 14:25:23 EST


On Thu, 7 Jan 2010, Linus Torvalds wrote:

> + if (brk < cur_brk)
> + goto slow_case;
> + if (brk == cur_brk)
> + goto out;
> +
> + vma = ok_to_extend_brk(mm, cur_brk, brk);
> + if (!vma)
> + goto slow_case;
> +
> + spin_lock(&mm->page_table_lock);


page_table_lock used to serialize multiple fast brks?

CONFIG_SPLIT_PTLOCK implies that code will not use this lock in fault
handling. So no serialization with faults.

Also the current code assumes vm_end and so on to be stable if mmap_sem is
held. F.e. find_vma() from do_fault is now running while vm_end may be changing
under it.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/