From: Toshi Kani <toshi.kani@hpe.com> To: akpm@linux-foundation.org, bp@alien8.de Cc: linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Dan Williams <dan.j.williams@intel.com>, Toshi Kani <toshi.kani@hpe.com> Subject: [PATCH v2 10/16] resource: Change walk_system_ram to use System RAM type Date: Fri, 25 Dec 2015 15:09:19 -0700 [thread overview] Message-ID: <1451081365-15190-10-git-send-email-toshi.kani@hpe.com> (raw) In-Reply-To: <1451081365-15190-1-git-send-email-toshi.kani@hpe.com> Now that all System RAM resource entries have been initialized to IORESOURCE_SYSTEM_RAM type, change walk_system_ram_res() and walk_system_ram_range() to call find_next_iomem_res() by setting IORESOURCE_SYSTEM_RAM to @res.flags and NULL to @name. With this change, they walk through the iomem table to find System RAM ranges without using strcmp(). No functional change is made to the interfaces. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Toshi Kani <toshi.kani@hpe.com> --- kernel/resource.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/kernel/resource.c b/kernel/resource.c index 65eca4d..1d3ea50 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -415,9 +415,9 @@ int walk_iomem_res(char *name, unsigned long flags, u64 start, u64 end, } /* - * This function calls callback against all memory range of "System RAM" - * which are marked as IORESOURCE_MEM and IORESOUCE_BUSY. - * Now, this function is only for "System RAM". This function deals with + * This function calls callback against all memory range of System RAM + * which are marked as IORESOURCE_SYSTEM_RAM and IORESOUCE_BUSY. + * Now, this function is only for System RAM. This function deals with * full ranges and not pfn. If resources are not pfn aligned, dealing * with pfn can truncate ranges. */ @@ -430,10 +430,10 @@ int walk_system_ram_res(u64 start, u64 end, void *arg, res.start = start; res.end = end; - res.flags = IORESOURCE_MEM | IORESOURCE_BUSY; + res.flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; orig_end = res.end; while ((res.start < res.end) && - (!find_next_iomem_res(&res, "System RAM", true))) { + (!find_next_iomem_res(&res, NULL, true))) { ret = (*func)(res.start, res.end, arg); if (ret) break; @@ -446,9 +446,9 @@ int walk_system_ram_res(u64 start, u64 end, void *arg, #if !defined(CONFIG_ARCH_HAS_WALK_MEMORY) /* - * This function calls callback against all memory range of "System RAM" - * which are marked as IORESOURCE_MEM and IORESOUCE_BUSY. - * Now, this function is only for "System RAM". + * This function calls callback against all memory range of System RAM + * which are marked as IORESOURCE_SYSTEM_RAM and IORESOUCE_BUSY. + * Now, this function is only for System RAM. */ int walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages, void *arg, int (*func)(unsigned long, unsigned long, void *)) @@ -460,10 +460,10 @@ int walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages, res.start = (u64) start_pfn << PAGE_SHIFT; res.end = ((u64)(start_pfn + nr_pages) << PAGE_SHIFT) - 1; - res.flags = IORESOURCE_MEM | IORESOURCE_BUSY; + res.flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; orig_end = res.end; while ((res.start < res.end) && - (find_next_iomem_res(&res, "System RAM", true) >= 0)) { + (find_next_iomem_res(&res, NULL, true) >= 0)) { pfn = (res.start + PAGE_SIZE - 1) >> PAGE_SHIFT; end_pfn = (res.end + 1) >> PAGE_SHIFT; if (end_pfn > pfn) @@ -484,7 +484,7 @@ static int __is_ram(unsigned long pfn, unsigned long nr_pages, void *arg) } /* * This generic page_is_ram() returns true if specified address is - * registered as "System RAM" in iomem_resource list. + * registered as System RAM in iomem_resource list. */ int __weak page_is_ram(unsigned long pfn) { -- 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>
WARNING: multiple messages have this Message-ID (diff)
From: Toshi Kani <toshi.kani@hpe.com> To: akpm@linux-foundation.org, bp@alien8.de Cc: linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Dan Williams <dan.j.williams@intel.com>, Toshi Kani <toshi.kani@hpe.com> Subject: [PATCH v2 10/16] resource: Change walk_system_ram to use System RAM type Date: Fri, 25 Dec 2015 15:09:19 -0700 [thread overview] Message-ID: <1451081365-15190-10-git-send-email-toshi.kani@hpe.com> (raw) Message-ID: <20151225220919.9DKJRuc1LjHzM3m9rXU-wkQLed21bJqI6etgucSg7uI@z> (raw) In-Reply-To: <1451081365-15190-1-git-send-email-toshi.kani@hpe.com> Now that all System RAM resource entries have been initialized to IORESOURCE_SYSTEM_RAM type, change walk_system_ram_res() and walk_system_ram_range() to call find_next_iomem_res() by setting IORESOURCE_SYSTEM_RAM to @res.flags and NULL to @name. With this change, they walk through the iomem table to find System RAM ranges without using strcmp(). No functional change is made to the interfaces. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Toshi Kani <toshi.kani@hpe.com> --- kernel/resource.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/kernel/resource.c b/kernel/resource.c index 65eca4d..1d3ea50 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -415,9 +415,9 @@ int walk_iomem_res(char *name, unsigned long flags, u64 start, u64 end, } /* - * This function calls callback against all memory range of "System RAM" - * which are marked as IORESOURCE_MEM and IORESOUCE_BUSY. - * Now, this function is only for "System RAM". This function deals with + * This function calls callback against all memory range of System RAM + * which are marked as IORESOURCE_SYSTEM_RAM and IORESOUCE_BUSY. + * Now, this function is only for System RAM. This function deals with * full ranges and not pfn. If resources are not pfn aligned, dealing * with pfn can truncate ranges. */ @@ -430,10 +430,10 @@ int walk_system_ram_res(u64 start, u64 end, void *arg, res.start = start; res.end = end; - res.flags = IORESOURCE_MEM | IORESOURCE_BUSY; + res.flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; orig_end = res.end; while ((res.start < res.end) && - (!find_next_iomem_res(&res, "System RAM", true))) { + (!find_next_iomem_res(&res, NULL, true))) { ret = (*func)(res.start, res.end, arg); if (ret) break; @@ -446,9 +446,9 @@ int walk_system_ram_res(u64 start, u64 end, void *arg, #if !defined(CONFIG_ARCH_HAS_WALK_MEMORY) /* - * This function calls callback against all memory range of "System RAM" - * which are marked as IORESOURCE_MEM and IORESOUCE_BUSY. - * Now, this function is only for "System RAM". + * This function calls callback against all memory range of System RAM + * which are marked as IORESOURCE_SYSTEM_RAM and IORESOUCE_BUSY. + * Now, this function is only for System RAM. */ int walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages, void *arg, int (*func)(unsigned long, unsigned long, void *)) @@ -460,10 +460,10 @@ int walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages, res.start = (u64) start_pfn << PAGE_SHIFT; res.end = ((u64)(start_pfn + nr_pages) << PAGE_SHIFT) - 1; - res.flags = IORESOURCE_MEM | IORESOURCE_BUSY; + res.flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; orig_end = res.end; while ((res.start < res.end) && - (find_next_iomem_res(&res, "System RAM", true) >= 0)) { + (find_next_iomem_res(&res, NULL, true) >= 0)) { pfn = (res.start + PAGE_SIZE - 1) >> PAGE_SHIFT; end_pfn = (res.end + 1) >> PAGE_SHIFT; if (end_pfn > pfn) @@ -484,7 +484,7 @@ static int __is_ram(unsigned long pfn, unsigned long nr_pages, void *arg) } /* * This generic page_is_ram() returns true if specified address is - * registered as "System RAM" in iomem_resource list. + * registered as System RAM in iomem_resource list. */ int __weak page_is_ram(unsigned long pfn) {
next prev parent reply other threads:[~2015-12-25 22:09 UTC|newest] Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-12-25 22:09 [PATCH v2 01/16] resource: Add System RAM resource type Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2015-12-25 22:09 ` [PATCH v2 02/16] resource: make resource flags handled properly Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2015-12-25 22:09 ` [PATCH v2 03/16] resource: Add I/O resource descriptor Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2015-12-25 22:09 ` [PATCH v2 04/16] x86/e820: Set System RAM type and descriptor Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2015-12-25 22:09 ` [PATCH v2 05/16] ia64: " Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2015-12-25 22:09 ` [PATCH v2 06/16] arch: Set IORESOURCE_SYSTEM_RAM to System RAM Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2015-12-25 22:09 ` [PATCH v2 07/16] kexec: " Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2015-12-25 22:09 ` [PATCH v2 08/16] xen, mm: " Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2016-01-04 11:41 ` [Xen-devel] " David Vrabel 2015-12-25 22:09 ` [PATCH v2 09/16] drivers: Initialize resource entry to zero Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2015-12-28 21:37 ` Simon Horman 2015-12-28 21:37 ` Simon Horman 2015-12-25 22:09 ` Toshi Kani [this message] 2015-12-25 22:09 ` [PATCH v2 10/16] resource: Change walk_system_ram to use System RAM type Toshi Kani 2015-12-25 22:09 ` [PATCH v2 11/16] arm/samsung: Change s3c_pm_run_res() " Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2015-12-25 22:09 ` [PATCH v2 12/16] memremap: Change region_intersects() to take @flags and @desc Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2015-12-25 22:09 ` [PATCH v2 13/16] resource: Add walk_iomem_res_desc() Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2015-12-25 22:09 ` [PATCH v2 14/16] x86,nvdimm,kexec: Use walk_iomem_res_desc() for iomem search Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2015-12-26 10:38 ` Borislav Petkov 2015-12-27 0:31 ` Toshi Kani 2015-12-27 0:31 ` Toshi Kani 2015-12-27 2:12 ` [PATCH v2 14/16] x86, nvdimm, kexec: " Minfei Huang [not found] ` <20151227021257.GA13560-0VdLhd/A9Pl6Yz8KYMO23x/sF2h8X+2i0E9HWUfgJXw@public.gmane.org> 2015-12-27 10:24 ` Borislav Petkov 2015-12-27 10:24 ` Borislav Petkov 2016-01-04 9:29 ` Dave Young [not found] ` <20160104092937.GB7033-0VdLhd/A9Pl+NNSt+8eSiB/sF2h8X+2i0E9HWUfgJXw@public.gmane.org> 2016-01-04 12:26 ` Borislav Petkov 2016-01-04 12:26 ` Borislav Petkov 2016-01-04 17:57 ` Toshi Kani 2016-01-04 17:57 ` Toshi Kani 2016-01-04 19:41 ` Borislav Petkov 2016-01-04 19:41 ` Borislav Petkov 2016-01-04 19:45 ` Toshi Kani 2016-01-05 5:20 ` Dave Young 2015-12-26 16:05 ` [PATCH v2 14/16] x86,nvdimm,kexec: " Minfei Huang 2015-12-26 16:05 ` Minfei Huang 2015-12-27 0:39 ` Toshi Kani 2015-12-27 0:39 ` Toshi Kani 2016-01-04 9:25 ` Dave Young 2016-01-04 9:25 ` Dave Young 2016-01-04 11:04 ` Dave Young 2015-12-25 22:09 ` [PATCH v2 15/16] checkpatch: Add warning on deprecated walk_iomem_res Toshi Kani 2015-12-25 22:09 ` Toshi Kani 2015-12-26 0:05 ` Joe Perches 2015-12-26 0:05 ` Joe Perches 2015-12-27 0:52 ` Toshi Kani 2015-12-27 0:52 ` Toshi Kani 2015-12-25 22:09 ` [PATCH v2 16/16] ACPI/EINJ: Allow memory error injection to NVDIMM Toshi Kani 2015-12-25 22:09 ` Toshi Kani
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=1451081365-15190-10-git-send-email-toshi.kani@hpe.com \ --to=toshi.kani@hpe.com \ --cc=akpm@linux-foundation.org \ --cc=bp@alien8.de \ --cc=dan.j.williams@intel.com \ --cc=linux-arch@vger.kernel.org \ --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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).