Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp3302492img; Mon, 25 Mar 2019 07:41:18 -0700 (PDT) X-Google-Smtp-Source: APXvYqwp+Ndw6Z7V6+7HaaG1iTRRc4BVrEREG+ek4ldslIbJn/P5TnJ1R/J68G2GjVRFDBr+m1fw X-Received: by 2002:a63:28c:: with SMTP id 134mr18488197pgc.278.1553524877913; Mon, 25 Mar 2019 07:41:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553524877; cv=none; d=google.com; s=arc-20160816; b=wiTyRKqNJia5F83YHE4E+OlzMo//Lyjsaz1Sb5JyHDx+LQjcsRSOJSDJYH5JJ8aoZh dulZiXNECblgiDw3c79VTsddoEjNt2Nb6S/sVRq6pbnpCIbOe1E6n8AmTUl+ZtI3SQuE X6/CCT2FKC1FDS8fgNJSj0Yt8eBVtQpmi86vhP4WGeyUzWsAcab/H+mnhOFO/54NQ3dv a/LGK/qnDfbgoi1xR6fmZdbqCaZ3I+L5iN+e6G7MACPpVsB+8TgX84jP80/T3M+BFAGZ gSukedfQtScsnbZINFKS/PsDvAY6S8TVn8xz753kQr/O1nJ/xauFkDf9U43GME0DPpgi 1hww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=jtubiF8dOMY7rDYGXJ5NcNneghyDcZXbXzBZlbzJKik=; b=sFawYVGUHJRbF+QEpeXqGoYb5euVW2qSpcLzJYt+pADZwGq7WfZYFmNedgtRuOgWLU n/bYASHTfXUl5QJqMzp7GHJenz0S/47DSVaiDXNQDLJHqg0fGSWUasqilENH3E+fUCCq Rx+yCVtnq8FUGKYwcFcyfmTuVIlNYEvvGRIME+0W4feTrdIeX4CU6DpohKT2GId7oeoh e+qhlZ7/SJMsyZnBllyInOr5d6CrQPsmtOiko3xSBh8psa3OfaryA4tz8ybxH3IHmBNm fiMew3oNCfxC1Sw5dZD8kI/xO6uLNEhs2pMT52XqV1SBiKtR4lhcfxX4sEAoBcR71BP+ PX8A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y5si6473022plp.192.2019.03.25.07.41.03; Mon, 25 Mar 2019 07:41:17 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729361AbfCYOkT (ORCPT + 99 others); Mon, 25 Mar 2019 10:40:19 -0400 Received: from mx1.redhat.com ([209.132.183.28]:40634 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729329AbfCYOkR (ORCPT ); Mon, 25 Mar 2019 10:40:17 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E301E3092657; Mon, 25 Mar 2019 14:40:16 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.20.6.236]) by smtp.corp.redhat.com (Postfix) with ESMTP id 53D421001DE4; Mon, 25 Mar 2019 14:40:16 +0000 (UTC) From: jglisse@redhat.com To: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , Andrew Morton , Dan Williams Subject: [PATCH v2 03/11] mm/hmm: do not erase snapshot when a range is invalidated Date: Mon, 25 Mar 2019 10:40:03 -0400 Message-Id: <20190325144011.10560-4-jglisse@redhat.com> In-Reply-To: <20190325144011.10560-1-jglisse@redhat.com> References: <20190325144011.10560-1-jglisse@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Mon, 25 Mar 2019 14:40:16 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jérôme Glisse Users of HMM might be using the snapshot information to do preparatory step like dma mapping pages to a device before checking for invalidation through hmm_vma_range_done() so do not erase that information and assume users will do the right thing. Signed-off-by: Jérôme Glisse Reviewed-by: Ralph Campbell Reviewed-by: John Hubbard Cc: Andrew Morton Cc: Dan Williams --- mm/hmm.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/mm/hmm.c b/mm/hmm.c index 306e57f7cded..213b0beee8d3 100644 --- a/mm/hmm.c +++ b/mm/hmm.c @@ -170,16 +170,10 @@ static int hmm_invalidate_range(struct hmm *hmm, bool device, spin_lock(&hmm->lock); list_for_each_entry(range, &hmm->ranges, list) { - unsigned long addr, idx, npages; - if (update->end < range->start || update->start >= range->end) continue; range->valid = false; - addr = max(update->start, range->start); - idx = (addr - range->start) >> PAGE_SHIFT; - npages = (min(range->end, update->end) - addr) >> PAGE_SHIFT; - memset(&range->pfns[idx], 0, sizeof(*range->pfns) * npages); } spin_unlock(&hmm->lock); -- 2.17.2