Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761309AbZCPS4I (ORCPT ); Mon, 16 Mar 2009 14:56:08 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756880AbZCPSy6 (ORCPT ); Mon, 16 Mar 2009 14:54:58 -0400 Received: from smtp.ultrahosting.com ([74.213.174.254]:33283 "EHLO smtp.ultrahosting.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756162AbZCPSy4 (ORCPT ); Mon, 16 Mar 2009 14:54:56 -0400 Date: Mon, 16 Mar 2009 12:17:15 -0400 (EDT) From: Christoph Lameter X-X-Sender: cl@qirst.com To: Mel Gorman cc: Linux Memory Management List , Pekka Enberg , Rik van Riel , KOSAKI Motohiro , Johannes Weiner , Nick Piggin , Linux Kernel Mailing List , Lin Ming , Zhang Yanmin , Peter Zijlstra Subject: Re: [PATCH 23/35] Update NR_FREE_PAGES only as necessary In-Reply-To: <1237196790-7268-24-git-send-email-mel@csn.ul.ie> Message-ID: References: <1237196790-7268-1-git-send-email-mel@csn.ul.ie> <1237196790-7268-24-git-send-email-mel@csn.ul.ie> User-Agent: Alpine 1.10 (DEB 962 2008-03-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1040 Lines: 25 On Mon, 16 Mar 2009, Mel Gorman wrote: > When pages are being freed to the buddy allocator, the zone > NR_FREE_PAGES counter must be updated. In the case of bulk per-cpu page > freeing, it's updated once per page. This retouches cache lines more > than necessary. Update the counters one per per-cpu bulk free. Not sure about the reasoning here since the individual updates are batched and you are touching the same cacheline as the pcp you are operating on and have to touch anyways. But if its frequent that __rmqueue_smallest() and free_pages_bulk() are called with multiple pages then its always a win. Reviewed-by: Christoph Lameter > + __mod_zone_page_state(zone, NR_FREE_PAGES, -(1UL << order) * i); A multiplication? Okay with contemporary cpus I guess. -- 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/