Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932192AbVIYPuS (ORCPT ); Sun, 25 Sep 2005 11:50:18 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932229AbVIYPuS (ORCPT ); Sun, 25 Sep 2005 11:50:18 -0400 Received: from silver.veritas.com ([143.127.12.111]:24246 "EHLO silver.veritas.com") by vger.kernel.org with ESMTP id S932231AbVIYPuQ (ORCPT ); Sun, 25 Sep 2005 11:50:16 -0400 Date: Sun, 25 Sep 2005 16:49:50 +0100 (BST) From: Hugh Dickins X-X-Sender: hugh@goblin.wat.veritas.com To: Andrew Morton cc: linux-kernel@vger.kernel.org Subject: [PATCH 04/21] mm: zap_pte_range dont dirty anon In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-OriginalArrivalTime: 25 Sep 2005 15:50:15.0875 (UTC) FILETIME=[D289D930:01C5C1E8] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1263 Lines: 36 zap_pte_range already avoids wasting time to mark_page_accessed on anon pages: it can also skip anon set_page_dirty - the page only needs to be marked dirty if shared with another mm, but that will say pte_dirty too. Signed-off-by: Hugh Dickins --- mm/memory.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) --- mm03/mm/memory.c 2005-09-24 19:26:38.000000000 +0100 +++ mm04/mm/memory.c 2005-09-24 19:27:05.000000000 +0100 @@ -574,12 +574,14 @@ static void zap_pte_range(struct mmu_gat addr) != page->index) set_pte_at(tlb->mm, addr, pte, pgoff_to_pte(page->index)); - if (pte_dirty(ptent)) - set_page_dirty(page); if (PageAnon(page)) dec_mm_counter(tlb->mm, anon_rss); - else if (pte_young(ptent)) - mark_page_accessed(page); + else { + if (pte_dirty(ptent)) + set_page_dirty(page); + if (pte_young(ptent)) + mark_page_accessed(page); + } tlb->freed++; page_remove_rmap(page); tlb_remove_page(tlb, page); - 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/