Re: [PATCH] percpu: Introduce a read-mostly percpu API

From: Michał Mirosław
Date: Fri Oct 22 2010 - 22:25:55 EST


Commit c957ef2c59e952803766ddc22e89981ab534606f that just went into
Linus' tree has a bug - only one of hunks was modified (.readmostly
moved after .page_aligned).


>commit c957ef2c59e952803766ddc22e89981ab534606f
>Author: Shaohua Li <shaohua.li@xxxxxxxxx>
>Date: Wed Oct 20 11:07:02 2010 +0800
>
> percpu: Introduce a read-mostly percpu API
>
> Add a new readmostly percpu section and API. This can be used to
> avoid dirtying data lines which are generally not written to, which is
> especially important for data which may be accessed by processors
> other than the one for which the percpu area belongs to.
>
> [ hpa: moved it *after* the page-aligned section, for obvious
> reasons. ]
>
> Signed-off-by: Shaohua Li <shaohua.li@xxxxxxxxx>
> LKML-Reference: <1287544022.4571.7.camel@xxxxxxxxxxxxxxxxxxxxxxxxx>
> Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx>
> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
>
>diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
>index 8a92a17..d7e7b21 100644
>--- a/include/asm-generic/vmlinux.lds.h
>+++ b/include/asm-generic/vmlinux.lds.h
>@@ -677,7 +677,9 @@
> - LOAD_OFFSET) { \
> VMLINUX_SYMBOL(__per_cpu_start) = .; \
> *(.data..percpu..first) \
>+ . = ALIGN(PAGE_SIZE); \
> *(.data..percpu..page_aligned) \
>+ *(.data..percpu..readmostly) \
> *(.data..percpu) \
> *(.data..percpu..shared_aligned) \
> VMLINUX_SYMBOL(__per_cpu_end) = .; \
>@@ -703,6 +705,8 @@
> VMLINUX_SYMBOL(__per_cpu_load) = .; \
> VMLINUX_SYMBOL(__per_cpu_start) = .; \
> *(.data..percpu..first) \
>+ . = ALIGN(PAGE_SIZE); \
>+ *(.data..percpu..readmostly) \
> *(.data..percpu..page_aligned) \

Here.

> *(.data..percpu) \
> *(.data..percpu..shared_aligned) \
[...]

Best Regards,
Michał Mirosław
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/