From bz at FreeBSD.org Sat May 24 12:20:02 2008 From: bz at FreeBSD.org (Bjoern A. Zeeb) Date: Sat May 24 12:20:08 2008 Subject: Welcome to freebsd-virtualization Message-ID: <20080524114832.T65662@maildrop.int.zabbadoz.net> Hi, the main purpose for freebsd-virtualization is going to be: A list to discuss the various virtualization techniques FreeBSD supports. On one hand the focus will be on the implementation of the basic functionality as well as adding new features. On the other hand users will have a forum to ask for help in case of problems or to discuss their use cases. !!! !!! !!! However for the next months it will be purely used to discuss the technical details of bringing vimage into the FreeBSD tree. During this time neither bikesheds nor discussions of one virtualization technique over the overs are welcome. So please refrain from starting threads like those. !!! !!! !!! Once the basic vimage framework will be in the src tree, I'll send a follow-up posting to this list and to others and we will try to fold all jail, xen, vimage, ... discussions into this single list as a lot of people seem to use more than one technique. By that time the list will be open to discuss all relevant subjects. It will then also help to better coordinate efforts to avoid duplication of work and enhance user experience as people familiar with the different methods will be around. Greetings Bjoern -- Bjoern A. Zeeb Stop bit received. Insert coin for new game. From kris at FreeBSD.org Sat May 24 15:30:55 2008 From: kris at FreeBSD.org (Kris Kennaway) Date: Sat May 24 15:30:57 2008 Subject: vimage kernel broken Message-ID: <483834AD.9050208@FreeBSD.org> I tried to boot a kernel taken from the vimage p4 branch, but it panics when starting lockd during multiuser boot: Kris ---- Starting lockd. Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0x0 fault code = supervisor read, page not present instruction pointer = 0x20:0xc08afb8e stack pointer = 0x28:0xc6f3f8a8 frame pointer = 0x28:0xc6f3f8fc code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 764 (rpc.lockd) [thread pid 764 tid 100047 ] Stopped at sa6_recoverscope+0x7e: movl 0(%eax),%edi db> wh Tracing pid 764 tid 100047 td 0xc71cbcc0 sa6_recoverscope(c71e0c00,1c,2,0,c82c0c4c,...) at sa6_recoverscope+0x7e in6_sockaddr(0,c6f3f930,1f8,0,0,...) at in6_sockaddr+0x6d in6_getsockaddr(c833c318,c6f3f98c,c833c318,c6f3f9e8,c6f3f9a0,...) at in6_getsockaddr+0x89 in6_mapped_sockaddr(c833c318,c6f3f98c,c71cbd64,c0afde50,c6f3f9a0,...) at in6_mapped_sockaddr+0x5c __rpc_socket2sockinfo(c833c318,c6f3f9e8,c0c09db4,4,c0ad9548,...) at __rpc_socket2sockinfo+0x28 clnt_dg_create(c833c318,c6f3faa4,186a0,4,0,...) at clnt_dg_create+0x3f nlm_get_rpc(c6f3fc04,1c,2,0,c7080800,...) at nlm_get_rpc+0xb8 nlm_syscall(c71cbcc0,c6f3fcfc,10,c71cbcc0,c0b93370,...) at nlm_syscall+0x227 syscall(c6f3fd38) at syscall+0x2a3 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (154, FreeBSD ELF32, nlm_syscall), eip = 0x280e315b, esp = 0xbfbfedbc, ebp = 0xbfbfee88 --- From kris at FreeBSD.org Sat May 24 21:11:51 2008 From: kris at FreeBSD.org (Kris Kennaway) Date: Sat May 24 21:11:53 2008 Subject: vimage kernel broken In-Reply-To: References: <483834AD.9050208@FreeBSD.org> Message-ID: <48388496.8090707@FreeBSD.org> Julian Elischer wrote: > > On May 24, 2008, at 8:30 AM, Kris Kennaway wrote: > >> I tried to boot a kernel taken from the vimage p4 branch, but it >> panics when starting lockd during multiuser boot: > > this is believable. > Particularly as I see you are using IPv6 and I don't have IPv6 test > facilities. > > nlm? hmm what were you doing? As mentioned, just booting the system with rpc.lockd enabled in rc.conf. A kernel with IPv6 compiled in is all that's needed. Kris > > >> >> >> Kris >> >> ---- >> Starting lockd. >> >> >> Fatal trap 12: page fault while in kernel mode >> cpuid = 0; apic id = 00 >> fault virtual address = 0x0 >> fault code = supervisor read, page not present >> instruction pointer = 0x20:0xc08afb8e >> stack pointer = 0x28:0xc6f3f8a8 >> frame pointer = 0x28:0xc6f3f8fc >> code segment = base 0x0, limit 0xfffff, type 0x1b >> = DPL 0, pres 1, def32 1, gran 1 >> processor eflags = interrupt enabled, resume, IOPL = 0 >> current process = 764 (rpc.lockd) >> [thread pid 764 tid 100047 ] >> Stopped at sa6_recoverscope+0x7e: movl 0(%eax),%edi >> db> wh >> Tracing pid 764 tid 100047 td 0xc71cbcc0 >> sa6_recoverscope(c71e0c00,1c,2,0,c82c0c4c,...) at sa6_recoverscope+0x7e >> in6_sockaddr(0,c6f3f930,1f8,0,0,...) at in6_sockaddr+0x6d >> in6_getsockaddr(c833c318,c6f3f98c,c833c318,c6f3f9e8,c6f3f9a0,...) at >> in6_getsockaddr+0x89 >> in6_mapped_sockaddr(c833c318,c6f3f98c,c71cbd64,c0afde50,c6f3f9a0,...) >> at in6_mapped_sockaddr+0x5c >> __rpc_socket2sockinfo(c833c318,c6f3f9e8,c0c09db4,4,c0ad9548,...) at >> __rpc_socket2sockinfo+0x28 >> clnt_dg_create(c833c318,c6f3faa4,186a0,4,0,...) at clnt_dg_create+0x3f >> nlm_get_rpc(c6f3fc04,1c,2,0,c7080800,...) at nlm_get_rpc+0xb8 >> nlm_syscall(c71cbcc0,c6f3fcfc,10,c71cbcc0,c0b93370,...) at >> nlm_syscall+0x227 >> syscall(c6f3fd38) at syscall+0x2a3 >> Xint0x80_syscall() at Xint0x80_syscall+0x20 >> --- syscall (154, FreeBSD ELF32, nlm_syscall), eip = 0x280e315b, esp = >> 0xbfbfedbc, ebp = 0xbfbfee88 --- > > From julian at elischer.org Sat May 24 21:12:48 2008 From: julian at elischer.org (Julian Elischer) Date: Sat May 24 21:20:25 2008 Subject: vimage kernel broken In-Reply-To: <483834AD.9050208@FreeBSD.org> References: <483834AD.9050208@FreeBSD.org> Message-ID: On May 24, 2008, at 8:30 AM, Kris Kennaway wrote: > I tried to boot a kernel taken from the vimage p4 branch, but it > panics when starting lockd during multiuser boot: this is believable. Particularly as I see you are using IPv6 and I don't have IPv6 test facilities. nlm? hmm what were you doing? > > > Kris > > ---- > Starting lockd. > > > Fatal trap 12: page fault while in kernel mode > cpuid = 0; apic id = 00 > fault virtual address = 0x0 > fault code = supervisor read, page not present > instruction pointer = 0x20:0xc08afb8e > stack pointer = 0x28:0xc6f3f8a8 > frame pointer = 0x28:0xc6f3f8fc > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 764 (rpc.lockd) > [thread pid 764 tid 100047 ] > Stopped at sa6_recoverscope+0x7e: movl 0(%eax),%edi > db> wh > Tracing pid 764 tid 100047 td 0xc71cbcc0 > sa6_recoverscope(c71e0c00,1c,2,0,c82c0c4c,...) at sa6_recoverscope > +0x7e > in6_sockaddr(0,c6f3f930,1f8,0,0,...) at in6_sockaddr+0x6d > in6_getsockaddr(c833c318,c6f3f98c,c833c318,c6f3f9e8,c6f3f9a0,...) at > in6_getsockaddr+0x89 > in6_mapped_sockaddr > (c833c318,c6f3f98c,c71cbd64,c0afde50,c6f3f9a0,...) at > in6_mapped_sockaddr+0x5c > __rpc_socket2sockinfo(c833c318,c6f3f9e8,c0c09db4,4,c0ad9548,...) at > __rpc_socket2sockinfo+0x28 > clnt_dg_create(c833c318,c6f3faa4,186a0,4,0,...) at clnt_dg_create+0x3f > nlm_get_rpc(c6f3fc04,1c,2,0,c7080800,...) at nlm_get_rpc+0xb8 > nlm_syscall(c71cbcc0,c6f3fcfc,10,c71cbcc0,c0b93370,...) at > nlm_syscall+0x227 > syscall(c6f3fd38) at syscall+0x2a3 > Xint0x80_syscall() at Xint0x80_syscall+0x20 > --- syscall (154, FreeBSD ELF32, nlm_syscall), eip = 0x280e315b, esp > = 0xbfbfedbc, ebp = 0xbfbfee88 --- From julian at elischer.org Sat May 24 21:24:30 2008 From: julian at elischer.org (Julian Elischer) Date: Sat May 24 21:26:16 2008 Subject: vimage kernel broken In-Reply-To: <48388496.8090707@FreeBSD.org> References: <483834AD.9050208@FreeBSD.org> <48388496.8090707@FreeBSD.org> Message-ID: On May 24, 2008, at 2:11 PM, Kris Kennaway wrote: > Julian Elischer wrote: >> On May 24, 2008, at 8:30 AM, Kris Kennaway wrote: >>> I tried to boot a kernel taken from the vimage p4 branch, but it >>> panics when starting lockd during multiuser boot: >> this is believable. >> Particularly as I see you are using IPv6 and I don't have IPv6 test >> facilities. >> nlm? hmm what were you doing? > > As mentioned, just booting the system with rpc.lockd enabled in > rc.conf. A kernel with IPv6 compiled in is all that's needed. I'll see if I can find a smoking gun. > > > Kris > >>> >>> >>> Kris >>> >>> ---- >>> Starting lockd. >>> >>> >>> Fatal trap 12: page fault while in kernel mode >>> cpuid = 0; apic id = 00 >>> fault virtual address = 0x0 >>> fault code = supervisor read, page not present >>> instruction pointer = 0x20:0xc08afb8e >>> stack pointer = 0x28:0xc6f3f8a8 >>> frame pointer = 0x28:0xc6f3f8fc >>> code segment = base 0x0, limit 0xfffff, type 0x1b >>> = DPL 0, pres 1, def32 1, gran 1 >>> processor eflags = interrupt enabled, resume, IOPL = 0 >>> current process = 764 (rpc.lockd) >>> [thread pid 764 tid 100047 ] >>> Stopped at sa6_recoverscope+0x7e: movl 0(%eax),%edi >>> db> wh >>> Tracing pid 764 tid 100047 td 0xc71cbcc0 >>> sa6_recoverscope(c71e0c00,1c,2,0,c82c0c4c,...) at sa6_recoverscope >>> +0x7e >>> in6_sockaddr(0,c6f3f930,1f8,0,0,...) at in6_sockaddr+0x6d >>> in6_getsockaddr(c833c318,c6f3f98c,c833c318,c6f3f9e8,c6f3f9a0,...) >>> at in6_getsockaddr+0x89 >>> in6_mapped_sockaddr >>> (c833c318,c6f3f98c,c71cbd64,c0afde50,c6f3f9a0,...) at >>> in6_mapped_sockaddr+0x5c >>> __rpc_socket2sockinfo(c833c318,c6f3f9e8,c0c09db4,4,c0ad9548,...) >>> at __rpc_socket2sockinfo+0x28 >>> clnt_dg_create(c833c318,c6f3faa4,186a0,4,0,...) at clnt_dg_create >>> +0x3f >>> nlm_get_rpc(c6f3fc04,1c,2,0,c7080800,...) at nlm_get_rpc+0xb8 >>> nlm_syscall(c71cbcc0,c6f3fcfc,10,c71cbcc0,c0b93370,...) at >>> nlm_syscall+0x227 >>> syscall(c6f3fd38) at syscall+0x2a3 >>> Xint0x80_syscall() at Xint0x80_syscall+0x20 >>> --- syscall (154, FreeBSD ELF32, nlm_syscall), eip = 0x280e315b, >>> esp = 0xbfbfedbc, ebp = 0xbfbfee88 --- From zec at icir.org Mon May 26 11:26:37 2008 From: zec at icir.org (Marko Zec) Date: Mon May 26 11:26:42 2008 Subject: vimage kernel broken In-Reply-To: <48388496.8090707@FreeBSD.org> References: <483834AD.9050208@FreeBSD.org> <48388496.8090707@FreeBSD.org> Message-ID: <200805261304.20497.zec@icir.org> On Saturday 24 May 2008 23:11:50 Kris Kennaway wrote: > Julian Elischer wrote: > > On May 24, 2008, at 8:30 AM, Kris Kennaway wrote: > >> I tried to boot a kernel taken from the vimage p4 branch, but it > >> panics when starting lockd during multiuser boot: > > > > this is believable. > > Particularly as I see you are using IPv6 and I don't have IPv6 test > > facilities. > > > > nlm? hmm what were you doing? > > As mentioned, just booting the system with rpc.lockd enabled in > rc.conf. A kernel with IPv6 compiled in is all that's needed. Hi, I can't reproduce this with the latest p4 / vimage sources: tca51% uname -a FreeBSD tca51.tel.fer.hr 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Mon May 26 11:32:09 CEST 2008 marko@tca51.tel.fer.hr:/u/marko/p4/vimage/src/sys/i386/compile/VIMAGE i386 tca51% ifconfig bge0: flags=8843 metric 0 mtu 1500 options=9b ether 00:11:25:3b:89:76 inet6 fe80::211:25ff:fe3b:8976%bge0 prefixlen 64 scopeid 0x2 inet 192.168.200.51 netmask 0xffffff00 broadcast 192.168.200.255 inet6 a:2::51 prefixlen 64 media: Ethernet autoselect (100baseTX ) status: active lo0: flags=8049 metric 0 mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 inet 127.0.0.1 netmask 0xff000000 tca51% cat /etc/rc.conf keyrate="fast" moused_enable="YES" ifconfig_bge0="inet 192.168.200.51/24" hostname="tca51.tel.fer.hr" sshd_enable="YES" sendmail_enable="NONE" syslogd_flags="-ss" ipv6_enable="YES" ipv6_network_interfaces="auto" ipv6_defaultrouter="NO" ipv6_ifconfig_bge0="a:2::51 prefixlen 64" rpcbind_enable="YES" nfs_client_enable="YES" nfs_server_enable="YES" rpc_statd_enable="YES" rpc_lockd_enable="YES" tca51% cat /etc/exports /usr -ro tca51% showmount Hosts on localhost: a:2::101 tca51% ps -ax|fgrep rpc 581 ?? Is 0:00.03 /usr/sbin/rpcbind 639 ?? Ss 0:01.57 /usr/sbin/rpc.statd 645 ?? Ss 0:00.01 rpc.lockd: server (rpc.lockd) 850 p0 R+ 0:00.00 fgrep rpc What is it that I'm missing to trigger this panic? BTW capturing the output of "show pcpu" and "show vnets" from the KDB prompt would be useful. In general, curvnet must point to a regular vnet structure while executing any networking code, otherwise it must be set to NULL. Thanks, Marko > Kris > > >> Kris > >> > >> ---- > >> Starting lockd. > >> > >> > >> Fatal trap 12: page fault while in kernel mode > >> cpuid = 0; apic id = 00 > >> fault virtual address = 0x0 > >> fault code = supervisor read, page not present > >> instruction pointer = 0x20:0xc08afb8e > >> stack pointer = 0x28:0xc6f3f8a8 > >> frame pointer = 0x28:0xc6f3f8fc > >> code segment = base 0x0, limit 0xfffff, type 0x1b > >> = DPL 0, pres 1, def32 1, gran 1 > >> processor eflags = interrupt enabled, resume, IOPL = 0 > >> current process = 764 (rpc.lockd) > >> [thread pid 764 tid 100047 ] > >> Stopped at sa6_recoverscope+0x7e: movl 0(%eax),%edi > >> db> wh > >> Tracing pid 764 tid 100047 td 0xc71cbcc0 > >> sa6_recoverscope(c71e0c00,1c,2,0,c82c0c4c,...) at > >> sa6_recoverscope+0x7e in6_sockaddr(0,c6f3f930,1f8,0,0,...) at > >> in6_sockaddr+0x6d > >> in6_getsockaddr(c833c318,c6f3f98c,c833c318,c6f3f9e8,c6f3f9a0,...) > >> at in6_getsockaddr+0x89 > >> in6_mapped_sockaddr(c833c318,c6f3f98c,c71cbd64,c0afde50,c6f3f9a0,. > >>..) at in6_mapped_sockaddr+0x5c > >> __rpc_socket2sockinfo(c833c318,c6f3f9e8,c0c09db4,4,c0ad9548,...) > >> at __rpc_socket2sockinfo+0x28 > >> clnt_dg_create(c833c318,c6f3faa4,186a0,4,0,...) at > >> clnt_dg_create+0x3f nlm_get_rpc(c6f3fc04,1c,2,0,c7080800,...) at > >> nlm_get_rpc+0xb8 > >> nlm_syscall(c71cbcc0,c6f3fcfc,10,c71cbcc0,c0b93370,...) at > >> nlm_syscall+0x227 > >> syscall(c6f3fd38) at syscall+0x2a3 > >> Xint0x80_syscall() at Xint0x80_syscall+0x20 > >> --- syscall (154, FreeBSD ELF32, nlm_syscall), eip = 0x280e315b, > >> esp = 0xbfbfedbc, ebp = 0xbfbfee88 --- From kris at FreeBSD.org Mon May 26 12:13:49 2008 From: kris at FreeBSD.org (Kris Kennaway) Date: Mon May 26 12:13:52 2008 Subject: vimage kernel broken In-Reply-To: <200805261304.20497.zec@icir.org> References: <483834AD.9050208@FreeBSD.org> <48388496.8090707@FreeBSD.org> <200805261304.20497.zec@icir.org> Message-ID: <483AA979.5060504@FreeBSD.org> Marko Zec wrote: > On Saturday 24 May 2008 23:11:50 Kris Kennaway wrote: >> Julian Elischer wrote: >>> On May 24, 2008, at 8:30 AM, Kris Kennaway wrote: >>>> I tried to boot a kernel taken from the vimage p4 branch, but it >>>> panics when starting lockd during multiuser boot: >>> this is believable. >>> Particularly as I see you are using IPv6 and I don't have IPv6 test >>> facilities. >>> >>> nlm? hmm what were you doing? >> As mentioned, just booting the system with rpc.lockd enabled in >> rc.conf. A kernel with IPv6 compiled in is all that's needed. > > Hi, > > I can't reproduce this with the latest p4 / vimage sources: > > tca51% uname -a > FreeBSD tca51.tel.fer.hr 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Mon May 26 > 11:32:09 CEST 2008 > marko@tca51.tel.fer.hr:/u/marko/p4/vimage/src/sys/i386/compile/VIMAGE > i386 > > tca51% ifconfig > bge0: flags=8843 metric 0 mtu > 1500 > options=9b > ether 00:11:25:3b:89:76 > inet6 fe80::211:25ff:fe3b:8976%bge0 prefixlen 64 scopeid 0x2 > inet 192.168.200.51 netmask 0xffffff00 broadcast 192.168.200.255 > inet6 a:2::51 prefixlen 64 > media: Ethernet autoselect (100baseTX ) > status: active > lo0: flags=8049 metric 0 mtu 16384 > inet6 ::1 prefixlen 128 > inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 > inet 127.0.0.1 netmask 0xff000000 > > tca51% cat /etc/rc.conf > keyrate="fast" > moused_enable="YES" > ifconfig_bge0="inet 192.168.200.51/24" > hostname="tca51.tel.fer.hr" > sshd_enable="YES" > sendmail_enable="NONE" > syslogd_flags="-ss" > > ipv6_enable="YES" > ipv6_network_interfaces="auto" > ipv6_defaultrouter="NO" > ipv6_ifconfig_bge0="a:2::51 prefixlen 64" > > rpcbind_enable="YES" > nfs_client_enable="YES" > nfs_server_enable="YES" > rpc_statd_enable="YES" > rpc_lockd_enable="YES" > > tca51% cat /etc/exports > /usr -ro > > tca51% showmount > Hosts on localhost: > a:2::101 > > tca51% ps -ax|fgrep rpc > 581 ?? Is 0:00.03 /usr/sbin/rpcbind > 639 ?? Ss 0:01.57 /usr/sbin/rpc.statd > 645 ?? Ss 0:00.01 rpc.lockd: server (rpc.lockd) > 850 p0 R+ 0:00.00 fgrep rpc > > > What is it that I'm missing to trigger this panic? > > BTW capturing the output of "show pcpu" and "show vnets" from the KDB > prompt would be useful. In general, curvnet must point to a regular > vnet structure while executing any networking code, otherwise it must > be set to NULL. > > Thanks, > > Marko > > >> Kris >> >>>> Kris >>>> >>>> ---- >>>> Starting lockd. >>>> >>>> >>>> Fatal trap 12: page fault while in kernel mode >>>> cpuid = 0; apic id = 00 >>>> fault virtual address = 0x0 >>>> fault code = supervisor read, page not present >>>> instruction pointer = 0x20:0xc08afb8e >>>> stack pointer = 0x28:0xc6f3f8a8 >>>> frame pointer = 0x28:0xc6f3f8fc >>>> code segment = base 0x0, limit 0xfffff, type 0x1b >>>> = DPL 0, pres 1, def32 1, gran 1 >>>> processor eflags = interrupt enabled, resume, IOPL = 0 >>>> current process = 764 (rpc.lockd) >>>> [thread pid 764 tid 100047 ] >>>> Stopped at sa6_recoverscope+0x7e: movl 0(%eax),%edi >>>> db> wh >>>> Tracing pid 764 tid 100047 td 0xc71cbcc0 >>>> sa6_recoverscope(c71e0c00,1c,2,0,c82c0c4c,...) at >>>> sa6_recoverscope+0x7e in6_sockaddr(0,c6f3f930,1f8,0,0,...) at >>>> in6_sockaddr+0x6d >>>> in6_getsockaddr(c833c318,c6f3f98c,c833c318,c6f3f9e8,c6f3f9a0,...) >>>> at in6_getsockaddr+0x89 >>>> in6_mapped_sockaddr(c833c318,c6f3f98c,c71cbd64,c0afde50,c6f3f9a0,. >>>> ..) at in6_mapped_sockaddr+0x5c >>>> __rpc_socket2sockinfo(c833c318,c6f3f9e8,c0c09db4,4,c0ad9548,...) >>>> at __rpc_socket2sockinfo+0x28 >>>> clnt_dg_create(c833c318,c6f3faa4,186a0,4,0,...) at >>>> clnt_dg_create+0x3f nlm_get_rpc(c6f3fc04,1c,2,0,c7080800,...) at >>>> nlm_get_rpc+0xb8 >>>> nlm_syscall(c71cbcc0,c6f3fcfc,10,c71cbcc0,c0b93370,...) at >>>> nlm_syscall+0x227 >>>> syscall(c6f3fd38) at syscall+0x2a3 >>>> Xint0x80_syscall() at Xint0x80_syscall+0x20 >>>> --- syscall (154, FreeBSD ELF32, nlm_syscall), eip = 0x280e315b, >>>> esp = 0xbfbfedbc, ebp = 0xbfbfee88 --- > > > Maybe I am using the wrong branch, can you confirm which is current? Kris From zec at icir.org Mon May 26 12:23:47 2008 From: zec at icir.org (Marko Zec) Date: Mon May 26 12:23:52 2008 Subject: vimage kernel broken In-Reply-To: <483AA979.5060504@FreeBSD.org> References: <483834AD.9050208@FreeBSD.org> <200805261304.20497.zec@icir.org> <483AA979.5060504@FreeBSD.org> Message-ID: <200805261423.27766.zec@icir.org> On Monday 26 May 2008 14:13:45 Kris Kennaway wrote: ... > Maybe I am using the wrong branch, can you confirm which is current? //depot/user/zec/vimage_7/... tracks RELENG_7 //depot/projects/vimage/... tracks HEAD I couldn't reproduce this panic on neither of the above branches, at least not by solely enabling IPv6 and rpc.lockd. Marko From kris at FreeBSD.org Mon May 26 12:28:24 2008 From: kris at FreeBSD.org (Kris Kennaway) Date: Mon May 26 12:28:27 2008 Subject: vimage kernel broken In-Reply-To: <200805261423.27766.zec@icir.org> References: <483834AD.9050208@FreeBSD.org> <200805261304.20497.zec@icir.org> <483AA979.5060504@FreeBSD.org> <200805261423.27766.zec@icir.org> Message-ID: <483AACE5.3070207@FreeBSD.org> Marko Zec wrote: > On Monday 26 May 2008 14:13:45 Kris Kennaway wrote: > ... >> Maybe I am using the wrong branch, can you confirm which is current? > > //depot/user/zec/vimage_7/... tracks RELENG_7 > //depot/projects/vimage/... tracks HEAD OK, that is the branch I was using. > I couldn't reproduce this panic on neither of the above branches, at > least not by solely enabling IPv6 and rpc.lockd. Try with a vimage kernel but CVS userland (I only rebuilt the kernel). It is possible that there was an ABI change that is causing the kernel to panic from unexpected input from userland. Kris From zec at icir.org Tue May 27 09:06:00 2008 From: zec at icir.org (Marko Zec) Date: Tue May 27 09:06:04 2008 Subject: vimage kernel broken In-Reply-To: <483AACE5.3070207@FreeBSD.org> References: <483834AD.9050208@FreeBSD.org> <200805261423.27766.zec@icir.org> <483AACE5.3070207@FreeBSD.org> Message-ID: <200805271105.54281.zec@icir.org> On Monday 26 May 2008 14:28:21 Kris Kennaway wrote: > Marko Zec wrote: > > On Monday 26 May 2008 14:13:45 Kris Kennaway wrote: > > ... > > > >> Maybe I am using the wrong branch, can you confirm which is > >> current? > > > > //depot/user/zec/vimage_7/... tracks RELENG_7 > > //depot/projects/vimage/... tracks HEAD > > OK, that is the branch I was using. > > > I couldn't reproduce this panic on neither of the above branches, > > at least not by solely enabling IPv6 and rpc.lockd. > > Try with a vimage kernel but CVS userland (I only rebuilt the > kernel). It is possible that there was an ABI change that is causing > the kernel to panic from unexpected input from userland. OK with a more recent userland the panic is 100% reproducible. Looking into it right now... Thanks, Marko From julian at elischer.org Tue May 27 09:11:49 2008 From: julian at elischer.org (Julian Elischer) Date: Tue May 27 09:18:07 2008 Subject: vimage kernel broken In-Reply-To: <200805271105.54281.zec@icir.org> References: <483834AD.9050208@FreeBSD.org> <200805261423.27766.zec@icir.org> <483AACE5.3070207@FreeBSD.org> <200805271105.54281.zec@icir.org> Message-ID: <483BD059.1010509@elischer.org> Marko Zec wrote: > On Monday 26 May 2008 14:28:21 Kris Kennaway wrote: >> Marko Zec wrote: >>> On Monday 26 May 2008 14:13:45 Kris Kennaway wrote: >>> ... >>> >>>> Maybe I am using the wrong branch, can you confirm which is >>>> current? >>> //depot/user/zec/vimage_7/... tracks RELENG_7 >>> //depot/projects/vimage/... tracks HEAD >> OK, that is the branch I was using. >> >>> I couldn't reproduce this panic on neither of the above branches, >>> at least not by solely enabling IPv6 and rpc.lockd. >> Try with a vimage kernel but CVS userland (I only rebuilt the >> kernel). It is possible that there was an ABI change that is causing >> the kernel to panic from unexpected input from userland. > > OK with a more recent userland the panic is 100% reproducible. Looking > into it right now... let me know how it goes.. I'm swamped at the moment. I have the videos of our sessions and hope to write down all the points raised.. (I've watched them once already.. did you know we talked for 2.5. hours?) > > Thanks, > > Marko > _______________________________________________ > freebsd-virtualization@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization > To unsubscribe, send any mail to "freebsd-virtualization-unsubscribe@freebsd.org" From julian at elischer.org Thu May 29 17:53:26 2008 From: julian at elischer.org (Julian Elischer) Date: Thu May 29 17:53:29 2008 Subject: vimage steps forward. Message-ID: <483EED9F.6030309@elischer.org> I hope to spend a couple of days looking at breaking up the current patch... ## part 1: all the macros.. the macros will be defined in CURRENT FILES I think rather than adding new files. POSSIBLY NOT FOR ALL THE MODULES DONE IN THE CURRENT PATCH. use MD5 to confirm that there are no editing errors. ## part 2: add the structures and initialisers. By this time a document should be available describing how to virtualise modules. Marko, if you can write a few pages on this, send it to me and I'll add to it and clean it a bit and send it to you.. I'll then send it back to you.. we can iterate, and I would suggest that we make it generally available somewhere so that others can comment and add as they learn. ## part 3:redefine the macros to be able to switch to using the structures or not. do some performance tests with a) global variables b) structified variables I and ALC expect that we may need to 'tune' teh structures to ensure that heavily used items that are accessed by different CPUS are not in the same cache lines.. i.e. either separated by rarely used items or by padding and that items used together are clustered. This may take some time to test but we can probably get a lot of parallelism by getting many people to do the tests as it will be relatively easy to do. ## part 4: remove the non-structured versions of the globals and adjust the macros so that "non" vimage versions use static copies of the structures. ## part 5: add framework for vimage creation etc. test ## part 6: start adding more modules, one at a time. comments: The structures should be changed from the current form to have a header in them that is always the same.. As per the discussions that header should contain a version number and a reference counter, (and possibly a magic number). By defining this header somewhere we can add debug assist stuff to it as needed.. possibly it should also contain some methods and the name of the module (for example).. i.e. a method pointer to a function that can tell if the module is in use.. possibly combinign this structure with other per-module structures could be considered.