Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755124AbbFLXh1 (ORCPT ); Fri, 12 Jun 2015 19:37:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41807 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751590AbbFLXh0 (ORCPT ); Fri, 12 Jun 2015 19:37:26 -0400 Date: Sat, 13 Jun 2015 01:36:21 +0200 From: Oleg Nesterov To: Boris Ostrovsky Cc: Ingo Molnar , Linus Torvalds , Waiman Long , Thomas Gleixner , Denys Vlasenko , Borislav Petkov , Andrew Morton , Andy Lutomirski , linux-mml@vger.kernel.org, Linux Kernel Mailing List , Brian Gerst , "H. Peter Anvin" , Peter Zijlstra Subject: Re: [PATCH 07/12] x86/virt/guest/xen: Remove use of pgd_list from the Xen guest code Message-ID: <20150612233620.GA26205@redhat.com> References: <1434031637-9091-1-git-send-email-mingo@kernel.org> <1434031637-9091-8-git-send-email-mingo@kernel.org> <20150612072302.GA7509@gmail.com> <20150612080425.GC8759@gmail.com> <20150612203832.GA18966@redhat.com> <20150612205331.GB18966@redhat.com> <557B5D7E.8080607@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <557B5D7E.8080607@oracle.com> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1088 Lines: 38 On 06/12, Boris Ostrovsky wrote: > > On 06/12/2015 04:53 PM, Oleg Nesterov wrote: >>> >>> for_each_process(p) { >>> >>> for_each_thread(p, t) { >>> if (t->mm) { >>> do_something(t->mm); >>> break; >>> } >>> } >>> } >>> >>> But either way I don't understand what protects this ->mm. Perhaps this needs >>> find_lock_task_mm(). >> >> And, I don't understand this code, probably this doesn't matter, but. >> >> unpin_all() is probably fine, but xen_mm_pin_all() can race with fork() >> and miss the new child. Is it OK? > > > Currently xen_mm_pin_all() is only called in the suspend path, out of > stop_machine(), so presumably at that time fork is not possible. OK, thanks, this also means that this code shouldn't worry about ->mm, it should be stable. But for_each_process() in sync_global_pgds() should, afaics. Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/