All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Lameter <clameter@sgi.com>
To: linux-kernel@vger.kernel.org
Cc: akpm@osdl.org, Hugh Dickins <hugh@veritas.com>,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	linux-mm@kvack.org, Andi Kleen <ak@suse.de>,
	Marcelo Tosatti <marcelo.tosatti@cyclades.com>,
	Christoph Lameter <clameter@sgi.com>
Subject: [RFC3 01/14] Add some consts for inlines in mm.h
Date: Wed, 14 Dec 2005 16:14:20 -0800 (PST)	[thread overview]
Message-ID: <20051215001420.31405.76332.sendpatchset@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <20051215001415.31405.24898.sendpatchset@schroedinger.engr.sgi.com>

[PATCH] const attributes for some inlines in mm.h

Const attributes allow the compiler to generate more efficient code by
allowing callers to keep arguments of struct page in registers.

Signed-off-by: Christoph Lameter <clameter@sgi.com>

Index: linux-2.6.15-rc5-mm2/include/linux/mm.h
===================================================================
--- linux-2.6.15-rc5-mm2.orig/include/linux/mm.h	2005-12-12 09:10:34.000000000 -0800
+++ linux-2.6.15-rc5-mm2/include/linux/mm.h	2005-12-14 14:39:50.000000000 -0800
@@ -456,7 +456,7 @@ void put_page(struct page *page);
 #define SECTIONS_MASK		((1UL << SECTIONS_WIDTH) - 1)
 #define ZONETABLE_MASK		((1UL << ZONETABLE_SHIFT) - 1)
 
-static inline unsigned long page_zonenum(struct page *page)
+static inline unsigned long page_zonenum(const struct page *page)
 {
 	return (page->flags >> ZONES_PGSHIFT) & ZONES_MASK;
 }
@@ -464,20 +464,20 @@ static inline unsigned long page_zonenum
 struct zone;
 extern struct zone *zone_table[];
 
-static inline struct zone *page_zone(struct page *page)
+static inline struct zone *page_zone(const struct page *page)
 {
 	return zone_table[(page->flags >> ZONETABLE_PGSHIFT) &
 			ZONETABLE_MASK];
 }
 
-static inline unsigned long page_to_nid(struct page *page)
+static inline unsigned long page_to_nid(const struct page *page)
 {
 	if (FLAGS_HAS_NODE)
 		return (page->flags >> NODES_PGSHIFT) & NODES_MASK;
 	else
 		return page_zone(page)->zone_pgdat->node_id;
 }
-static inline unsigned long page_to_section(struct page *page)
+static inline unsigned long page_to_section(const struct page *page)
 {
 	return (page->flags >> SECTIONS_PGSHIFT) & SECTIONS_MASK;
 }
