Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1608434 > unrolled thread
| Started by | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| First post | 2017-03-24 15:20 +0100 |
| Last post | 2017-03-24 18:50 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] drivers: base: dma-mapping: use nth_page helper Geliang Tang <geliangtang@gmail.com> - 2017-03-24 15:20 +0100
[PATCH] mm/page_alloc: use nth_page helper Geliang Tang <geliangtang@gmail.com> - 2017-03-24 15:20 +0100
Re: [PATCH] mm/page_alloc: use nth_page helper Vlastimil Babka <vbabka@suse.cz> - 2017-03-24 18:50 +0100
| From | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| Date | 2017-03-24 15:20 +0100 |
| Subject | [PATCH] drivers: base: dma-mapping: use nth_page helper |
| Message-ID | <toyel-2LK-11@gated-at.bofh.it> |
Use nth_page() helper instead of page_to_pfn() and pfn_to_page() to simplify the code. Signed-off-by: Geliang Tang <geliangtang@gmail.com> --- drivers/base/dma-mapping.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/base/dma-mapping.c b/drivers/base/dma-mapping.c index efd71cf..51b7061 100644 --- a/drivers/base/dma-mapping.c +++ b/drivers/base/dma-mapping.c @@ -309,14 +309,13 @@ void *dma_common_contiguous_remap(struct page *page, size_t size, int i; struct page **pages; void *ptr; - unsigned long pfn; pages = kmalloc(sizeof(struct page *) << get_order(size), GFP_KERNEL); if (!pages) return NULL; - for (i = 0, pfn = page_to_pfn(page); i < (size >> PAGE_SHIFT); i++) - pages[i] = pfn_to_page(pfn + i); + for (i = 0; i < (size >> PAGE_SHIFT); i++) + pages[i] = nth_page(page, i); ptr = dma_common_pages_remap(pages, size, vm_flags, prot, caller); -- 2.9.3
[toc] | [next] | [standalone]
| From | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| Date | 2017-03-24 15:20 +0100 |
| Subject | [PATCH] mm/page_alloc: use nth_page helper |
| Message-ID | <toyem-2LK-39@gated-at.bofh.it> |
| In reply to | #1608434 |
Use nth_page() helper instead of page_to_pfn() and pfn_to_page() to
simplify the code.
Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
mm/page_alloc.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index f749b7f..3354f56 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2511,9 +2511,8 @@ void mark_free_pages(struct zone *zone)
&zone->free_area[order].free_list[t], lru) {
unsigned long i;
- pfn = page_to_pfn(page);
for (i = 0; i < (1UL << order); i++)
- swsusp_set_page_free(pfn_to_page(pfn + i));
+ swsusp_set_page_free(nth_page(page, i));
}
}
spin_unlock_irqrestore(&zone->lock, flags);
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Vlastimil Babka <vbabka@suse.cz> |
|---|---|
| Date | 2017-03-24 18:50 +0100 |
| Subject | Re: [PATCH] mm/page_alloc: use nth_page helper |
| Message-ID | <toBvA-4Xj-21@gated-at.bofh.it> |
| In reply to | #1608445 |
On 24.3.2017 15:10, Geliang Tang wrote:
> Use nth_page() helper instead of page_to_pfn() and pfn_to_page() to
> simplify the code.
Well I've never heard of this helper so I would have to look it up to see what
it does. Looks like there's not many users.
Anyway it's simpler to use just "page + i" if within MAX_ORDER_NR_PAGES, which
should be the case here. That can also actually save a few cycles. Otherwise it
looks like a pointless churn to me.
> Signed-off-by: Geliang Tang <geliangtang@gmail.com>
> ---
> mm/page_alloc.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index f749b7f..3354f56 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -2511,9 +2511,8 @@ void mark_free_pages(struct zone *zone)
> &zone->free_area[order].free_list[t], lru) {
> unsigned long i;
>
> - pfn = page_to_pfn(page);
> for (i = 0; i < (1UL << order); i++)
> - swsusp_set_page_free(pfn_to_page(pfn + i));
> + swsusp_set_page_free(nth_page(page, i));
> }
> }
> spin_unlock_irqrestore(&zone->lock, flags);
>
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web