From: Andy Whitcroft <apw@shadowen.org>
To: Mike Kravetz <kravetz@us.ibm.com>
Cc: Andy Whitcroft <apw@shadowen.org>,
Anton Blanchard <anton@samba.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: [PATCH 3/3] sparse provide pfn_to_nid
Date: Wed, 16 Nov 2005 23:00:23 +0000 [thread overview]
Message-ID: <20051116230023.GA16493@shadowen.org> (raw)
In-Reply-To: exportbomb.1132181992@pinky
sparsemem: provide pfn_to_nid
Before SPARSEMEM is initialised we cannot provide an efficient
pfn_to_nid() implmentation; before initialisation is complete we use
early_pfn_to_nid() to provide location information. Until recently
there was no non-init user of this functionality. Provide a post
init pfn_to_nid() implementation.
Note that this implmentation assumes that the pfn passed has
been validated with pfn_valid(). The current single user of this
function already has this check.
Signed-off-by: Andy Whitcroft <apw@shadowen.org>
---
mmzone.h | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff -upN reference/include/linux/mmzone.h current/include/linux/mmzone.h
--- reference/include/linux/mmzone.h
+++ current/include/linux/mmzone.h
@@ -598,14 +598,11 @@ static inline int pfn_valid(unsigned lon
return valid_section(__nr_to_section(pfn_to_section_nr(pfn)));
}
-/*
- * These are _only_ used during initialisation, therefore they
- * can use __initdata ... They could have names to indicate
- * this restriction.
- */
-#ifdef CONFIG_NUMA
-#define pfn_to_nid early_pfn_to_nid
-#endif
+#define pfn_to_nid(pfn) \
+({ \
+ unsigned long __pfn = (pfn); \
+ page_to_nid(pfn_to_page(pfn)); \
+})
#define early_pfn_valid(pfn) pfn_valid(pfn)
void sparse_init(void);
WARNING: multiple messages have this Message-ID (diff)
From: Andy Whitcroft <apw@shadowen.org>
To: Mike Kravetz <kravetz@us.ibm.com>
Cc: Andy Whitcroft <apw@shadowen.org>,
Anton Blanchard <anton@samba.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: [PATCH 3/3] sparse provide pfn_to_nid
Date: Wed, 16 Nov 2005 23:00:23 +0000 [thread overview]
Message-ID: <20051116230023.GA16493@shadowen.org> (raw)
In-Reply-To: exportbomb.1132181992@pinky
Before SPARSEMEM is initialised we cannot provide an efficient
pfn_to_nid() implmentation; before initialisation is complete we use
early_pfn_to_nid() to provide location information. Until recently
there was no non-init user of this functionality. Provide a post
init pfn_to_nid() implementation.
Note that this implmentation assumes that the pfn passed has
been validated with pfn_valid(). The current single user of this
function already has this check.
Signed-off-by: Andy Whitcroft <apw@shadowen.org>
---
mmzone.h | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff -upN reference/include/linux/mmzone.h current/include/linux/mmzone.h
--- reference/include/linux/mmzone.h
+++ current/include/linux/mmzone.h
@@ -598,14 +598,11 @@ static inline int pfn_valid(unsigned lon
return valid_section(__nr_to_section(pfn_to_section_nr(pfn)));
}
-/*
- * These are _only_ used during initialisation, therefore they
- * can use __initdata ... They could have names to indicate
- * this restriction.
- */
-#ifdef CONFIG_NUMA
-#define pfn_to_nid early_pfn_to_nid
-#endif
+#define pfn_to_nid(pfn) \
+({ \
+ unsigned long __pfn = (pfn); \
+ page_to_nid(pfn_to_page(pfn)); \
+})
#define early_pfn_valid(pfn) pfn_valid(pfn)
void sparse_init(void);
--
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>
next prev parent reply other threads:[~2005-11-16 23:00 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-15 22:10 pfn_to_nid under CONFIG_SPARSEMEM and CONFIG_NUMA Mike Kravetz
2005-11-15 22:10 ` Mike Kravetz
2005-11-16 3:14 ` Yasunori Goto
2005-11-16 3:14 ` Yasunori Goto
2005-11-16 13:00 ` Robin Holt
2005-11-16 13:00 ` Robin Holt
2005-11-16 13:25 ` Andy Whitcroft
2005-11-16 13:25 ` Andy Whitcroft
2005-11-16 22:59 ` [PATCH 0/3] SPARSEMEM: pfn_to_nid implementation Andy Whitcroft
2005-11-16 22:59 ` Andy Whitcroft
2005-11-16 23:00 ` [PATCH 1/3] kvaddr_to_nid not used in common code Andy Whitcroft
2005-11-16 23:00 ` Andy Whitcroft
2005-11-16 23:00 ` [PATCH 2/3] pfn_to_pgdat " Andy Whitcroft
2005-11-16 23:00 ` Andy Whitcroft
2005-11-16 23:00 ` Andy Whitcroft [this message]
2005-11-16 23:00 ` [PATCH 3/3] sparse provide pfn_to_nid Andy Whitcroft
2005-11-20 7:31 ` Andrew Morton
2005-11-20 7:31 ` Andrew Morton
2005-11-20 12:21 ` Andy Whitcroft
2005-11-20 12:21 ` Andy Whitcroft
2005-11-22 18:07 ` [PATCH 0/2] SPARSEMEM: pfn_to_nid implementation v2 Andy Whitcroft
2005-11-22 18:07 ` Andy Whitcroft
2005-11-22 18:07 ` [PATCH 1/2] flatmem split out memory model Andy Whitcroft
2005-11-22 18:07 ` Andy Whitcroft
2005-11-22 18:07 ` [PATCH 2/2] sparse provide pfn_to_nid Andy Whitcroft
2005-11-22 18:07 ` Andy Whitcroft
2005-11-17 0:06 ` [PATCH 0/3] SPARSEMEM: pfn_to_nid implementation Mike Kravetz
2005-11-17 0:06 ` Mike Kravetz
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=20051116230023.GA16493@shadowen.org \
--to=apw@shadowen.org \
--cc=anton@samba.org \
--cc=kravetz@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
/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.