@@ -511,7 +511,7 @@ static inline void set_page_links(struct
 extern struct page *mem_map;
 #endif
 
-static inline void *lowmem_page_address(struct page *page)
+static inline void *lowmem_page_address(const struct page *page)
 {
 	return __va(page_to_pfn(page) << PAGE_SHIFT);
 }
@@ -553,7 +553,7 @@ void page_address_init(void);
 #define PAGE_MAPPING_ANON	1
 
 extern struct address_space swapper_space;
-static inline struct address_space *page_mapping(struct page *page)
+static inline struct address_space *page_mapping(const struct page *page)
 {
 	struct address_space *mapping = page->mapping;
 
@@ -564,7 +564,7 @@ static inline struct address_space *page
 	return mapping;
 }
 
-static inline int PageAnon(struct page *page)
+static inline int PageAnon(const struct page *page)
 {
 	return ((unsigned long)page->mapping & PAGE_MAPPING_ANON) != 0;
 }
@@ -573,7 +573,7 @@ static inline int PageAnon(struct page *
  * Return the pagecache index of the passed page.  Regular pagecache pages
  * use ->index whereas swapcache pages use ->private
  */
-static inline pgoff_t page_index(struct page *page)
+static inline pgoff_t page_index(const struct page *page)
 {
 	if (unlikely(PageSwapCache(page)))
 		return page_private(page);
@@ -590,7 +590,7 @@ static inline void reset_page_mapcount(s
 	atomic_set(&(page)->_mapcount, -1);
 }
 
-static inline int page_mapcount(struct page *page)
+static inline int page_mapcount(const struct page *page)
 {
 	return atomic_read(&(page)->_mapcount) + 1;
 }
@@ -598,7 +598,7 @@ static inline int page_mapcount(struct p
 /*
  * Return true if this page is mapped into pagetables.
  */
-static inline int page_mapped(struct page *page)
+static inline int page_mapped(const struct page *page)
 {
 	return atomic_read(&(page)->_mapcount) >= 0;
 }

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Lameter <clameter@sgi.com>
To: linux-kernel@vger.kernel.org
Cc: akpm@osdl.org, Hugh Dickins <hugh@veritas.com>,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	linux-mm@kvack.org, Andi Kleen <ak@suse.de>,
	Marcelo Tosatti <marcelo.tosatti@cyclades.com>,
	Christoph Lameter <clameter@sgi.com>
Subject: [RFC3 01/14] Add some consts for inlines in mm.h
Date: Wed, 14 Dec 2005 16:14:20 -0800 (PST)	[thread overview]
Message-ID: <20051215001420.31405.76332.sendpatchset@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <20051215001415.31405.24898.sendpatchset@schroedinger.engr.sgi.com>

[PATCH] const attributes for some inlines in mm.h

Const attributes allow the compiler to generate more efficient code by
allowing callers to keep arguments of struct page in registers.

Signed-off-by: Christoph Lameter <clameter@sgi.com>

Index: linux-2.6.15-rc5-mm2/include/linux/mm.h
===================================================================
--- linux-2.6.15-rc5-mm2.orig/include/linux/mm.h	2005-12-12 09:10:34.000000000 -0800
+++ linux-2.6.15-rc5-mm2/include/linux/mm.h	2005-12-14 14:39:50.000000000 -0800
@@ -456,7 +456,7 @@ void put_page(struct page *page);
 #define SECTIONS_MASK		((1UL << SECTIONS_WIDTH) - 1)
 #define ZONETABLE_MASK		((1UL << ZONETABLE_SHIFT) - 1)
 
-static inline unsigned long page_zonenum(struct page *page)
+static inline unsigned long page_zonenum(const struct page *page)
 {
 	return (page->flags >> ZONES_PGSHIFT) & ZONES_MASK;
 }
@@ -464,20 +464,20 @@ static inline unsigned long page_zonenum
 struct zone;
 extern struct zone *zone_table[];
 
-static inline struct zone *page_zone(struct page *page)
+static inline struct zone *page_zone(const struct page *page)
 {
 	return zone_table[(page->flags >> ZONETABLE_PGSHIFT) &
 			ZONETABLE_MASK];
 }
 
-static inline unsigned long page_to_nid(struct page *page)
+static inline unsigned long page_to_nid(const struct page *page)
 {
 	if (FLAGS_HAS_NODE)
 		return (page->flags >> NODES_PGSHIFT) & NODES_MASK;
 	else
 		return page_zone(page)->zone_pgdat->node_id;
 }
-static inline unsigned long page_to_section(struct page *page)
+static inline unsigned long page_to_section(const struct page *page)
 {
 	return (page->flags >> SECTIONS_PGSHIFT) & SECTIONS_MASK;
 }
@@ -511,7 +511,7 @@ static inline void set_page_links(struct
 extern struct page *mem_map;
 #endif
 
-static inline void *lowmem_page_address(struct page *page)
+static inline void *lowmem_page_address(const struct page *page)
 {
 	return __va(page_to_pfn(page) << PAGE_SHIFT);
 }
@@ -553,7 +553,7 @@ void page_address_init(void);
 #define PAGE_MAPPING_ANON	1
 
 extern struct address_space swapper_space;
-static inline struct address_space *page_mapping(struct page *page)
+static inline struct address_space *page_mapping(const struct page *page)
 {
 	struct address_space *mapping = page->mapping;
 
@@ -564,7 +564,7 @@ static inline struct address_space *page
 	return mapping;
 }
 
-static inline int PageAnon(struct page *page)
+static inline int PageAnon(const struct page *page)
 {
 	return ((unsigned long)page->mapping & PAGE_MAPPING_ANON) != 0;
 }
@@ -573,7 +573,7 @@ static inline int PageAnon(struct page *
  * Return the pagecache index of the passed page.  Regular pagecache pages
  * use ->index whereas swapcache pages use ->private
  */
-static inline pgoff_t page_index(struct page *page)
+static inline pgoff_t page_index(const struct page *page)
 {
 	if (unlikely(PageSwapCache(page)))
 		return page_private(page);
@@ -590,7 +590,7 @@ static inline void reset_page_mapcount(s
 	atomic_set(&(page)->_mapcount, -1);
 }
 
-static inline int page_mapcount(struct page *page)
+static inline int page_mapcount(const struct page *page)
 {
 	return atomic_read(&(page)->_mapcount) + 1;
 }
@@ -598,7 +598,7 @@ static inline int page_mapcount(struct p
 /*
  * Return true if this page is mapped into pagetables.
  */
-static inline int page_mapped(struct page *page)
+static inline int page_mapped(const struct page *page)
 {
 	return atomic_read(&(page)->_mapcount) >= 0;
 }

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2005-12-15  0:15 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-15  0:14 [RFC3 00/14] Zoned VM stats Christoph Lameter
2005-12-15  0:14 ` Christoph Lameter
2005-12-15  0:14 ` Christoph Lameter [this message]
2005-12-15  0:14   ` [RFC3 01/14] Add some consts for inlines in mm.h Christoph Lameter
2005-12-15  1:01   ` J.A. Magallon
2005-12-15  1:01     ` J.A. Magallon
2005-12-15  0:14 ` [RFC3 02/14] Basic counter functionality Christoph Lameter
2005-12-15  0:14   ` Christoph Lameter
2005-12-17  4:01   ` Marcelo Tosatti
2005-12-17  4:01     ` Marcelo Tosatti
2005-12-17  4:19     ` Marcelo Tosatti
2005-12-17  4:19       ` Marcelo Tosatti
2005-12-19 17:58     ` Christoph Lameter
2005-12-19 17:58       ` Christoph Lameter
2005-12-15  0:14 ` [RFC3 03/14] Convert nr_mapped Christoph Lameter
2005-12-15  0:14   ` Christoph Lameter
2005-12-15  0:14 ` [RFC3 04/14] Convert nr_pagecache Christoph Lameter
2005-12-15  0:14   ` Christoph Lameter
2005-12-15  0:14 ` [RFC3 05/14] Resurrect scan_control.may_swap Christoph Lameter
2005-12-15  0:14   ` Christoph Lameter
2005-12-15  0:14 ` [RFC3 06/14] Zone Reclaim Christoph Lameter
2005-12-15  0:14   ` Christoph Lameter
2005-12-15  0:14 ` [RFC3 07/14] Expanded node and zone statistics Christoph Lameter
2005-12-15  0:14   ` Christoph Lameter
2005-12-15  0:14 ` [RFC3 08/14] Convert nr_slab Christoph Lameter
2005-12-15  0:14   ` Christoph Lameter
2005-12-15  0:15 ` [RFC3 09/14] Convert nr_page_table Christoph Lameter
2005-12-15  0:15   ` Christoph Lameter
2005-12-15  0:15 ` [RFC3 10/14] Convert nr_dirty Christoph Lameter
2005-12-15  0:15   ` Christoph Lameter
2005-12-15  0:15 ` [RFC3 11/14] Convert nr_writeback Christoph Lameter
2005-12-15  0:15   ` Christoph Lameter
2005-12-15  0:15 ` [RFC3 12/14] Convert nr_unstable Christoph Lameter
2005-12-15  0:15   ` Christoph Lameter
2005-12-15  0:15 ` [RFC3 13/14] Remove get_page_state functions Christoph Lameter
2005-12-15  0:15   ` Christoph Lameter
2005-12-15  0:15 ` [RFC3 14/14] Remove wbs Christoph Lameter
2005-12-15  0:15   ` Christoph Lameter
  -- strict thread matches above, loose matches on Subject: below --
2005-12-15  0:31 [RFC3 00/14] Zoned VM stats Christoph Lameter
2005-12-15  0:31 ` [RFC3 01/14] Add some consts for inlines in mm.h Christoph Lameter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20051215001420.31405.76332.sendpatchset@schroedinger.engr.sgi.com \
    --to=clameter@sgi.com \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=hugh@veritas.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=marcelo.tosatti@cyclades.com \
    --cc=nickpiggin@yahoo.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.