* linux-next: manual merge of the rr tree with Linus' tree
@ 2009-07-06 2:05 Stephen Rothwell
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2009-07-06 2:05 UTC (permalink / raw)
To: Rusty Russell
Cc: linux-next, linux-kernel, Tim Anderson, Ralf Baechle, Mike Travis
[-- Attachment #1: Type: text/plain, Size: 529 bytes --]
Hi Rusty,
Today's linux-next merge of the rr tree got a conflict in
arch/mips/kernel/smp-cmp.c between commit
0365070f05f12f1648b4adf22cfb52ec7a8a371c ("MIPS: CMP: activate CMP
support") from Linus' tree and commit
e7cb633472a7c3b197e2696e6a3d19a981e8988f
("cpumask:use-cpumap-accessors-mips") from the rr tree.
The former removes the code that the latter modifies in this file, so I
used the former version.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* linux-next: manual merge of the rr tree with Linus' tree
@ 2012-08-21 2:11 Stephen Rothwell
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2012-08-21 2:11 UTC (permalink / raw)
To: Rusty Russell; +Cc: linux-next, linux-kernel, David Howells, Michael Cree
[-- Attachment #1: Type: text/plain, Size: 1014 bytes --]
Hi Rusty,
Today's linux-next merge of the rr tree got a conflict in
arch/alpha/Kconfig between commit f2db633d301b ("alpha: Use new generic
strncpy_from_user() and strnlen_user()") from Linus' tree and commit
d673c23ca730 ("Make most arch asm/module.h files use
asm-generic/module.h") from the rr tree.
Just context changes. I fixed it up (see below) and can carry the fix as
necessary.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc arch/alpha/Kconfig
index 9944ded,e73a1a7..0000000
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@@ -18,8 -18,8 +18,10 @@@ config ALPH
select ARCH_HAVE_NMI_SAFE_CMPXCHG
select GENERIC_SMP_IDLE_THREAD
select GENERIC_CMOS_UPDATE
+ select GENERIC_STRNCPY_FROM_USER
+ select GENERIC_STRNLEN_USER
+ select HAVE_MOD_ARCH_SPECIFIC
+ select MODULES_USE_ELF_RELA
help
The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory,
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* linux-next: manual merge of the rr tree with Linus' tree
@ 2012-05-23 2:15 Stephen Rothwell
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2012-05-23 2:15 UTC (permalink / raw)
To: Rusty Russell; +Cc: linux-next, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 420 bytes --]
Hi Rusty,
Today's linux-next merge of the rr tree got a conflict in
Documentation/virtual/virtio-spec.txt between commit 33950c6e2269
("virtio: update documentation to v0.9.5 of spec") from Linus' tree and
commit e26259736de5 ("virtio: update documentation to v0.9.4 of spec")
from the rr tree.
I just used the version from Linus' tree.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* linux-next: manual merge of the rr tree with Linus' tree
@ 2010-01-18 4:06 Stephen Rothwell
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2010-01-18 4:06 UTC (permalink / raw)
To: Rusty Russell; +Cc: linux-next, linux-kernel, Roland Dreier, Andrew Morton
Hi Rusty,
Today's linux-next merge of the rr tree got a conflict in
include/linux/kernel.h between commit
cc8ef6eb21e964b1c5eb97b2d0e8ac9893e1bf86 ("kernel.h: add
BUILD_BUG_ON_NOT_POWER_OF_2()") from Linus' tree and commit
eb586ef779665b558aeafa9b948c0b005c5caadf
("misc:move-BUILD_BUG-et-al-inside-__KERNEL__") from the rr tree.
I fixed it up (see below) and can carry the fix for a while.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc include/linux/kernel.h
index 328bca6,57ffaa0..0000000
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@@ -702,13 -702,59 +702,63 @@@ static inline void ftrace_dump(void) {
struct sysinfo;
extern int do_sysinfo(struct sysinfo *info);
- #endif /* __KERNEL__ */
+ /* Force a compilation error if condition is true, but also produce a
+ result (of value 0 and type size_t), so the expression can be used
+ e.g. in a structure initializer (or where-ever else comma expressions
+ aren't permitted). */
+ #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
+ #define BUILD_BUG_ON_NULL(e) ((void *)sizeof(struct { int:-!!(e); }))
+
+ /**
+ * BUILD_BUG_ON - break compile if a condition is true.
+ * @cond: the condition which the compiler should know is false.
+ *
+ * If you have some code which relies on certain constants being equal, or
+ * other compile-time-evaluated condition, you should use BUILD_BUG_ON to
+ * detect if someone changes it.
+ *
+ * The implementation uses gcc's reluctance to create a negative array, but
+ * gcc (as of 4.4) only emits that error for obvious cases (eg. not arguments
+ * to inline functions). So as a fallback we use the optimizer; if it can't
+ * prove the condition is false, it will cause a link error on the undefined
+ * "__build_bug_on_failed". This error message can be harder to track down
+ * though, hence the two different methods.
+ */
+ #ifndef __OPTIMIZE__
+ #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
+ #else
+ extern int __build_bug_on_failed;
+ #define BUILD_BUG_ON(condition) \
+ do { \
+ ((void)sizeof(char[1 - 2*!!(condition)])); \
+ if (condition) __build_bug_on_failed = 1; \
+ } while(0)
+ #endif
+
++/* Force a compilation error if a constant expression is not a power of 2 */
++#define BUILD_BUG_ON_NOT_POWER_OF_2(n) \
++ BUILD_BUG_ON((n) == 0 || (((n) & ((n) - 1)) != 0))
++
+ /* Trap pasters of __FUNCTION__ at compile-time */
+ #define __FUNCTION__ (__func__)
+
+ /* This helps us to avoid #ifdef CONFIG_NUMA */
+ #ifdef CONFIG_NUMA
+ #define NUMA_BUILD 1
+ #else
+ #define NUMA_BUILD 0
+ #endif
+
+ /* Rebuild everything on CONFIG_FTRACE_MCOUNT_RECORD */
+ #ifdef CONFIG_FTRACE_MCOUNT_RECORD
+ # define REBUILD_DUE_TO_FTRACE_MCOUNT_RECORD
+ #endif
+ #else /* __KERNEL__ */
#ifndef __EXPORTED_HEADERS__
- #ifndef __KERNEL__
#warning Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders
- #endif /* __KERNEL__ */
#endif /* __EXPORTED_HEADERS__ */
+ #endif /* !__KERNEL__ */
#define SI_LOAD_SHIFT 16
struct sysinfo {
^ permalink raw reply [flat|nested] 13+ messages in thread
* linux-next: manual merge of the rr tree with Linus' tree
@ 2010-01-12 2:13 Stephen Rothwell
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2010-01-12 2:13 UTC (permalink / raw)
To: Rusty Russell; +Cc: linux-next, linux-kernel, Vegard Nossum
Hi Rusty,
Today's linux-next merge of the rr tree got a conflict in
include/linux/kmemcheck.h between commit
e992cd9b72a18122bd5c958715623057f110793f ("kmemcheck: make bitfield
annotations truly no-ops when disabled") from Linus' tree and commit
a5fddb6f013523418c30cd795b0f8ecf49505952
("misc:remove-MAYBE_BUILD_BUG_ON") from the rr tree.
I fixed it up (see below) and can carry the fix for a while.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/include/linux/kmemcheck.h b/include/linux/kmemcheck.h
index 08d7dc4..39f8453 100644
--- a/include/linux/kmemcheck.h
+++ b/include/linux/kmemcheck.h
@@ -76,7 +76,7 @@ bool kmemcheck_is_obj_initialized(unsigned long addr, size_t size);
\
_n = (long) &((ptr)->name##_end) \
- (long) &((ptr)->name##_begin); \
- MAYBE_BUILD_BUG_ON(_n < 0); \
+ BUILD_BUG_ON(_n < 0); \
\
kmemcheck_mark_initialized(&((ptr)->name##_begin), _n); \
} while (0)
^ permalink raw reply related [flat|nested] 13+ messages in thread
* linux-next: manual merge of the rr tree with Linus' tree
@ 2009-12-17 2:07 Stephen Rothwell
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2009-12-17 2:07 UTC (permalink / raw)
To: Rusty Russell; +Cc: linux-next, linux-kernel, Paul Mackerras
[-- Attachment #1: Type: text/plain, Size: 541 bytes --]
Hi Rusty,
Today's linux-next merge of the rr tree got a conflict in
kernel/perf_event.c between commit
0f624e7e5625f4c30c836b7a5decfe2553582391 ("perf_event: Fix incorrect
range check on cpu number") from Linus' tree and commit
40b7c6b7eefc950d625945f773b4c57dcc95b8a4
("cpumask:kernel_perf_event-deprecated-function") from the rr tree.
Overlapping changes. I used the version from Linus' tree (since it was a
bug fix).
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* linux-next: manual merge of the rr tree with Linus' tree
@ 2009-09-15 3:26 Stephen Rothwell
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2009-09-15 3:26 UTC (permalink / raw)
To: Rusty Russell
Cc: linux-next, linux-kernel, Siarhei Liakh, Xuxian Jiang, Li Zefan
Hi Rusty,
Today's linux-next merge of the rr tree got a conflict in kernel/module.c
between commit 7ead8b8313d92b3a69a1a61b0dcbc4cd66c960dc ("tracing/events:
Add module tracepoints") from Linus' tree and commit
25306e21864c2a220d6fa2e0632425028aa9626c ("module:ro-nx-protection") from
the rr tree.
Just overlapping additions. I fixed it up (see below) and can carry the
fix for a while.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc kernel/module.c
index 46580ed,6f84bb5..0000000
--- a/kernel/module.c
+++ b/kernel/module.c
@@@ -54,12 -54,8 +54,13 @@@
#include <linux/async.h>
#include <linux/percpu.h>
#include <linux/kmemleak.h>
+ #include <linux/pfn.h>
+#define CREATE_TRACE_POINTS
+#include <trace/events/module.h>
+
+EXPORT_TRACEPOINT_SYMBOL(module_get);
+
#if 0
#define DEBUGP printk
#else
@@@ -2373,8 -2600,18 +2609,20 @@@ static noinline struct module *load_mod
/* Get rid of temporary copy */
vfree(hdr);
+ /* Set RO and NX regions for core */
+ set_section_ro_nx(mod->module_core,
+ mod->core_text_size,
+ mod->core_ro_size,
+ mod->core_size);
+
+ /* Set RO and NX regions for init */
+ set_section_ro_nx(mod->module_init,
+ mod->init_text_size,
+ mod->init_ro_size,
+ mod->init_size);
+
+ trace_module_load(mod);
+
/* Done! */
return mod;
^ permalink raw reply [flat|nested] 13+ messages in thread
* linux-next: manual merge of the rr tree with Linus' tree
@ 2009-08-24 3:07 Stephen Rothwell
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2009-08-24 3:07 UTC (permalink / raw)
To: Rusty Russell; +Cc: linux-next, linux-kernel
Hi Rusty,
Today's linux-next merge of the rr tree got a conflict in
include/linux/cpumask.h between commit
f4b0373b26567cafd421d91101852ed7a34e9e94 ("Make bitmask 'and' operators
return a result code") from Linus' tree and commits
de1cb441e0bc1be491e25d3968d0448c0ea0e5eb
("cpumask:remove-unused-deprecated-functions") and
6a795cf86742749ebf01efbe53baa7023bebc7c6
("cpumask:move-obsolete-functions-to-end-of-header") from the rr tree.
I fixed it up (see below) and can carry the fix for a while.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc include/linux/cpumask.h
index 796df12,5b44e9f..0000000
--- a/include/linux/cpumask.h
+++ b/include/linux/cpumask.h
@@@ -1088,4 -646,241 +646,241 @@@ void set_cpu_active(unsigned int cpu, b
void init_cpu_present(const struct cpumask *src);
void init_cpu_possible(const struct cpumask *src);
void init_cpu_online(const struct cpumask *src);
+
+ /**
+ * to_cpumask - convert an NR_CPUS bitmap to a struct cpumask *
+ * @bitmap: the bitmap
+ *
+ * There are a few places where cpumask_var_t isn't appropriate and
+ * static cpumasks must be used (eg. very early boot), yet we don't
+ * expose the definition of 'struct cpumask'.
+ *
+ * This does the conversion, and can be used as a constant initializer.
+ */
+ #define to_cpumask(bitmap) \
+ ((struct cpumask *)(1 ? (bitmap) \
+ : (void *)sizeof(__check_is_bitmap(bitmap))))
+
+ static inline int __check_is_bitmap(const unsigned long *bitmap)
+ {
+ return 1;
+ }
+
+ /*
+ * Special-case data structure for "single bit set only" constant CPU masks.
+ *
+ * We pre-generate all the 64 (or 32) possible bit positions, with enough
+ * padding to the left and the right, and return the constant pointer
+ * appropriately offset.
+ */
+ extern const unsigned long
+ cpu_bit_bitmap[BITS_PER_LONG+1][BITS_TO_LONGS(NR_CPUS)];
+
+ static inline const struct cpumask *get_cpu_mask(unsigned int cpu)
+ {
+ const unsigned long *p = cpu_bit_bitmap[1 + cpu % BITS_PER_LONG];
+ p -= cpu / BITS_PER_LONG;
+ return to_cpumask(p);
+ }
+
+ #define cpu_is_offline(cpu) unlikely(!cpu_online(cpu))
+
+ #if NR_CPUS <= BITS_PER_LONG
+ #define CPU_BITS_ALL \
+ { \
+ [BITS_TO_LONGS(NR_CPUS)-1] = CPU_MASK_LAST_WORD \
+ }
+
+ #else /* NR_CPUS > BITS_PER_LONG */
+
+ #define CPU_BITS_ALL \
+ { \
+ [0 ... BITS_TO_LONGS(NR_CPUS)-2] = ~0UL, \
+ [BITS_TO_LONGS(NR_CPUS)-1] = CPU_MASK_LAST_WORD \
+ }
+ #endif /* NR_CPUS > BITS_PER_LONG */
+
+ /*
+ *
+ * From here down, all obsolete. Use cpumask_ variants!
+ *
+ */
+ #ifndef CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
+ /* These strip const, as traditionally they weren't const. */
+ #define cpu_possible_map (*(cpumask_t *)cpu_possible_mask)
+ #define cpu_online_map (*(cpumask_t *)cpu_online_mask)
+ #define cpu_present_map (*(cpumask_t *)cpu_present_mask)
+ #define cpu_active_map (*(cpumask_t *)cpu_active_mask)
+
+ #define cpumask_of_cpu(cpu) (*get_cpu_mask(cpu))
+
+ #define CPU_MASK_LAST_WORD BITMAP_LAST_WORD_MASK(NR_CPUS)
+
+ #if NR_CPUS <= BITS_PER_LONG
+
+ #define CPU_MASK_ALL \
+ (cpumask_t) { { \
+ [BITS_TO_LONGS(NR_CPUS)-1] = CPU_MASK_LAST_WORD \
+ } }
+
+ #else
+
+ #define CPU_MASK_ALL \
+ (cpumask_t) { { \
+ [0 ... BITS_TO_LONGS(NR_CPUS)-2] = ~0UL, \
+ [BITS_TO_LONGS(NR_CPUS)-1] = CPU_MASK_LAST_WORD \
+ } }
+
+ #endif
+
+ #define CPU_MASK_NONE \
+ (cpumask_t) { { \
+ [0 ... BITS_TO_LONGS(NR_CPUS)-1] = 0UL \
+ } }
+
+ #define CPU_MASK_CPU0 \
+ (cpumask_t) { { \
+ [0] = 1UL \
+ } }
+
+ #if NR_CPUS == 1
+ #define first_cpu(src) ({ (void)(src); 0; })
+ #define next_cpu(n, src) ({ (void)(src); 1; })
+ #define any_online_cpu(mask) 0
+ #define for_each_cpu_mask(cpu, mask) \
+ for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
+ #else /* NR_CPUS > 1 */
+ int __first_cpu(const cpumask_t *srcp);
+ int __next_cpu(int n, const cpumask_t *srcp);
+ int __any_online_cpu(const cpumask_t *mask);
+
+ #define first_cpu(src) __first_cpu(&(src))
+ #define next_cpu(n, src) __next_cpu((n), &(src))
+ #define any_online_cpu(mask) __any_online_cpu(&(mask))
+ #define for_each_cpu_mask(cpu, mask) \
+ for ((cpu) = -1; \
+ (cpu) = next_cpu((cpu), (mask)), \
+ (cpu) < NR_CPUS; )
+ #endif /* SMP */
+
+ #if NR_CPUS <= 64
+
+ #define for_each_cpu_mask_nr(cpu, mask) for_each_cpu_mask(cpu, mask)
+
+ #else /* NR_CPUS > 64 */
+
+ int __next_cpu_nr(int n, const cpumask_t *srcp);
+ #define for_each_cpu_mask_nr(cpu, mask) \
+ for ((cpu) = -1; \
+ (cpu) = __next_cpu_nr((cpu), &(mask)), \
+ (cpu) < nr_cpu_ids; )
+
+ #endif /* NR_CPUS > 64 */
+
+ #define cpus_addr(src) ((src).bits)
+
+ #define cpu_set(cpu, dst) __cpu_set((cpu), &(dst))
+ static inline void __cpu_set(int cpu, volatile cpumask_t *dstp)
+ {
+ set_bit(cpu, dstp->bits);
+ }
+
+ #define cpu_clear(cpu, dst) __cpu_clear((cpu), &(dst))
+ static inline void __cpu_clear(int cpu, volatile cpumask_t *dstp)
+ {
+ clear_bit(cpu, dstp->bits);
+ }
+
+ #define cpus_setall(dst) __cpus_setall(&(dst), NR_CPUS)
+ static inline void __cpus_setall(cpumask_t *dstp, int nbits)
+ {
+ bitmap_fill(dstp->bits, nbits);
+ }
+
+ #define cpus_clear(dst) __cpus_clear(&(dst), NR_CPUS)
+ static inline void __cpus_clear(cpumask_t *dstp, int nbits)
+ {
+ bitmap_zero(dstp->bits, nbits);
+ }
+
+ /* No static inline type checking - see Subtlety (1) above. */
+ #define cpu_isset(cpu, cpumask) test_bit((cpu), (cpumask).bits)
+
+ #define cpu_test_and_set(cpu, cpumask) __cpu_test_and_set((cpu), &(cpumask))
+ static inline int __cpu_test_and_set(int cpu, cpumask_t *addr)
+ {
+ return test_and_set_bit(cpu, addr->bits);
+ }
+
+ #define cpus_and(dst, src1, src2) __cpus_and(&(dst), &(src1), &(src2), NR_CPUS)
-static inline void __cpus_and(cpumask_t *dstp, const cpumask_t *src1p,
++static inline int __cpus_and(cpumask_t *dstp, const cpumask_t *src1p,
+ const cpumask_t *src2p, int nbits)
+ {
- bitmap_and(dstp->bits, src1p->bits, src2p->bits, nbits);
++ return bitmap_and(dstp->bits, src1p->bits, src2p->bits, nbits);
+ }
+
+ #define cpus_or(dst, src1, src2) __cpus_or(&(dst), &(src1), &(src2), NR_CPUS)
+ static inline void __cpus_or(cpumask_t *dstp, const cpumask_t *src1p,
+ const cpumask_t *src2p, int nbits)
+ {
+ bitmap_or(dstp->bits, src1p->bits, src2p->bits, nbits);
+ }
+
+ #define cpus_xor(dst, src1, src2) __cpus_xor(&(dst), &(src1), &(src2), NR_CPUS)
+ static inline void __cpus_xor(cpumask_t *dstp, const cpumask_t *src1p,
+ const cpumask_t *src2p, int nbits)
+ {
+ bitmap_xor(dstp->bits, src1p->bits, src2p->bits, nbits);
+ }
+
+ #define cpus_andnot(dst, src1, src2) \
+ __cpus_andnot(&(dst), &(src1), &(src2), NR_CPUS)
-static inline void __cpus_andnot(cpumask_t *dstp, const cpumask_t *src1p,
++static inline int __cpus_andnot(cpumask_t *dstp, const cpumask_t *src1p,
+ const cpumask_t *src2p, int nbits)
+ {
- bitmap_andnot(dstp->bits, src1p->bits, src2p->bits, nbits);
++ return bitmap_andnot(dstp->bits, src1p->bits, src2p->bits, nbits);
+ }
+
+ #define cpus_equal(src1, src2) __cpus_equal(&(src1), &(src2), NR_CPUS)
+ static inline int __cpus_equal(const cpumask_t *src1p,
+ const cpumask_t *src2p, int nbits)
+ {
+ return bitmap_equal(src1p->bits, src2p->bits, nbits);
+ }
+
+ #define cpus_intersects(src1, src2) __cpus_intersects(&(src1), &(src2), NR_CPUS)
+ static inline int __cpus_intersects(const cpumask_t *src1p,
+ const cpumask_t *src2p, int nbits)
+ {
+ return bitmap_intersects(src1p->bits, src2p->bits, nbits);
+ }
+
+ #define cpus_subset(src1, src2) __cpus_subset(&(src1), &(src2), NR_CPUS)
+ static inline int __cpus_subset(const cpumask_t *src1p,
+ const cpumask_t *src2p, int nbits)
+ {
+ return bitmap_subset(src1p->bits, src2p->bits, nbits);
+ }
+
+ #define cpus_empty(src) __cpus_empty(&(src), NR_CPUS)
+ static inline int __cpus_empty(const cpumask_t *srcp, int nbits)
+ {
+ return bitmap_empty(srcp->bits, nbits);
+ }
+
+ #define cpus_weight(cpumask) __cpus_weight(&(cpumask), NR_CPUS)
+ static inline int __cpus_weight(const cpumask_t *srcp, int nbits)
+ {
+ return bitmap_weight(srcp->bits, nbits);
+ }
+
+ #define cpus_shift_left(dst, src, n) \
+ __cpus_shift_left(&(dst), &(src), (n), NR_CPUS)
+ static inline void __cpus_shift_left(cpumask_t *dstp,
+ const cpumask_t *srcp, int n, int nbits)
+ {
+ bitmap_shift_left(dstp->bits, srcp->bits, n, nbits);
+ }
+ #endif /* !CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS */
+
#endif /* __LINUX_CPUMASK_H */
^ permalink raw reply [flat|nested] 13+ messages in thread
* linux-next: manual merge of the rr tree with Linus' tree
@ 2009-06-29 3:43 Stephen Rothwell
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2009-06-29 3:43 UTC (permalink / raw)
To: Rusty Russell
Cc: linux-next, linux-kernel, Benjamin Herrenschmidt, Mike Travis
Hi Rusty,
Today's linux-next merge of the rr tree got a conflict in
arch/powerpc/platforms/powermac/setup.c between commit
7ccbe504b5ee766d33211a507189a06f3079b29b ("powerpc/pmac: Fix issues with
PowerMac "PowerSurge" SMP") from Linus' tree and commit
67e33aa4710019a5ee52979f7a9c6458729ab2ab
("cpumask:use-cpumap-accessors-powerpc") from the rr tree.
The code modified by the latter was moved to
arch/powerpc/platforms/powermac/smp.c by the former, so I applied the
latter change to this other file (see below).
There is another use of cpu_set in this file as well (which I did not
change).
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c
index 6d4da7b..da12c48 100644
--- a/arch/powerpc/platforms/powermac/smp.c
+++ b/arch/powerpc/platforms/powermac/smp.c
@@ -952,7 +952,7 @@ void __init pmac_setup_smp(void)
int cpu;
for (cpu = 1; cpu < 4 && cpu < NR_CPUS; ++cpu)
- cpu_set(cpu, cpu_possible_map);
+ set_cpu_possible(cpu, true);
smp_ops = &psurge_smp_ops;
}
#endif /* CONFIG_PPC32 */
^ permalink raw reply related [flat|nested] 13+ messages in thread
* linux-next: manual merge of the rr tree with Linus' tree
@ 2009-06-24 3:08 Stephen Rothwell
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2009-06-24 3:08 UTC (permalink / raw)
To: Rusty Russell; +Cc: linux-next, linux-kernel, Lai Jiangshan
[-- Attachment #1: Type: text/plain, Size: 541 bytes --]
Hi Rusty,
Today's linux-next merge of the rr tree got a conflict in kernel/cpu.c
between commit 31950eb66ff47c946fd9c65c2f8c94b6b7ba13fc ("mm/init:
cpu_hotplug_init() must be initialized before SLAB") from Linus' tree and
commit 7ad613eb4d867245f0964e395e6087ae7f126b95 ("cpuhotplug: remove
cpu_hotplug_init()") from the rr tree.
It looks like they are trying to do the same thing ... I used the version
from Linus' tree.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* linux-next: manual merge of the rr tree with Linus' tree
@ 2009-06-12 3:54 Stephen Rothwell
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2009-06-12 3:54 UTC (permalink / raw)
To: Rusty Russell; +Cc: linux-next, linux-kernel, Pekka Enberg
Hi Rusty,
Today's linux-next merge of the rr tree got a conflict in init/main.c
between commit 83b519e8b9572c319c8e0c615ee5dd7272856090 ("slab: setup
allocators earlier in the boot sequence") from Linus' tree and commit
779e04433765330a3df44d3a4e5409cbf2963000 ("cpuhotplug: remove
cpu_hotplug_init()") from the rr tree.
Just context changes. I fixed it up (see below) and can carry the fix
for a while.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc init/main.c
index 5616661,c1b68bb..0000000
--- a/init/main.c
+++ b/init/main.c
@@@ -664,12 -645,14 +664,11 @@@ asmlinkage void __init start_kernel(voi
initrd_start = 0;
}
#endif
- vmalloc_init();
- vfs_caches_init_early();
cpuset_init_early();
page_cgroup_init();
- mem_init();
enable_debug_pagealloc();
- cpu_hotplug_init();
- kmem_cache_init();
kmemtrace_init();
+ kmemleak_init();
debug_objects_mem_init();
idr_init_cache();
setup_per_cpu_pageset();
^ permalink raw reply [flat|nested] 13+ messages in thread
* linux-next: manual merge of the rr tree with Linus' tree
@ 2009-05-27 3:55 Stephen Rothwell
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2009-05-27 3:55 UTC (permalink / raw)
To: Rusty Russell; +Cc: linux-next, linux-kernel, Thomas Renninger, Dave Jones
Hi Rusty,
Today's linux-next merge of the rr tree got a conflict in
arch/x86/kernel/cpu/cpufreq/powernow-k8.c between commit
df1829770db415dc5a5ed5ada3bd70176c6f0a01 ("[CPUFREQ] powernow-k8 cleanup
msg if BIOS does not export ACPI _PSS cpufreq data") from Linus' tree and
commit acff715b1f07d1e8366f75ef918233db7a849445 ("cpumask: avoid playing
with cpus_allowed in powernow-k8.c") from the rr tree.
Just overlapping additions. I fixed it up (see below) and can carry the
fix for a while.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc arch/x86/kernel/cpu/cpufreq/powernow-k8.c
index 35ff069,e9c6f77..0000000
--- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
+++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
@@@ -1249,16 -1211,35 +1245,38 @@@ static int powernowk8_verify(struct cpu
return cpufreq_frequency_table_verify(pol, data->powernow_table);
}
+ static long __cpuinit powernowk8_cpu_init_on_cpu(void *_data)
+ {
+ struct powernow_k8_data *data = _data;
+
+ if (smp_processor_id() != data->cpu) {
+ printk(KERN_ERR PFX "limiting to cpu %u failed\n", data->cpu);
+ return -EIO;
+ }
+
+ if (pending_bit_stuck()) {
+ printk(KERN_ERR PFX "failing init, change pending bit set\n");
+ return -ENODEV;
+ }
+
+ if (query_current_values_with_pending_wait(data))
+ return -ENODEV;
+
+ if (cpu_family == CPU_OPTERON)
+ fidvid_msr_init();
+
+ return 0;
+ }
+
+static const char ACPI_PSS_BIOS_BUG_MSG[] =
+ KERN_ERR FW_BUG PFX "No compatible ACPI _PSS objects found.\n"
+ KERN_ERR FW_BUG PFX "Try again with latest BIOS.\n";
+
/* per CPU init entry point to the driver */
static int __cpuinit powernowk8_cpu_init(struct cpufreq_policy *pol)
{
struct powernow_k8_data *data;
- cpumask_t oldmask;
int rc;
- static int print_once;
if (!cpu_online(pol->cpu))
return -ENODEV;
^ permalink raw reply [flat|nested] 13+ messages in thread
* linux-next: manual merge of the rr tree with Linus' tree
@ 2009-04-16 2:19 Stephen Rothwell
0 siblings, 0 replies; 13+ messages in thread
From: Stephen Rothwell @ 2009-04-16 2:19 UTC (permalink / raw)
To: Rusty Russell; +Cc: linux-next, Andrew Morton, Linus, Ingo Molnar
[-- Attachment #1: Type: text/plain, Size: 650 bytes --]
Hi Rusty,
Today's linux-next merge of the rr tree got a conflict in
arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c between various commits from
Linus' tree and commit cf2fb1659cb6d1269487f3c9870f045b95e5e3a2 ("use
smp_call_function_single() in
arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c") from the rr tree.
I used the version from Linus' tree. The only doubt in my mind is that
the test of the return from smp_call_function_single in
get_measured_perf is inverted between the two trees. i.e.
if (smp_...
vs
if (!smp_...
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2012-08-21 2:11 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-06 2:05 linux-next: manual merge of the rr tree with Linus' tree Stephen Rothwell
-- strict thread matches above, loose matches on Subject: below --
2012-08-21 2:11 Stephen Rothwell
2012-05-23 2:15 Stephen Rothwell
2010-01-18 4:06 Stephen Rothwell
2010-01-12 2:13 Stephen Rothwell
2009-12-17 2:07 Stephen Rothwell
2009-09-15 3:26 Stephen Rothwell
2009-08-24 3:07 Stephen Rothwell
2009-06-29 3:43 Stephen Rothwell
2009-06-24 3:08 Stephen Rothwell
2009-06-12 3:54 Stephen Rothwell
2009-05-27 3:55 Stephen Rothwell
2009-04-16 2:19 Stephen Rothwell
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).