You can subscribe to this list here.
| 1999 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(15) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2000 |
Jan
(6) |
Feb
(1) |
Mar
(39) |
Apr
(13) |
May
(24) |
Jun
(11) |
Jul
(23) |
Aug
(85) |
Sep
(12) |
Oct
(103) |
Nov
(79) |
Dec
(112) |
| 2001 |
Jan
(52) |
Feb
(82) |
Mar
(84) |
Apr
(65) |
May
(105) |
Jun
(188) |
Jul
(174) |
Aug
(182) |
Sep
(103) |
Oct
(137) |
Nov
(143) |
Dec
(98) |
| 2002 |
Jan
(258) |
Feb
(236) |
Mar
(386) |
Apr
(307) |
May
(238) |
Jun
(170) |
Jul
(252) |
Aug
(230) |
Sep
(278) |
Oct
(394) |
Nov
(336) |
Dec
(194) |
| 2003 |
Jan
(290) |
Feb
(182) |
Mar
(175) |
Apr
(220) |
May
(209) |
Jun
(286) |
Jul
(279) |
Aug
(164) |
Sep
(208) |
Oct
(324) |
Nov
(204) |
Dec
(380) |
| 2004 |
Jan
(344) |
Feb
(332) |
Mar
(395) |
Apr
(357) |
May
(349) |
Jun
(352) |
Jul
(279) |
Aug
(269) |
Sep
(374) |
Oct
(442) |
Nov
(428) |
Dec
(253) |
| 2005 |
Jan
(225) |
Feb
(219) |
Mar
(245) |
Apr
(249) |
May
(203) |
Jun
(157) |
Jul
(171) |
Aug
(194) |
Sep
(200) |
Oct
(232) |
Nov
(190) |
Dec
(195) |
| 2006 |
Jan
(158) |
Feb
(190) |
Mar
(235) |
Apr
(161) |
May
(134) |
Jun
(169) |
Jul
(117) |
Aug
(161) |
Sep
(170) |
Oct
(297) |
Nov
(230) |
Dec
(205) |
| 2007 |
Jan
(197) |
Feb
(132) |
Mar
(151) |
Apr
(97) |
May
(109) |
Jun
(99) |
Jul
(57) |
Aug
(110) |
Sep
(56) |
Oct
(119) |
Nov
(39) |
Dec
(45) |
| 2008 |
Jan
(101) |
Feb
(116) |
Mar
(141) |
Apr
(98) |
May
(133) |
Jun
(61) |
Jul
(43) |
Aug
(76) |
Sep
(20) |
Oct
(32) |
Nov
(22) |
Dec
(41) |
| 2009 |
Jan
(35) |
Feb
(15) |
Mar
(18) |
Apr
(13) |
May
(13) |
Jun
(26) |
Jul
(12) |
Aug
(32) |
Sep
(21) |
Oct
(41) |
Nov
(35) |
Dec
(12) |
| 2010 |
Jan
(3) |
Feb
(35) |
Mar
(28) |
Apr
(20) |
May
(5) |
Jun
(14) |
Jul
(6) |
Aug
(8) |
Sep
(20) |
Oct
(20) |
Nov
(10) |
Dec
(12) |
| 2011 |
Jan
(14) |
Feb
(10) |
Mar
(14) |
Apr
(14) |
May
(13) |
Jun
(43) |
Jul
(13) |
Aug
(50) |
Sep
(30) |
Oct
(23) |
Nov
(15) |
Dec
(49) |
| 2012 |
Jan
(15) |
Feb
(28) |
Mar
(7) |
Apr
|
May
(12) |
Jun
(13) |
Jul
(28) |
Aug
(11) |
Sep
(19) |
Oct
(27) |
Nov
(5) |
Dec
(25) |
| 2013 |
Jan
(18) |
Feb
(19) |
Mar
(56) |
Apr
(26) |
May
(38) |
Jun
(24) |
Jul
(42) |
Aug
(24) |
Sep
(4) |
Oct
(3) |
Nov
(18) |
Dec
(4) |
| 2014 |
Jan
(10) |
Feb
(9) |
Mar
(3) |
Apr
|
May
(12) |
Jun
(34) |
Jul
(8) |
Aug
(18) |
Sep
(3) |
Oct
(27) |
Nov
(2) |
Dec
(1) |
| 2015 |
Jan
|
Feb
(10) |
Mar
(49) |
Apr
(2) |
May
(4) |
Jun
(7) |
Jul
(1) |
Aug
(17) |
Sep
(7) |
Oct
(35) |
Nov
(40) |
Dec
(4) |
| 2016 |
Jan
(9) |
Feb
|
Mar
(6) |
Apr
|
May
(10) |
Jun
(2) |
Jul
|
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
(1) |
| 2017 |
Jan
(2) |
Feb
(4) |
Mar
(1) |
Apr
(4) |
May
(31) |
Jun
(9) |
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(2) |
| 2018 |
Jan
|
Feb
|
Mar
(1) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
|
From: richard -r. w. <ric...@gm...> - 2012-06-03 09:41:11
|
On Sun, Jun 3, 2012 at 11:35 AM, Toralf Förster <tor...@gm...> wrote: > Whenever I start an UML image, I get a core file (nevertheless the UML > starts up fine). > > The gdb back trace is : > > > Core was generated by `/usr/local/bin/linux-v3.5-rc1 earlyprintk > ubda=/home/tfoerste/virtual/uml/gento'. > Program terminated with signal 11, Segmentation fault. > #0 0x0808e1c4 in sigsuspend (set=0x21b16f48) at kernel/signal.c:3258 > 3258 current->saved_sigmask = current->blocked; > (gdb) bt > #0 0x0808e1c4 in sigsuspend (set=0x21b16f48) at kernel/signal.c:3258 > #1 0x08063a30 in winch_thread (arg=0x219c3c58) at > arch/um/drivers/chan_user.c:210 > #2 0xb77303ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133 Al and I currently working on -rc1. There are TTY and signal issues. Stay tuned. -- Thanks, //richard |
|
From: Toralf F. <tor...@gm...> - 2012-06-03 09:35:33
|
Whenever I start an UML image, I get a core file (nevertheless the UML starts up fine). The gdb back trace is : Core was generated by `/usr/local/bin/linux-v3.5-rc1 earlyprintk ubda=/home/tfoerste/virtual/uml/gento'. Program terminated with signal 11, Segmentation fault. #0 0x0808e1c4 in sigsuspend (set=0x21b16f48) at kernel/signal.c:3258 3258 current->saved_sigmask = current->blocked; (gdb) bt #0 0x0808e1c4 in sigsuspend (set=0x21b16f48) at kernel/signal.c:3258 #1 0x08063a30 in winch_thread (arg=0x219c3c58) at arch/um/drivers/chan_user.c:210 #2 0xb77303ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133 v3.4 works fine, output of $> /usr/local/bin/linux-v3.5-rc1 --showconfig > uml.config is attached. -- MfG/Sincerely Toralf Förster pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3 |
|
From: Srivatsa S. B. <sri...@li...> - 2012-06-01 09:48:10
|
From: Nikunj A. Dadhania <ni...@li...>
Convert um to use the generic framework to boot secondary CPUs.
Notes:
1. Removed call to default_idle() in idle_proc(). The generic framework will
invoke cpu_idle().
2. The generic code will call preempt_disable() and local_irq_enable() which
weren't originally present in idle_proc().
Signed-off-by: Nikunj A. Dadhania <ni...@li...>
Cc: Jeff Dike <jd...@ad...>
Cc: Richard Weinberger <ri...@no...>
Cc: "David S. Miller" <da...@da...>
Cc: Rusty Russell <ru...@ru...>
Cc: Chris Metcalf <cme...@ti...>
Cc: Thomas Gleixner <tg...@li...>
Cc: use...@li...
Cc: use...@li...
Signed-off-by: Srivatsa S. Bhat <sri...@li...>
---
arch/um/kernel/smp.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/arch/um/kernel/smp.c b/arch/um/kernel/smp.c
index a02b7e9..6cffcf4 100644
--- a/arch/um/kernel/smp.c
+++ b/arch/um/kernel/smp.c
@@ -10,6 +10,7 @@
#ifdef CONFIG_SMP
#include "linux/sched.h"
+#include "linux/smpboot.h"
#include "linux/module.h"
#include "linux/threads.h"
#include "linux/interrupt.h"
@@ -58,6 +59,12 @@ static cpumask_t cpu_callin_map = CPU_MASK_NONE;
static int idle_proc(void *cpup)
{
+ smpboot_start_secondary(cpup);
+ return 0;
+}
+
+void __cpuinit __cpu_pre_starting(void *unused)
+{
int cpu = (int) cpup, err;
err = os_pipe(cpu_data[cpu].ipi_pipe, 1, 1);
@@ -74,11 +81,6 @@ static int idle_proc(void *cpup)
while (!cpu_isset(cpu, smp_commenced_mask))
cpu_relax();
-
- notify_cpu_starting(cpu);
- set_cpu_online(cpu, true);
- default_idle();
- return 0;
}
static struct task_struct *idle_thread(int cpu)
|
|
From: sreenivasulu k. <ske...@ya...> - 2012-05-29 08:40:53
|
Turn your computer into making money machine.http://elreydelsahumerio.com.ar/xen2ak.php?mID=yoyf |
|
From: richard -r. w. <ric...@gm...> - 2012-05-27 17:09:42
|
On Sun, May 27, 2012 at 6:54 PM, Avinash Sridharan <avi...@gm...> wrote: > I guess will have to work on porting these modules to 3.1 as well. Why 3.1? Use a recent kernel! > A suggestion, is it possible to mention the version dependancy for UML (for > a given kernel) on the website? There is no version dependency. 2.6.38.x is EOL and broken when compiled with gcc 4.5.x -- Thanks, //richard |
|
From: Avinash S. <avi...@gm...> - 2012-05-27 16:55:07
|
Thanks Richard, Will try out the patch. I was trying to downgrade to 2.6 simply because there are some kernel modules (not in the linux kernel tree) that are very dependant on the 2.6 code base. One example being the "click-modular-router" http://www.read.cs.ucla.edu/click/click . I guess will have to work on porting these modules to 3.1 as well. A suggestion, is it possible to mention the version dependancy for UML (for a given kernel) on the website? -Avinash On Sun, May 27, 2012 at 3:33 AM, richard -rw- weinberger < ric...@gm...> wrote: > So, you're using gcc 4.5. You have to apply the patch below to your UML > kernel. > Anyway, consider using a recent UML kernel. Or at least one which an > active stable tree. > > commit 534e3adbd22efa327e6ff27cf2d8ebaad8382ecd > Author: Richard Weinberger <ri...@no...> > Date: Wed Apr 27 15:26:54 2011 -0700 > > um: adjust current_thread_info() for newer gcc versions > > In some cases gcc >= 4.5.2 will optimize away current_thread_info(). To > prevent gcc from doing so the stack address has to be obtained via > inline > asm. > > Signed-off-by: Richard Weinberger <ri...@no...> > Acked-by: Kirill A. Shutemov <ki...@sh...> > Signed-off-by: Andrew Morton <ak...@li...> > Signed-off-by: Linus Torvalds <tor...@li...> > > diff --git a/arch/um/include/asm/thread_info.h > b/arch/um/include/asm/thread_info.h > index e2cf786..5bd1bad 100644 > --- a/arch/um/include/asm/thread_info.h > +++ b/arch/um/include/asm/thread_info.h > @@ -49,7 +49,10 @@ static inline struct thread_info > *current_thread_info(void) > { > struct thread_info *ti; > unsigned long mask = THREAD_SIZE - 1; > - ti = (struct thread_info *) (((unsigned long) &ti) & ~mask); > + void *p; > + > + asm volatile ("" : "=r" (p) : "0" (&ti)); > + ti = (struct thread_info *) (((unsigned long)p) & ~mask); > return ti; > } > > -- > Thanks, > //richard > |
|
From: Avinash S. <avi...@gm...> - 2012-05-27 16:49:53
|
Hi Richard, You got it right. Running 2.6.38_x86_64 on top of 3.1 x86_64 does not work. As you mentioned, I think its more of an issue with the version of gcc that I am using. On gentoo the latest release comes with gcc 4.5 (I have gcc (Gentoo 4.5.3-r1 p1.0, pie-0.4.5) 4.5.3). Thanks for pointing this out, Avinash On Sun, May 27, 2012 at 3:00 AM, richard -rw- weinberger < ric...@gm...> wrote: > Hi! > > Running 3.1 x86_64 on top of 3.1 x86_64 works, but 2.6.38 x86_64 on > top of 3.1 x86_64 not? > Please confirm, so that I can try to produce the issue. > > However I suspect we have to back port f1c2bb8 (um: implement a x86_64 > vDSO). > > Thanks, > //richard > |
|
From: richard -r. w. <ric...@gm...> - 2012-05-27 10:34:01
|
So, you're using gcc 4.5. You have to apply the patch below to your UML kernel.
Anyway, consider using a recent UML kernel. Or at least one which an
active stable tree.
commit 534e3adbd22efa327e6ff27cf2d8ebaad8382ecd
Author: Richard Weinberger <ri...@no...>
Date: Wed Apr 27 15:26:54 2011 -0700
um: adjust current_thread_info() for newer gcc versions
In some cases gcc >= 4.5.2 will optimize away current_thread_info(). To
prevent gcc from doing so the stack address has to be obtained via inline
asm.
Signed-off-by: Richard Weinberger <ri...@no...>
Acked-by: Kirill A. Shutemov <ki...@sh...>
Signed-off-by: Andrew Morton <ak...@li...>
Signed-off-by: Linus Torvalds <tor...@li...>
diff --git a/arch/um/include/asm/thread_info.h
b/arch/um/include/asm/thread_info.h
index e2cf786..5bd1bad 100644
--- a/arch/um/include/asm/thread_info.h
+++ b/arch/um/include/asm/thread_info.h
@@ -49,7 +49,10 @@ static inline struct thread_info *current_thread_info(void)
{
struct thread_info *ti;
unsigned long mask = THREAD_SIZE - 1;
- ti = (struct thread_info *) (((unsigned long) &ti) & ~mask);
+ void *p;
+
+ asm volatile ("" : "=r" (p) : "0" (&ti));
+ ti = (struct thread_info *) (((unsigned long)p) & ~mask);
return ti;
}
--
Thanks,
//richard
|
|
From: richard -r. w. <ric...@gm...> - 2012-05-27 10:00:18
|
Hi! Running 3.1 x86_64 on top of 3.1 x86_64 works, but 2.6.38 x86_64 on top of 3.1 x86_64 not? Please confirm, so that I can try to produce the issue. However I suspect we have to back port f1c2bb8 (um: implement a x86_64 vDSO). Thanks, //richard |
|
From: Avinash S. <avi...@gm...> - 2012-05-27 03:57:03
|
Hi, I have a gentoo installation running the following kernel: uname -a Linux avi-server 3.1.0-gentoo #6 SMP Sat Mar 24 12:48:22 PDT 2012 x86_64 Intel(R) Core(TM) i5-2300 CPU @ 2.80GHz GenuineIntel GNU/Linux I wanted to run linux kernel 2.6.38 uner UML on this system. I checked out the git repository for linux kernel (from kernel.org), and compiled a 2.6.38 kernel image for UML, with the default config. However, on running the UML 2.6.38 kernel with a gentoo rootfs, the UML aborts with a kernel panic. However, when I compiled linux kernel 3.1.0 for the UML architecture things worked perfectly. I was able to boot linux kernel 3.1.0 under UML (with a gentoo rootfs). Is there a kernel dependency for UML, that I can't run a 2.6 kernel under 3.1? The website doesn't seem to mention any such dependency. Here is the error that I am observing on starting UML with linux kernel 2.6.38 on a 3.1.0 system: ./linux ubda=~/dev/kernel/UML/Gentoo-10.0-AMD64-root_fs mem=512M stderr=1 Core dump limits : soft - 0 hard - NONE Checking that ptrace can change system call numbers...OK Checking syscall emulation patch for ptrace...OK Checking advanced syscall emulation patch for ptrace...OK Checking for tmpfs mount on /dev/shm...OK Checking PROT_EXEC mmap in /dev/shm/...OK Checking for the skas3 patch in the host: - /proc/mm...not found: No such file or directory - PTRACE_FAULTINFO...not found - PTRACE_LDT...not found UML running in SKAS0 mode Linux version 2.6.38 (asridharan@avi-server) (gcc version 4.5.3 (Gentoo 4.5.3-r1 p1.0, pie-0.4.5) ) #1 Sat May 26 20:53:32 PDT 2012 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 129280 Kernel command line: ubda=/home/asridharan/dev/kernel/UML/Gentoo-10.0-AMD64-root_fs mem=512M stderr=1 root=98:0 PID hash table entries: 2048 (order: 2, 16384 bytes) Dentry cache hash table entries: 65536 (order: 7, 524288 bytes) Inode-cache hash table entries: 32768 (order: 6, 262144 bytes) Memory: 506088k available NR_IRQS:15 console [stderr0] enabled Calibrating delay loop... 367.00 BogoMIPS (lpj=1835008) pid_max: default: 32768 minimum: 301 kmem_cache_create: Early error in slab pid Kernel panic - not syncing: Kernel mode signal 4 Call Trace: 602417d8: [<60199354>] panic+0xea/0x1dc 602417f8: [<60037e44>] update_process_times+0x4a/0x52 60241838: [<6004b0c4>] tick_handle_periodic+0xf/0x56 60241858: [<60013ae3>] um_timer+0xf/0x16 60241868: [<60054485>] handle_IRQ_event+0x9d/0xac 602418a8: [<60055f4f>] handle_edge_irq+0xfd/0x123 602418d8: [<60014bbf>] relay_signal+0x38/0x79 60241908: [<60021f21>] sig_handler_common+0x84/0x98 60241928: [<60021f71>] real_alarm_handler+0x3c/0x3e 602419b0: [<60024de8>] __delay+0xa/0x16 60241a38: [<60022016>] sig_handler+0x30/0x3e 60241a58: [<60021c41>] handle_signal+0x6f/0xa5 60241aa8: [<60023968>] hard_handler+0x10/0x14 60241b68: [<600789e2>] kmem_cache_create+0x63/0x426 Modules linked in: Pid: 0, comm: swapper Not tainted 2.6.38 RIP: 0000:[<0000000000000000>] RSP: 0000000000000000 EFLAGS: 00000000 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 Call Trace: 60241768: [<60014db5>] panic_exit+0x2f/0x45 60241788: [<600467fc>] notifier_call_chain+0x32/0x5e 602417c8: [<60046842>] atomic_notifier_call_chain+0xf/0x11 602417d8: [<6019936f>] panic+0x105/0x1dc 602417f8: [<60037e44>] update_process_times+0x4a/0x52 60241838: [<6004b0c4>] tick_handle_periodic+0xf/0x56 60241858: [<60013ae3>] um_timer+0xf/0x16 60241868: [<60054485>] handle_IRQ_event+0x9d/0xac 602418a8: [<60055f4f>] handle_edge_irq+0xfd/0x123 602418d8: [<60014bbf>] relay_signal+0x38/0x79 60241908: [<60021f21>] sig_handler_common+0x84/0x98 60241928: [<60021f71>] real_alarm_handler+0x3c/0x3e 602419b0: [<60024de8>] __delay+0xa/0x16 60241a38: [<60022016>] sig_handler+0x30/0x3e 60241a58: [<60021c41>] handle_signal+0x6f/0xa5 60241aa8: [<60023968>] hard_handler+0x10/0x14 60241b68: [<600789e2>] kmem_cache_create+0x63/0x426 Aborted |
|
From: Toralf F. <tor...@gm...> - 2012-05-25 19:33:53
|
Hello,
the current git kernel gave a core dump. The 2nd try to start my user
mode linuc image was fine. Nevertheless it follows the output at the
command line and the back trace.
Hope this helps :-)
...
io scheduler noop registered
io scheduler cfq registered (default)
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <ma...@qu...>
TCP: cubic registered
NET: Registered protocol family 17
Key type dns_resolver registered
initlevel:7=late, 21 registered initcalls
Initialized stdio console driver
Console initialized on /dev/tty0
console [tty0] enabled, bootconsole disabled
console [tty0] enabled, bootconsole disabled
Initializing software serial
port version 1
console [mc-1] enabled
ubda: unknown partition table
ubdb: unknown partition table
Netdevice 0 (7a:cf:14:11:67:01) :
TUN/TAP backend -
kjournald starting. Commit interval 5 seconds
EXT3-fs (ubda): mounted filesystem with ordered data mode
VFS: Mounted root (ext3 filesystem) readonly on device 98:0.
Kernel panic - not syncing: Segfault with no mm
0838a4b4: [<082fc7e8>] dump_stack+0x22/0x24
0838a4cc: [<082fc866>] panic+0x7c/0x189
0838a4f4: [<08061509>] segv+0x259/0x2c0
0838a5a4: [<080615c3>] segv_handler+0x53/0x80
0838a5cc: [<08072a4d>] sig_handler_common+0x4d/0xc0
0838a848: [<08072be2>] sig_handler+0x42/0x50
0838a858: [<0807271c>] hard_handler+0x6c/0xb0
0838a87c: [<b779f40c>] 0xb779f40c
0838a998: [<080c628e>] generic_handle_irq+0x2e/0x40
0838a9ac: [<0805e015>] do_IRQ+0x25/0x40
0838a9bc: [<08061709>] winch+0x19/0x20
0838a9cc: [<08072a4d>] sig_handler_common+0x4d/0xc0
0838ac48: [<08072be2>] sig_handler+0x42/0x50
0838ac58: [<0807271c>] hard_handler+0x6c/0xb0
0838ac7c: [<b779f40c>] 0xb779f40c
EIP: 0000:[<00000000>] CPU: 0 Not tainted EFLAGS: 00000000
Not tainted
EAX: 00000000 EBX: 00000000 ECX: 00000000 EDX: 00000000
ESI: 00000000 EDI: 00000000 EBP: 00000000 DS: 0000 ES: 0000
0838a468: [<0807926d>] show_regs+0xed/0x120
0838a484: [<0806189c>] panic_exit+0x2c/0x50
0838a494: [<0809d8fa>] notifier_call_chain+0x4a/0x70
0838a4bc: [<0809da43>] atomic_notifier_call_chain+0x23/0x30
0838a4cc: [<082fc88e>] panic+0xa4/0x189
0838a4f4: [<08061509>] segv+0x259/0x2c0
0838a5a4: [<080615c3>] segv_handler+0x53/0x80
0838a5cc: [<08072a4d>] sig_handler_common+0x4d/0xc0
0838a848: [<08072be2>] sig_handler+0x42/0x50
0838a858: [<0807271c>] hard_handler+0x6c/0xb0
0838a87c: [<b779f40c>] 0xb779f40c
0838a998: [<080c628e>] generic_handle_irq+0x2e/0x40
0838a9ac: [<0805e015>] do_IRQ+0x25/0x40
0838a9bc: [<08061709>] winch+0x19/0x20
0838a9cc: [<08072a4d>] sig_handler_common+0x4d/0xc0
0838ac48: [<08072be2>] sig_handler+0x42/0x50
0838ac58: [<0807271c>] hard_handler+0x6c/0xb0
0838ac7c: [<b779f40c>] 0xb779f40c
Terminated
And here's the back trace:
(gdb) bt
#0 0xb779f424 in __kernel_vsyscall ()
#1 0xb76663c6 in kill () at ../sysdeps/unix/syscall-template.S:82
#2 0x080739c5 in uml_abort () at arch/um/os-Linux/util.c:93
#3 0x08073d05 in os_dump_core () at arch/um/os-Linux/util.c:138
#4 0x080618b7 in panic_exit (self=0x838c518, unused1=0,
unused2=0x83af3e0) at arch/um/kernel/um_arch.c:240
#5 0x0809d8fa in notifier_call_chain (nl=<optimized out>, val=0,
v=0x83af3e0, nr_to_call=-2, nr_calls=0x0)
at kernel/notifier.c:93
#6 0x0809da43 in __atomic_notifier_call_chain (nr_calls=0x0,
nr_to_call=-1, v=0x83af3e0, val=0, nh=0x83af380)
at kernel/notifier.c:182
#7 atomic_notifier_call_chain (nh=0x83af380, val=0, v=0x83af3e0) at
kernel/notifier.c:191
#8 0x082fc88e in panic (fmt=0x8351566 "Segfault with no mm") at
kernel/panic.c:120
#9 0x08061509 in segv (fi=<incomplete type>, ip=0, is_user=0,
regs=0x838a5e0) at arch/um/kernel/trap.c:194
#10 0x080615c3 in segv_handler (sig=11, regs=0x838a5e0) at
arch/um/kernel/trap.c:170
#11 0x08072a4d in sig_handler_common (sig=11, mc=0x838a920) at
arch/um/os-Linux/signal.c:43
#12 0x08072be2 in sig_handler (sig=11, mc=0x838a920) at
arch/um/os-Linux/signal.c:230
#13 0x0807271c in hard_handler (sig=<optimized out>, info=0x838a88c,
p=0x838a90c)
at arch/um/os-Linux/signal.c:164
#14 <signal handler called>
#15 0x00000000 in ?? ()
#16 0x080c8c8f in mask_ack_irq (desc=0x8395200) at kernel/irq/chip.c:234
#17 handle_edge_irq (irq=10, desc=0x8395200) at kernel/irq/chip.c:489
#18 0x080c628e in generic_handle_irq_desc (desc=0x8395200, irq=10) at
include/linux/irqdesc.h:114
#19 generic_handle_irq (irq=10) at kernel/irq/irqdesc.c:314
#20 0x0805e015 in do_IRQ (irq=10, regs=0x838a9e0) at
arch/um/kernel/irq.c:294
#21 0x08061709 in winch (sig=28, regs=0x838a9e0) at
arch/um/kernel/trap.c:271
#22 0x08072a4d in sig_handler_common (sig=28, mc=0x838ad20) at
arch/um/os-Linux/signal.c:43
#23 0x08072be2 in sig_handler (sig=28, mc=0x838ad20) at
arch/um/os-Linux/signal.c:230
#24 0x0807271c in hard_handler (sig=<optimized out>, info=0x838ac8c,
p=0x838ad0c)
at arch/um/os-Linux/signal.c:164
#25 <signal handler called>
#26 0xb779f424 in __kernel_vsyscall ()
#27 0xb76d41e0 in __nanosleep_nocancel () at
../sysdeps/unix/syscall-template.S:82
#28 0x08073341 in idle_sleep (nsecs=<optimized out>) at
arch/um/os-Linux/time.c:183
#29 0x0805efab in default_idle () at arch/um/kernel/process.c:254
#30 0x0805eff6 in cpu_idle () at arch/um/kernel/process.c:263
#31 0x082fba8e in rest_init () at init/main.c:384
#32 0x0804969f in start_kernel () at init/main.c:636
#33 0x0804ac66 in start_kernel_proc (unused=0x0) at
arch/um/kernel/skas/process.c:46
#34 0x08071a3e in run_kernel_thread (fn=0x804ac3a <start_kernel_proc>,
arg=0x0, jmp_ptr=0x838ba40)
at arch/um/os-Linux/process.c:257
#35 0x0805ed25 in new_thread_handler () at arch/um/kernel/process.c:156
#36 0x00000000 in ?? ()
--
MfG/Sincerely
Toralf Förster
pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3
|
|
From: Toralf F. <tor...@gm...> - 2012-05-15 18:42:54
|
I've mounted within a UML (jhostname is: n22_uml) the host files system onto /mnt/n22/. Now the following appears : n22_uml ~ # touch test n22_uml ~ # ls -l test -rw-r--r-- 1 root root 0 May 15 20:40 test n22_uml ~ # mv test /mnt/n22/tmp mv: failed to preserve ownership for ‘/mnt/n22/tmp/test’: Operation not permitted n22_uml ~ # ls -l test ls: cannot access test: No such file or directory I'd expect, that in this case the file isn't removed, or ? -- MfG/Sincerely Toralf Förster pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3 |
|
From: Riccardo M. <ric...@gm...> - 2012-05-09 12:18:50
|
Hi Richard, On Wed, May 9, 2012 at 12:06 PM, richard -rw- weinberger <ric...@gm...> wrote: >> we're having issues with a UML machine that refuses to shut down: the >> halt sequence commences and then we get the following kernel error >> message and backtrace: >> >> Asking all remaining processes to terminate... >> INFO: task killall5:5269 blocked for more than 120 seconds. >> [ 1080.320000] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" >> disables this message. >> [ 1080.320000] killall5 D 00000000405070c3 0 5269 >> 5266 0x00000000 >> [ 1080.320000] 93d84c08 9354d288 9354ce38 6063e550 9200bc28 >> 6001a7f3 93d84780 92008000 >> [ 1080.320000] 92008000 93d84780 9200bc88 604345ad 9200bc48 >> 9354ce00 9200bc88 92008000 >> [ 1080.320000] 00000001 93d84780 93588060 00000001 >> ffffffffffffffff 00000000 9200bce8 604357cd >> [ 1080.320000] Call Trace: >> [ 1080.320000] 9200bc00: [<6001a7f3>] _switch_to+0x5e/0xae >> [ 1080.320000] 9200bc30: [<604345ad>] schedule+0x240/0x27a >> [ 1080.320000] 9200bc90: [<604357cd>] rwsem_down_failed_common+0xb8/0xd8 >> [ 1080.320000] 9200bcf0: [<60435814>] rwsem_down_read_failed+0x12/0x14 >> [ 1080.320000] 9200bd00: [<6002ecec>] call_rwsem_down_read_failed+0x14/0x24 >> [ 1080.320000] 9200bd48: [<60434fc2>] down_read+0x11/0x13 >> [ 1080.320000] 9200bd58: [<6007a6ec>] access_process_vm+0x45/0x147 >> [ 1080.320000] 9200bdc8: [<600cdd13>] proc_pid_cmdline+0x65/0xf9 >> [ 1080.320000] 9200be18: [<600cf298>] proc_info_read+0x68/0xcb >> [ 1080.320000] 9200be68: [<6008f2c7>] vfs_read+0xa7/0x155 >> [ 1080.320000] 9200bea8: [<6008f42e>] sys_read+0x45/0x6c >> [ 1080.320000] 9200bee8: [<6001cd9c>] handle_syscall+0x58/0x70 >> [ 1080.320000] 9200bf08: [<6002c00f>] userspace+0x2d4/0x381 >> [ 1080.320000] 9200bfc8: [<6001a6f3>] fork_handler+0x62/0x69 >> [ 1080.320000] >> >> The error repeats every 120 seconds, and the machine never shuts down. > > Can you please try a recent kernel? > Maybe you need this commit: > 3a3679078aed2c451ebc32836bbd3b8219a65e01 (um: Use RWSEM_GENERIC_SPINLOCK on x86) > We're trying 3.2.16 right now (also from devloop.org.uk); it might take some time before we are able to confirm or disprove, since the bug does not occur deterministically but only on a certain percentage of the runs. Thanks, Riccardo |
|
From: richard -r. w. <ric...@gm...> - 2012-05-09 10:06:54
|
On Wed, May 9, 2012 at 11:35 AM, Riccardo Murri <ric...@gm...> wrote: > Hello, > > we're having issues with a UML machine that refuses to shut down: the > halt sequence commences and then we get the following kernel error > message and backtrace: > > Asking all remaining processes to terminate... > INFO: task killall5:5269 blocked for more than 120 seconds. > [ 1080.320000] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" > disables this message. > [ 1080.320000] killall5 D 00000000405070c3 0 5269 > 5266 0x00000000 > [ 1080.320000] 93d84c08 9354d288 9354ce38 6063e550 9200bc28 > 6001a7f3 93d84780 92008000 > [ 1080.320000] 92008000 93d84780 9200bc88 604345ad 9200bc48 > 9354ce00 9200bc88 92008000 > [ 1080.320000] 00000001 93d84780 93588060 00000001 > ffffffffffffffff 00000000 9200bce8 604357cd > [ 1080.320000] Call Trace: > [ 1080.320000] 9200bc00: [<6001a7f3>] _switch_to+0x5e/0xae > [ 1080.320000] 9200bc30: [<604345ad>] schedule+0x240/0x27a > [ 1080.320000] 9200bc90: [<604357cd>] rwsem_down_failed_common+0xb8/0xd8 > [ 1080.320000] 9200bcf0: [<60435814>] rwsem_down_read_failed+0x12/0x14 > [ 1080.320000] 9200bd00: [<6002ecec>] call_rwsem_down_read_failed+0x14/0x24 > [ 1080.320000] 9200bd48: [<60434fc2>] down_read+0x11/0x13 > [ 1080.320000] 9200bd58: [<6007a6ec>] access_process_vm+0x45/0x147 > [ 1080.320000] 9200bdc8: [<600cdd13>] proc_pid_cmdline+0x65/0xf9 > [ 1080.320000] 9200be18: [<600cf298>] proc_info_read+0x68/0xcb > [ 1080.320000] 9200be68: [<6008f2c7>] vfs_read+0xa7/0x155 > [ 1080.320000] 9200bea8: [<6008f42e>] sys_read+0x45/0x6c > [ 1080.320000] 9200bee8: [<6001cd9c>] handle_syscall+0x58/0x70 > [ 1080.320000] 9200bf08: [<6002c00f>] userspace+0x2d4/0x381 > [ 1080.320000] 9200bfc8: [<6001a6f3>] fork_handler+0x62/0x69 > [ 1080.320000] > > The error repeats every 120 seconds, and the machine never shuts down. > > We're using kernel64-2.6.38.4 from http://uml.devloop.co.uk/ and the > system image is an up-to-date Debian 6 (squeeze). > > Any suggestions on how to debug or work around this problem? > Can you please try a recent kernel? Maybe you need this commit: 3a3679078aed2c451ebc32836bbd3b8219a65e01 (um: Use RWSEM_GENERIC_SPINLOCK on x86) -- Thanks, //richard |
|
From: Riccardo M. <ric...@gm...> - 2012-05-09 09:35:39
|
Hello,
we're having issues with a UML machine that refuses to shut down: the
halt sequence commences and then we get the following kernel error
message and backtrace:
Asking all remaining processes to terminate...
INFO: task killall5:5269 blocked for more than 120 seconds.
[ 1080.320000] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[ 1080.320000] killall5 D 00000000405070c3 0 5269
5266 0x00000000
[ 1080.320000] 93d84c08 9354d288 9354ce38 6063e550 9200bc28
6001a7f3 93d84780 92008000
[ 1080.320000] 92008000 93d84780 9200bc88 604345ad 9200bc48
9354ce00 9200bc88 92008000
[ 1080.320000] 00000001 93d84780 93588060 00000001
ffffffffffffffff 00000000 9200bce8 604357cd
[ 1080.320000] Call Trace:
[ 1080.320000] 9200bc00: [<6001a7f3>] _switch_to+0x5e/0xae
[ 1080.320000] 9200bc30: [<604345ad>] schedule+0x240/0x27a
[ 1080.320000] 9200bc90: [<604357cd>] rwsem_down_failed_common+0xb8/0xd8
[ 1080.320000] 9200bcf0: [<60435814>] rwsem_down_read_failed+0x12/0x14
[ 1080.320000] 9200bd00: [<6002ecec>] call_rwsem_down_read_failed+0x14/0x24
[ 1080.320000] 9200bd48: [<60434fc2>] down_read+0x11/0x13
[ 1080.320000] 9200bd58: [<6007a6ec>] access_process_vm+0x45/0x147
[ 1080.320000] 9200bdc8: [<600cdd13>] proc_pid_cmdline+0x65/0xf9
[ 1080.320000] 9200be18: [<600cf298>] proc_info_read+0x68/0xcb
[ 1080.320000] 9200be68: [<6008f2c7>] vfs_read+0xa7/0x155
[ 1080.320000] 9200bea8: [<6008f42e>] sys_read+0x45/0x6c
[ 1080.320000] 9200bee8: [<6001cd9c>] handle_syscall+0x58/0x70
[ 1080.320000] 9200bf08: [<6002c00f>] userspace+0x2d4/0x381
[ 1080.320000] 9200bfc8: [<6001a6f3>] fork_handler+0x62/0x69
[ 1080.320000]
The error repeats every 120 seconds, and the machine never shuts down.
We're using kernel64-2.6.38.4 from http://uml.devloop.co.uk/ and the
system image is an up-to-date Debian 6 (squeeze).
Any suggestions on how to debug or work around this problem?
Thanks,
Riccardo
|
|
From: Kautuk C. <con...@gm...> - 2012-03-20 16:17:42
|
Commit d065bd810b6deb67d4897a14bfe21f8eb526ba99
(mm: retry page fault when blocking on disk transfer) and
commit 37b23e0525d393d48a7d59f870b3bc061a30ccdb
(x86,mm: make pagefault killable)
The above commits introduced changes into the x86 pagefault handler
for making the page fault handler retryable as well as killable.
These changes reduce the mmap_sem hold time, which is crucial
during OOM killer invocation.
Port these changes to um.
Signed-off-by: Kautuk Consul <con...@gm...>
---
arch/um/kernel/trap.c | 24 +++++++++++++++++++-----
1 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/arch/um/kernel/trap.c b/arch/um/kernel/trap.c
index dafc947..76adb61 100644
--- a/arch/um/kernel/trap.c
+++ b/arch/um/kernel/trap.c
@@ -30,6 +30,8 @@ int handle_page_fault(unsigned long address, unsigned long ip,
pmd_t *pmd;
pte_t *pte;
int err = -EFAULT;
+ unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE |
+ (is_write ? FAULT_FLAG_WRITE : 0);
*code_out = SEGV_MAPERR;
@@ -40,6 +42,7 @@ int handle_page_fault(unsigned long address, unsigned long ip,
if (in_atomic())
goto out_nosemaphore;
+retry:
down_read(&mm->mmap_sem);
vma = find_vma(mm, address);
if (!vma)
@@ -65,7 +68,11 @@ good_area:
do {
int fault;
- fault = handle_mm_fault(mm, vma, address, is_write ? FAULT_FLAG_WRITE : 0);
+ fault = handle_mm_fault(mm, vma, address, flags);
+
+ if ((fault & VM_FAULT_RETRY) && fatal_signal_pending(current))
+ goto out_nosemaphore;
+
if (unlikely(fault & VM_FAULT_ERROR)) {
if (fault & VM_FAULT_OOM) {
goto out_of_memory;
@@ -75,10 +82,17 @@ good_area:
}
BUG();
}
- if (fault & VM_FAULT_MAJOR)
- current->maj_flt++;
- else
- current->min_flt++;
+ if (flags & FAULT_FLAG_ALLOW_RETRY) {
+ if (fault & VM_FAULT_MAJOR)
+ current->maj_flt++;
+ else
+ current->min_flt++;
+ if (fault & VM_FAULT_RETRY) {
+ flags &= ~FAULT_FLAG_ALLOW_RETRY;
+
+ goto retry;
+ }
+ }
pgd = pgd_offset(mm, address);
pud = pud_offset(pgd, address);
--
1.7.5.4
|
|
From: Kautuk C. <con...@gm...> - 2012-03-20 16:15:34
|
hi,
There is a small defect in this patch.
I am sending a v2to this patch.
On Tue, Mar 20, 2012 at 9:45 AM, Kautuk Consul <con...@gm...> wrote:
> Commit d065bd810b6deb67d4897a14bfe21f8eb526ba99
> (mm: retry page fault when blocking on disk transfer) and
> commit 37b23e0525d393d48a7d59f870b3bc061a30ccdb
> (x86,mm: make pagefault killable)
>
> The above commits introduced changes into the x86 pagefault handler
> for making the page fault handler retryable as well as killable.
>
> These changes reduce the mmap_sem hold time, which is crucial
> during OOM killer invocation.
>
> Port these changes to um.
>
> Signed-off-by: Kautuk Consul <con...@gm...>
> ---
> arch/um/kernel/trap.c | 24 +++++++++++++++++++-----
> 1 files changed, 19 insertions(+), 5 deletions(-)
>
> diff --git a/arch/um/kernel/trap.c b/arch/um/kernel/trap.c
> index dafc947..76adb61 100644
> --- a/arch/um/kernel/trap.c
> +++ b/arch/um/kernel/trap.c
> @@ -30,6 +30,8 @@ int handle_page_fault(unsigned long address, unsigned long ip,
> pmd_t *pmd;
> pte_t *pte;
> int err = -EFAULT;
> + unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE |
> + (is_write ? FAULT_FLAG_WRITE : 0);
>
> *code_out = SEGV_MAPERR;
>
> @@ -40,6 +42,7 @@ int handle_page_fault(unsigned long address, unsigned long ip,
> if (in_atomic())
> goto out_nosemaphore;
>
> +retry:
> down_read(&mm->mmap_sem);
> vma = find_vma(mm, address);
> if (!vma)
> @@ -65,7 +68,11 @@ good_area:
> do {
> int fault;
>
> - fault = handle_mm_fault(mm, vma, address, is_write ? FAULT_FLAG_WRITE : 0);
> + fault = handle_mm_fault(mm, vma, address, flags);
> +
> + if ((fault & VM_FAULT_RETRY) && fatal_signal_pending(current))
> + goto out;
The out: label will do an up_read which is not required here.
So, in v2 of this patch I am now doing a goto out_nosmaphore.
> +
> if (unlikely(fault & VM_FAULT_ERROR)) {
> if (fault & VM_FAULT_OOM) {
> goto out_of_memory;
> @@ -75,10 +82,17 @@ good_area:
> }
> BUG();
> }
> - if (fault & VM_FAULT_MAJOR)
> - current->maj_flt++;
> - else
> - current->min_flt++;
> + if (flags & FAULT_FLAG_ALLOW_RETRY) {
> + if (fault & VM_FAULT_MAJOR)
> + current->maj_flt++;
> + else
> + current->min_flt++;
> + if (fault & VM_FAULT_RETRY) {
> + flags &= ~FAULT_FLAG_ALLOW_RETRY;
> +
> + goto retry;
> + }
> + }
>
> pgd = pgd_offset(mm, address);
> pud = pud_offset(pgd, address);
> --
> 1.7.5.4
>
|
|
From: Kautuk C. <con...@gm...> - 2012-03-20 13:49:34
|
> No problem. > handle_page_fault() is the function you want to patch. :) > Sent. Terribly sorry for the miss. Also, the UML page fault handler has some differences from the other page fault handlers, so I apologize if I have made some wrong assumptions or mistakes. > -- > Thanks, > //richard |
|
From: Kautuk C. <con...@gm...> - 2012-03-20 13:46:27
|
Commit d065bd810b6deb67d4897a14bfe21f8eb526ba99
(mm: retry page fault when blocking on disk transfer) and
commit 37b23e0525d393d48a7d59f870b3bc061a30ccdb
(x86,mm: make pagefault killable)
The above commits introduced changes into the x86 pagefault handler
for making the page fault handler retryable as well as killable.
These changes reduce the mmap_sem hold time, which is crucial
during OOM killer invocation.
Port these changes to um.
Signed-off-by: Kautuk Consul <con...@gm...>
---
arch/um/kernel/trap.c | 24 +++++++++++++++++++-----
1 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/arch/um/kernel/trap.c b/arch/um/kernel/trap.c
index dafc947..76adb61 100644
--- a/arch/um/kernel/trap.c
+++ b/arch/um/kernel/trap.c
@@ -30,6 +30,8 @@ int handle_page_fault(unsigned long address, unsigned long ip,
pmd_t *pmd;
pte_t *pte;
int err = -EFAULT;
+ unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE |
+ (is_write ? FAULT_FLAG_WRITE : 0);
*code_out = SEGV_MAPERR;
@@ -40,6 +42,7 @@ int handle_page_fault(unsigned long address, unsigned long ip,
if (in_atomic())
goto out_nosemaphore;
+retry:
down_read(&mm->mmap_sem);
vma = find_vma(mm, address);
if (!vma)
@@ -65,7 +68,11 @@ good_area:
do {
int fault;
- fault = handle_mm_fault(mm, vma, address, is_write ? FAULT_FLAG_WRITE : 0);
+ fault = handle_mm_fault(mm, vma, address, flags);
+
+ if ((fault & VM_FAULT_RETRY) && fatal_signal_pending(current))
+ goto out;
+
if (unlikely(fault & VM_FAULT_ERROR)) {
if (fault & VM_FAULT_OOM) {
goto out_of_memory;
@@ -75,10 +82,17 @@ good_area:
}
BUG();
}
- if (fault & VM_FAULT_MAJOR)
- current->maj_flt++;
- else
- current->min_flt++;
+ if (flags & FAULT_FLAG_ALLOW_RETRY) {
+ if (fault & VM_FAULT_MAJOR)
+ current->maj_flt++;
+ else
+ current->min_flt++;
+ if (fault & VM_FAULT_RETRY) {
+ flags &= ~FAULT_FLAG_ALLOW_RETRY;
+
+ goto retry;
+ }
+ }
pgd = pgd_offset(mm, address);
pud = pud_offset(pgd, address);
--
1.7.5.4
|
|
From: Arthur L. <lam...@gm...> - 2012-03-09 10:25:35
|
Hi, I am using UML virtualization with cloonix. I have a kernel module to test with gcov. So I need to do coverage in linux kernel with uml. I read some information on gcov with uml on your website, but you only talk about gcov in user space. Can i do coverage on a module kernel with uml ? Currently, I build a custom uml linux with configure that you can find here: https://docs.google.com/document/pub?id=1yqr4XlDNyou0mRTtjhoQhWjhSZI6Mi8UY9w1ruYIYWY the kernel version that I use is 3.0.9. The problem is, when i try to mount debugfs wirth: mount -t debugfs none /sys/kernel/debug, gcov debugfs is not mounted. In a normal way, this command must mount a folder gcov in /sys/kernel/debug. Someone have a solution for me ? My apologize for my English Thanks in advance, Arthur Lambert. |
|
From: Riccardo M. <ric...@gm...> - 2012-03-08 10:57:16
|
Hello, On Sat, Jun 25, 2011 at 15:28, Manfred Haertel <Man...@rz...> wrote: > The slirp utility defers the TCP ACK for 200 milliseconds (which may be a > good idea on a slow modem connection, but not in an UML environment). > > This limits the throughput to something around 9000 bytes (the TCP window > size) in 0.2 seconds, leading to something around 45 or 46 kBytes per > second. > > The solution is a very small patch to slirp to send out the ACK immediatly. > Now I have also full speed when sending data from the UML guest to the host! > :-) > Debian has merged this patch into their slirp package starting from version 1.0.17-6. So the `slirp-fullbolt` command on wheezy will soon implement a real full-bolt :-) See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=658359 Thanks for the patch! Riccardo |
|
From: Riccardo M. <ric...@gm...> - 2012-03-07 16:19:39
|
Hello, Is there any kind of support for suspend-to-disk functionality for UML? (already available or being worked on or planned?) I understand there used to be some kind of support[1] for it in the past, but its development seems to have ended some years ago. [1]: http://sourceforge.net/projects/sbuml/ Thanks, Riccardo |
|
From: Antoine M. <an...@na...> - 2012-02-16 17:17:05
|
On 02/16/2012 03:47 AM, Antoine Martin wrote: > On 01/21/2012 07:14 AM, richard -rw- weinberger wrote: >> On Thu, Jan 19, 2012 at 7:41 PM, Antoine Martin <an...@na...> wrote: >>> On 01/19/2012 10:01 PM, richard -rw- weinberger wrote: >>>> On Thu, Jan 19, 2012 at 3:23 PM, Nick Cripps <nic...@gm...> wrote: >>>>> I saw this thread: >>>>> http://sourceforge.net/mailarchive/forum.php?thread_name=CAFLxGvz2wdfRtryzJ1t0G11rxzOmhdNEVi6A%3DXS5uLG0PA7VAQ%40mail.gmail.com&forum_name=user-mode-linux-user >>>>> which seems to indicate that SKAS3 isn't being maintained but mentions >>>>> SKAS0. Can anyone tell me what SKAS0 is, what the disadvantages >>>>> compared to SKAS3 are and, where I can get a patch for it? >>>> >>>> SKAS0 is in mainline and it's default for UML. >>>> (The old tt-mode is gone.) >>>> >>>> SKAS0 is mostly SKAS3 but completely different implemented. >>>> >>>> And yeah, it's time to clean up the UML website. >>>> I have write-access to http://user-mode-linux.sourceforge.net/. >>>> Maybe we can combine it with http://uml.devloop.org.uk/. >>>> Antoine, what do you think? >>> Sure, it might be worth adding a FAQ, that sort of thing. >>> I could setup a trac/wiki if that's any help? >>> >> >> I'm not sure what the best (and easiest) solution is. >> >> We could use a hosted wiki from sourceforge.net and redirect >> http://user-mode-linux.sourceforge.net/index.html to it, >> such that all old links to http://user-mode-linux.sourceforge.net/* don't break. >> > I've started re-organizing and adding a FAQ: > http://uml.devloop.org.uk/faq.html > There's a lot of content spread out everywhere, plus I'm scouring the > mailing list for gems I know I have read but forgot to save.. > This is going to take some time. It is a good idea to keep the old links > in place, there is a lot of information there, even if quite a large > portion of it is either outdated or no longer relevant.. Oh, and I've also updated: http://fs.devloop.org.uk/ You may need to force your browser to refresh to see it properly (shift-reload). It now shows which filesystems do (or do not) work with UML and/or KVM, this should prevent a lot of unexpected issues. Antoine > > Antoine > > ------------------------------------------------------------------------------ > Virtualization & Cloud Management Using Capacity Planning > Cloud computing makes use of virtualization - but cloud computing > also focuses on allowing computing to be delivered as a service. > http://www.accelacomm.com/jaw/sfnl/114/51521223/ > _______________________________________________ > User-mode-linux-user mailing list > Use...@li... > https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user |
|
From: Antoine M. <an...@na...> - 2012-02-16 08:52:00
|
On 02/16/2012 04:42 AM, richard -rw- weinberger wrote: > On Wed, Feb 15, 2012 at 9:47 PM, Antoine Martin <an...@na...> wrote: >> On 01/21/2012 07:14 AM, richard -rw- weinberger wrote: >>> On Thu, Jan 19, 2012 at 7:41 PM, Antoine Martin <an...@na...> wrote: >>>> On 01/19/2012 10:01 PM, richard -rw- weinberger wrote: >>>>> On Thu, Jan 19, 2012 at 3:23 PM, Nick Cripps <nic...@gm...> wrote: >>>>>> I saw this thread: >>>>>> http://sourceforge.net/mailarchive/forum.php?thread_name=CAFLxGvz2wdfRtryzJ1t0G11rxzOmhdNEVi6A%3DXS5uLG0PA7VAQ%40mail.gmail.com&forum_name=user-mode-linux-user >>>>>> which seems to indicate that SKAS3 isn't being maintained but mentions >>>>>> SKAS0. Can anyone tell me what SKAS0 is, what the disadvantages >>>>>> compared to SKAS3 are and, where I can get a patch for it? >>>>> >>>>> SKAS0 is in mainline and it's default for UML. >>>>> (The old tt-mode is gone.) >>>>> >>>>> SKAS0 is mostly SKAS3 but completely different implemented. >>>>> >>>>> And yeah, it's time to clean up the UML website. >>>>> I have write-access to http://user-mode-linux.sourceforge.net/. >>>>> Maybe we can combine it with http://uml.devloop.org.uk/. >>>>> Antoine, what do you think? >>>> Sure, it might be worth adding a FAQ, that sort of thing. >>>> I could setup a trac/wiki if that's any help? >>>> >>> >>> I'm not sure what the best (and easiest) solution is. >>> >>> We could use a hosted wiki from sourceforge.net and redirect >>> http://user-mode-linux.sourceforge.net/index.html to it, >>> such that all old links to http://user-mode-linux.sourceforge.net/* don't break. >>> >> I've started re-organizing and adding a FAQ: >> http://uml.devloop.org.uk/faq.html >> There's a lot of content spread out everywhere, plus I'm scouring the >> mailing list for gems I know I have read but forgot to save.. >> This is going to take some time. It is a good idea to keep the old links >> in place, there is a lot of information there, even if quite a large >> portion of it is either outdated or no longer relevant.. >> > > Very nice! > Am I also allowed to edit the FAQ? This is just a bunch of html pages at the moment, haven't really thought about using a wiki yet.. until then, feel free to send me stuff in plain-text, patch or whatever and I'll edit them. Cheers Antoine |
|
From: Rusty R. <ru...@ru...> - 2012-02-16 03:52:08
|
From: Rusty Russell <ru...@ru...>
This has been obsolescent for a while; time for the final push.
In adjacent context, replaced old cpus_* with cpumask_*.
Signed-off-by: Rusty Russell <ru...@ru...>
Acked-by: David S. Miller <da...@da...> (arch/sparc)
Acked-by: Chris Metcalf <cme...@ti...> (arch/tile)
Cc: use...@li...
Cc: Russell King <li...@ar...>
Cc: lin...@li...
Cc: Richard Kuo <rk...@co...>
Cc: lin...@vg...
Cc: Ralf Baechle <ra...@li...>
Cc: lin...@li...
Cc: Kyle McMartin <ky...@mc...>
Cc: Helge Deller <de...@gm...>
Cc: "James E.J. Bottomley" <je...@pa...>
Cc: lin...@vg...
Cc: Benjamin Herrenschmidt <be...@ke...>
Cc: Paul Mackerras <pa...@sa...>
Cc: lin...@li...
Cc: Paul Mundt <le...@li...>
Cc: lin...@vg...
Cc: spa...@vg...
---
arch/arm/kernel/kprobes.c | 4 ++--
arch/arm/kernel/smp.c | 7 ++++---
arch/hexagon/kernel/smp.c | 8 ++++----
arch/mips/cavium-octeon/smp.c | 2 +-
arch/mips/kernel/mips-mt-fpaff.c | 2 +-
arch/mips/kernel/proc.c | 2 +-
arch/mips/kernel/smp-bmips.c | 2 +-
arch/mips/kernel/smp.c | 27 ++++++++++++---------------
arch/mips/kernel/smtc.c | 2 +-
arch/mips/mm/c-octeon.c | 6 +++---
arch/mips/netlogic/common/smp.c | 6 +++---
arch/mips/pmc-sierra/yosemite/smp.c | 6 +++---
arch/mips/sgi-ip27/ip27-smp.c | 2 +-
arch/mips/sibyte/bcm1480/smp.c | 5 ++---
arch/mips/sibyte/sb1250/smp.c | 7 +++----
arch/parisc/kernel/smp.c | 3 +--
arch/powerpc/platforms/wsp/smp.c | 2 +-
arch/sh/kernel/smp.c | 2 +-
arch/sh/kernel/topology.c | 2 +-
arch/sparc/kernel/leon_kernel.c | 6 +++---
arch/tile/kernel/setup.c | 6 +++---
arch/um/kernel/skas/process.c | 2 +-
arch/um/kernel/smp.c | 9 ++++-----
23 files changed, 57 insertions(+), 63 deletions(-)
diff --git a/arch/arm/kernel/kprobes.c b/arch/arm/kernel/kprobes.c
--- a/arch/arm/kernel/kprobes.c
+++ b/arch/arm/kernel/kprobes.c
@@ -127,7 +127,7 @@ void __kprobes arch_arm_kprobe(struct kp
flush_insns(addr, sizeof(u16));
} else if (addr & 2) {
/* A 32-bit instruction spanning two words needs special care */
- stop_machine(set_t32_breakpoint, (void *)addr, &cpu_online_map);
+ stop_machine(set_t32_breakpoint, (void *)addr, cpu_online_mask);
} else {
/* Word aligned 32-bit instruction can be written atomically */
u32 bkp = KPROBE_THUMB32_BREAKPOINT_INSTRUCTION;
@@ -190,7 +190,7 @@ int __kprobes __arch_disarm_kprobe(void
void __kprobes arch_disarm_kprobe(struct kprobe *p)
{
- stop_machine(__arch_disarm_kprobe, p, &cpu_online_map);
+ stop_machine(__arch_disarm_kprobe, p, cpu_online_mask);
}
void __kprobes arch_remove_kprobe(struct kprobe *p)
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -359,7 +359,7 @@ void __init smp_prepare_cpus(unsigned in
* re-initialize the map in platform_smp_prepare_cpus() if
* present != possible (e.g. physical hotplug).
*/
- init_cpu_present(&cpu_possible_map);
+ init_cpu_present(cpu_possible_mask);
/*
* Initialise the SCU if there are more than one CPU
@@ -577,8 +577,9 @@ void smp_send_stop(void)
unsigned long timeout;
if (num_online_cpus() > 1) {
- cpumask_t mask = cpu_online_map;
- cpu_clear(smp_processor_id(), mask);
+ struct cpumask mask;
+ cpumask_copy(&mask, cpu_online_mask);
+ cpumask_clear_cpu(smp_processor_id(), &mask);
smp_cross_call(&mask, IPI_CPU_STOP);
}
diff --git a/arch/hexagon/kernel/smp.c b/arch/hexagon/kernel/smp.c
--- a/arch/hexagon/kernel/smp.c
+++ b/arch/hexagon/kernel/smp.c
@@ -36,7 +36,7 @@
#define BASE_IPI_IRQ 26
/*
- * cpu_possible_map needs to be filled out prior to setup_per_cpu_areas
+ * cpu_possible_mask needs to be filled out prior to setup_per_cpu_areas
* (which is prior to any of our smp_prepare_cpu crap), in order to set
* up the... per_cpu areas.
*/
@@ -211,7 +211,7 @@ int __cpuinit __cpu_up(unsigned int cpu)
stack_start = ((void *) thread) + THREAD_SIZE;
__vmstart(start_secondary, stack_start);
- while (!cpu_isset(cpu, cpu_online_map))
+ while (!cpu_online(cpu))
barrier();
return 0;
@@ -232,7 +232,7 @@ void __init smp_prepare_cpus(unsigned in
/* Right now, let's just fake it. */
for (i = 0; i < max_cpus; i++)
- cpu_set(i, cpu_present_map);
+ set_cpu_present(i, true);
/* Also need to register the interrupts for IPI */
if (max_cpus > 1)
@@ -272,5 +272,5 @@ void smp_start_cpus(void)
int i;
for (i = 0; i < NR_CPUS; i++)
- cpu_set(i, cpu_possible_map);
+ set_cpu_possible(i, true);
}
diff --git a/arch/mips/cavium-octeon/smp.c b/arch/mips/cavium-octeon/smp.c
--- a/arch/mips/cavium-octeon/smp.c
+++ b/arch/mips/cavium-octeon/smp.c
@@ -268,7 +268,7 @@ static int octeon_cpu_disable(void)
spin_lock(&smp_reserve_lock);
- cpu_clear(cpu, cpu_online_map);
+ set_cpu_online(cpu, false);
cpu_clear(cpu, cpu_callin_map);
local_irq_disable();
fixup_irqs();
diff --git a/arch/mips/kernel/mips-mt-fpaff.c b/arch/mips/kernel/mips-mt-fpaff.c
--- a/arch/mips/kernel/mips-mt-fpaff.c
+++ b/arch/mips/kernel/mips-mt-fpaff.c
@@ -173,7 +173,7 @@ asmlinkage long mipsmt_sys_sched_getaffi
if (retval)
goto out_unlock;
- cpus_and(mask, p->thread.user_cpus_allowed, cpu_possible_map);
+ cpumask_and(&mask, &p->thread.user_cpus_allowed, cpu_possible_mask);
out_unlock:
read_unlock(&tasklist_lock);
diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
--- a/arch/mips/kernel/proc.c
+++ b/arch/mips/kernel/proc.c
@@ -25,7 +25,7 @@ static int show_cpuinfo(struct seq_file
int i;
#ifdef CONFIG_SMP
- if (!cpu_isset(n, cpu_online_map))
+ if (!cpu_online(n))
return 0;
#endif
diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c
--- a/arch/mips/kernel/smp-bmips.c
+++ b/arch/mips/kernel/smp-bmips.c
@@ -319,7 +319,7 @@ static int bmips_cpu_disable(void)
pr_info("SMP: CPU%d is offline\n", cpu);
- cpu_clear(cpu, cpu_online_map);
+ set_cpu_online(cpu, false);
cpu_clear(cpu, cpu_callin_map);
local_flush_tlb_all();
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -148,7 +148,7 @@ static void stop_this_cpu(void *dummy)
/*
* Remove this CPU:
*/
- cpu_clear(smp_processor_id(), cpu_online_map);
+ set_cpu_online(smp_processor_id(), false);
for (;;) {
if (cpu_wait)
(*cpu_wait)(); /* Wait if available. */
@@ -174,7 +174,7 @@ void __init smp_prepare_cpus(unsigned in
mp_ops->prepare_cpus(max_cpus);
set_cpu_sibling_map(0);
#ifndef CONFIG_HOTPLUG_CPU
- init_cpu_present(&cpu_possible_map);
+ init_cpu_present(cpu_possible_mask);
#endif
}
@@ -248,7 +248,7 @@ int __cpuinit __cpu_up(unsigned int cpu)
while (!cpu_isset(cpu, cpu_callin_map))
udelay(100);
- cpu_set(cpu, cpu_online_map);
+ set_cpu_online(cpu, true);
return 0;
}
@@ -320,13 +320,12 @@ void flush_tlb_mm(struct mm_struct *mm)
if ((atomic_read(&mm->mm_users) != 1) || (current->mm != mm)) {
smp_on_other_tlbs(flush_tlb_mm_ipi, mm);
} else {
- cpumask_t mask = cpu_online_map;
unsigned int cpu;
- cpu_clear(smp_processor_id(), mask);
- for_each_cpu_mask(cpu, mask)
- if (cpu_context(cpu, mm))
+ for_each_online_cpu(cpu) {
+ if (cpu != smp_processor_id() && cpu_context(cpu, mm))
cpu_context(cpu, mm) = 0;
+ }
}
local_flush_tlb_mm(mm);
@@ -360,13 +359,12 @@ void flush_tlb_range(struct vm_area_stru
smp_on_other_tlbs(flush_tlb_range_ipi, &fd);
} else {
- cpumask_t mask = cpu_online_map;
unsigned int cpu;
- cpu_clear(smp_processor_id(), mask);
- for_each_cpu_mask(cpu, mask)
- if (cpu_context(cpu, mm))
+ for_each_online_cpu(cpu) {
+ if (cpu != smp_processor_id() && cpu_context(cpu, mm))
cpu_context(cpu, mm) = 0;
+ }
}
local_flush_tlb_range(vma, start, end);
preempt_enable();
@@ -407,13 +405,12 @@ void flush_tlb_page(struct vm_area_struc
smp_on_other_tlbs(flush_tlb_page_ipi, &fd);
} else {
- cpumask_t mask = cpu_online_map;
unsigned int cpu;
- cpu_clear(smp_processor_id(), mask);
- for_each_cpu_mask(cpu, mask)
- if (cpu_context(cpu, vma->vm_mm))
+ for_each_online_cpu(cpu) {
+ if (cpu != smp_processor_id() && cpu_context(cpu, vma->vm_mm))
cpu_context(cpu, vma->vm_mm) = 0;
+ }
}
local_flush_tlb_page(vma, page);
preempt_enable();
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c
--- a/arch/mips/kernel/smtc.c
+++ b/arch/mips/kernel/smtc.c
@@ -292,7 +292,7 @@ static void smtc_configure_tlb(void)
* possibly leave some TCs/VPEs as "slave" processors.
*
* Use c0_MVPConf0 to find out how many TCs are available, setting up
- * cpu_possible_map and the logical/physical mappings.
+ * cpu_possible_mask and the logical/physical mappings.
*/
int __init smtc_build_cpu_map(int start_cpu_slot)
diff --git a/arch/mips/mm/c-octeon.c b/arch/mips/mm/c-octeon.c
--- a/arch/mips/mm/c-octeon.c
+++ b/arch/mips/mm/c-octeon.c
@@ -81,9 +81,9 @@ static void octeon_flush_icache_all_core
if (vma)
mask = *mm_cpumask(vma->vm_mm);
else
- mask = cpu_online_map;
- cpu_clear(cpu, mask);
- for_each_cpu_mask(cpu, mask)
+ mask = *cpu_online_mask;
+ cpumask_clear_cpu(cpu, &mask);
+ for_each_cpu(cpu, &mask)
octeon_send_ipi_single(cpu, SMP_ICACHE_FLUSH);
preempt_enable();
diff --git a/arch/mips/netlogic/common/smp.c b/arch/mips/netlogic/common/smp.c
--- a/arch/mips/netlogic/common/smp.c
+++ b/arch/mips/netlogic/common/smp.c
@@ -165,7 +165,7 @@ void __init nlm_smp_setup(void)
cpu_set(boot_cpu, phys_cpu_present_map);
__cpu_number_map[boot_cpu] = 0;
__cpu_logical_map[0] = boot_cpu;
- cpu_set(0, cpu_possible_map);
+ set_cpu_possible(0, true);
num_cpus = 1;
for (i = 0; i < NR_CPUS; i++) {
@@ -177,14 +177,14 @@ void __init nlm_smp_setup(void)
cpu_set(i, phys_cpu_present_map);
__cpu_number_map[i] = num_cpus;
__cpu_logical_map[num_cpus] = i;
- cpu_set(num_cpus, cpu_possible_map);
+ set_cpu_possible(num_cpus, true);
++num_cpus;
}
}
pr_info("Phys CPU present map: %lx, possible map %lx\n",
(unsigned long)phys_cpu_present_map.bits[0],
- (unsigned long)cpu_possible_map.bits[0]);
+ (unsigned long)cpumask_bits(cpu_possible_mask)[0]);
pr_info("Detected %i Slave CPU(s)\n", num_cpus);
nlm_set_nmi_handler(nlm_boot_secondary_cpus);
diff --git a/arch/mips/pmc-sierra/yosemite/smp.c b/arch/mips/pmc-sierra/yosemite/smp.c
--- a/arch/mips/pmc-sierra/yosemite/smp.c
+++ b/arch/mips/pmc-sierra/yosemite/smp.c
@@ -155,10 +155,10 @@ static void __init yos_smp_setup(void)
{
int i;
- cpus_clear(cpu_possible_map);
+ init_cpu_possible(cpu_none_mask);
for (i = 0; i < 2; i++) {
- cpu_set(i, cpu_possible_map);
+ set_cpu_possible(i, true);
__cpu_number_map[i] = i;
__cpu_logical_map[i] = i;
}
@@ -169,7 +169,7 @@ static void __init yos_prepare_cpus(unsi
/*
* Be paranoid. Enable the IPI only if we're really about to go SMP.
*/
- if (cpus_weight(cpu_possible_map))
+ if (num_possible_cpus())
set_c0_status(STATUSF_IP5);
}
diff --git a/arch/mips/sgi-ip27/ip27-smp.c b/arch/mips/sgi-ip27/ip27-smp.c
--- a/arch/mips/sgi-ip27/ip27-smp.c
+++ b/arch/mips/sgi-ip27/ip27-smp.c
@@ -76,7 +76,7 @@ static int do_cpumask(cnodeid_t cnode, n
/* Only let it join in if it's marked enabled */
if ((acpu->cpu_info.flags & KLINFO_ENABLE) &&
(tot_cpus_found != NR_CPUS)) {
- cpu_set(cpuid, cpu_possible_map);
+ set_cpu_possible(cpuid, true);
alloc_cpupda(cpuid, tot_cpus_found);
cpus_found++;
tot_cpus_found++;
diff --git a/arch/mips/sibyte/bcm1480/smp.c b/arch/mips/sibyte/bcm1480/smp.c
--- a/arch/mips/sibyte/bcm1480/smp.c
+++ b/arch/mips/sibyte/bcm1480/smp.c
@@ -147,14 +147,13 @@ static void __init bcm1480_smp_setup(voi
{
int i, num;
- cpus_clear(cpu_possible_map);
- cpu_set(0, cpu_possible_map);
+ init_cpu_possible(cpumask_of(0));
__cpu_number_map[0] = 0;
__cpu_logical_map[0] = 0;
for (i = 1, num = 0; i < NR_CPUS; i++) {
if (cfe_cpu_stop(i) == 0) {
- cpu_set(i, cpu_possible_map);
+ set_cpu_possible(i, true);
__cpu_number_map[i] = ++num;
__cpu_logical_map[num] = i;
}
diff --git a/arch/mips/sibyte/sb1250/smp.c b/arch/mips/sibyte/sb1250/smp.c
--- a/arch/mips/sibyte/sb1250/smp.c
+++ b/arch/mips/sibyte/sb1250/smp.c
@@ -126,7 +126,7 @@ static void __cpuinit sb1250_boot_second
/*
* Use CFE to find out how many CPUs are available, setting up
- * cpu_possible_map and the logical/physical mappings.
+ * cpu_possible_mask and the logical/physical mappings.
* XXXKW will the boot CPU ever not be physical 0?
*
* Common setup before any secondaries are started
@@ -135,14 +135,13 @@ static void __init sb1250_smp_setup(void
{
int i, num;
- cpus_clear(cpu_possible_map);
- cpu_set(0, cpu_possible_map);
+ init_cpu_possible(cpumask_of(0));
__cpu_number_map[0] = 0;
__cpu_logical_map[0] = 0;
for (i = 1, num = 0; i < NR_CPUS; i++) {
if (cfe_cpu_stop(i) == 0) {
- cpu_set(i, cpu_possible_map);
+ set_cpu_possible(i, true);
__cpu_number_map[i] = ++num;
__cpu_logical_map[num] = i;
}
diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c
--- a/arch/parisc/kernel/smp.c
+++ b/arch/parisc/kernel/smp.c
@@ -291,8 +291,7 @@ smp_cpu_init(int cpunum)
mb();
/* Well, support 2.4 linux scheme as well. */
- if (cpu_isset(cpunum, cpu_online_map))
- {
+ if (cpu_online(cpunum)) {
extern void machine_halt(void); /* arch/parisc.../process.c */
printk(KERN_CRIT "CPU#%d already initialized!\n", cpunum);
diff --git a/arch/powerpc/platforms/wsp/smp.c b/arch/powerpc/platforms/wsp/smp.c
--- a/arch/powerpc/platforms/wsp/smp.c
+++ b/arch/powerpc/platforms/wsp/smp.c
@@ -71,7 +71,7 @@ int __devinit smp_a2_kick_cpu(int nr)
static int __init smp_a2_probe(void)
{
- return cpus_weight(cpu_possible_map);
+ return num_possible_cpus();
}
static struct smp_ops_t a2_smp_ops = {
diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c
--- a/arch/sh/kernel/smp.c
+++ b/arch/sh/kernel/smp.c
@@ -63,7 +63,7 @@ void __init smp_prepare_cpus(unsigned in
mp_ops->prepare_cpus(max_cpus);
#ifndef CONFIG_HOTPLUG_CPU
- init_cpu_present(&cpu_possible_map);
+ init_cpu_present(cpu_possible_mask);
#endif
}
diff --git a/arch/sh/kernel/topology.c b/arch/sh/kernel/topology.c
--- a/arch/sh/kernel/topology.c
+++ b/arch/sh/kernel/topology.c
@@ -27,7 +27,7 @@ static cpumask_t cpu_coregroup_map(unsig
* Presently all SH-X3 SMP cores are multi-cores, so just keep it
* simple until we have a method for determining topology..
*/
- return cpu_possible_map;
+ return *cpu_possible_mask;
}
const struct cpumask *cpu_coregroup_mask(unsigned int cpu)
diff --git a/arch/sparc/kernel/leon_kernel.c b/arch/sparc/kernel/leon_kernel.c
--- a/arch/sparc/kernel/leon_kernel.c
+++ b/arch/sparc/kernel/leon_kernel.c
@@ -104,11 +104,11 @@ static int irq_choose_cpu(const struct c
{
cpumask_t mask;
- cpus_and(mask, cpu_online_map, *affinity);
- if (cpus_equal(mask, cpu_online_map) || cpus_empty(mask))
+ cpumask_and(&mask, cpu_online_mask, affinity);
+ if (cpumask_equal(&mask, cpu_online_mask) || cpumask_empty(&mask))
return boot_cpu_id;
else
- return first_cpu(mask);
+ return cpumask_first(&mask);
}
#else
#define irq_choose_cpu(affinity) boot_cpu_id
diff --git a/arch/tile/kernel/setup.c b/arch/tile/kernel/setup.c
--- a/arch/tile/kernel/setup.c
+++ b/arch/tile/kernel/setup.c
@@ -1186,7 +1186,7 @@ static void __init setup_cpu_maps(void)
sizeof(cpu_lotar_map));
if (rc < 0) {
pr_err("warning: no HV_INQ_TILES_LOTAR; using AVAIL\n");
- cpu_lotar_map = cpu_possible_map;
+ cpu_lotar_map = *cpu_possible_mask;
}
#if CHIP_HAS_CBOX_HOME_MAP()
@@ -1196,9 +1196,9 @@ static void __init setup_cpu_maps(void)
sizeof(hash_for_home_map));
if (rc < 0)
early_panic("hv_inquire_tiles(HFH_CACHE) failed: rc %d\n", rc);
- cpumask_or(&cpu_cacheable_map, &cpu_possible_map, &hash_for_home_map);
+ cpumask_or(&cpu_cacheable_map, cpu_possible_mask, &hash_for_home_map);
#else
- cpu_cacheable_map = cpu_possible_map;
+ cpu_cacheable_map = *cpu_possible_mask;
#endif
}
diff --git a/arch/um/kernel/skas/process.c b/arch/um/kernel/skas/process.c
--- a/arch/um/kernel/skas/process.c
+++ b/arch/um/kernel/skas/process.c
@@ -41,7 +41,7 @@ static int __init start_kernel_proc(void
cpu_tasks[0].pid = pid;
cpu_tasks[0].task = current;
#ifdef CONFIG_SMP
- cpu_online_map = cpumask_of_cpu(0);
+ init_cpu_online(get_cpu_mask(0));
#endif
start_kernel();
return 0;
diff --git a/arch/um/kernel/smp.c b/arch/um/kernel/smp.c
--- a/arch/um/kernel/smp.c
+++ b/arch/um/kernel/smp.c
@@ -76,7 +76,7 @@ static int idle_proc(void *cpup)
cpu_relax();
notify_cpu_starting(cpu);
- cpu_set(cpu, cpu_online_map);
+ set_cpu_online(cpu, true);
default_idle();
return 0;
}
@@ -110,8 +110,7 @@ void smp_prepare_cpus(unsigned int maxcp
for (i = 0; i < ncpus; ++i)
set_cpu_possible(i, true);
- cpu_clear(me, cpu_online_map);
- cpu_set(me, cpu_online_map);
+ set_cpu_online(me, true);
cpu_set(me, cpu_callin_map);
err = os_pipe(cpu_data[me].ipi_pipe, 1, 1);
@@ -138,13 +137,13 @@ void smp_prepare_cpus(unsigned int maxcp
void smp_prepare_boot_cpu(void)
{
- cpu_set(smp_processor_id(), cpu_online_map);
+ set_cpu_online(smp_processor_id(), true);
}
int __cpu_up(unsigned int cpu)
{
cpu_set(cpu, smp_commenced_mask);
- while (!cpu_isset(cpu, cpu_online_map))
+ while (!cpu_online(cpu))
mb();
return 0;
}
|