From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752468Ab0DZXPp (ORCPT ); Mon, 26 Apr 2010 19:15:45 -0400 Received: from mail-iw0-f202.google.com ([209.85.223.202]:49408 "EHLO mail-iw0-f202.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751622Ab0DZXPn (ORCPT ); Mon, 26 Apr 2010 19:15:43 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=YJa75r8B7zym68o0Z4eovT/fTmqYed7JS6tSY+HrYbz/Vwo1x57T+aJ07bARosp58C 2N6h88DFKs1OrAclAslzpdbvrLXeurdbWJeIaJm6xHTIx6Aq6xFUc/bNfCfvzSwUbbS6 gIfbTfShEUIBn/o7k0QlmHWPcHez5mfs56Mdo= MIME-Version: 1.0 In-Reply-To: <1272321478-28481-3-git-send-email-mel@csn.ul.ie> References: <1272321478-28481-1-git-send-email-mel@csn.ul.ie> <1272321478-28481-3-git-send-email-mel@csn.ul.ie> Date: Tue, 27 Apr 2010 08:15:43 +0900 Message-ID: Subject: Re: [PATCH 2/2] mm,migration: Prevent rmap_walk_[anon|ksm] seeing the wrong VMA information From: Minchan Kim To: Mel Gorman Cc: Linux-MM , LKML , KAMEZAWA Hiroyuki , Christoph Lameter , Andrea Arcangeli , Rik van Riel , Andrew Morton Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 27, 2010 at 7:37 AM, Mel Gorman wrote: > vma_adjust() is updating anon VMA information without any locks taken. > In contrast, file-backed mappings use the i_mmap_lock and this lack of > locking can result in races with page migration. During rmap_walk(), > vma_address() can return -EFAULT for an address that will soon be valid. > This leaves a dangling migration PTE behind which can later cause a BUG_ON > to trigger when the page is faulted in. > > With the recent anon_vma changes, there can be more than one anon_vma->lock > that can be taken in a anon_vma_chain but a second lock cannot be spinned > upon in case of deadlock. Instead, the rmap walker tries to take locks of > different anon_vma's. If the attempt fails, the operation is restarted. > > Signed-off-by: Mel Gorman Actually, I am worry about rollback approach like this. If we don't often need anon_vmas serializing, that's enough. But I am not sure how often we need locking of anon_vmas like this. Whenever we need it, we have to use rollback approach like this in future. In my opinion, it's not good. Rik, can't we make anon_vma locks more simple? Anyway, Mel's patch is best now. I hope improving locks of anon_vmas without rollback approach in near future. Thanks, Mel. -- Kind regards, Minchan Kim