Hi all,
Changes since 20101119:
The v4l-dvb tree still has its build failure, so I used the version from
next-20101112.
The net tree lost its conflicts.
The trivial tree lost 3 conflicts.
The tip tree gained a build failure for which I reverted 2 commits.
----------------------------------------------------------------------------
I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/v2.6/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" as mentioned in the FAQ on the wiki
(see below).
You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log files
in the Next directory. Between each merge, the tree was built with
a ppc64_defconfig for powerpc and an allmodconfig for x86_64. After the
final fixups (if any), it is also built with powerpc allnoconfig (32 and
64 bit), ppc44x_defconfig and allyesconfig (minus
CONFIG_PROFILE_ALL_BRANCHES - this fails its final link) and i386, sparc
and sparc64 defconfig. These builds also have
CONFIG_ENABLE_WARN_DEPRECATED, CONFIG_ENABLE_MUST_CHECK and
CONFIG_DEBUG_INFO disabled when necessary.
Below is a summary of the state of the merge.
We are up to 179 trees (counting Linus' and 26 trees of patches pending
for Linus' tree), more are welcome (even if they are currently empty).
Thanks to those who have contributed, and to those who haven't, please do.
Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.
Thanks to Randy Dunlap for doing many randconfig builds.
There is a wiki covering stuff to do with linux-next at
http://linux.f-seidel.de/linux-next/pmwiki/ . Thanks to Frank Seidel.
--
Cheers,
Stephen Rothwell [email protected]
$ git checkout master
$ git reset --hard stable
Merging origin/master
Merging fixes/fixes
Merging arm-current/master
Merging m68k-current/for-linus
Merging powerpc-merge/merge
Merging sparc-current/master
Merging scsi-rc-fixes/master
Merging net-current/master
Merging sound-current/for-linus
Merging pci-current/for-linus
Merging wireless-current/master
Merging kbuild-current/rc-fixes
Merging driver-core.current/driver-core-linus
Merging tty.current/tty-linus
Merging usb.current/usb-linus
Merging staging.current/staging-linus
Merging cpufreq-current/fixes
Merging input-current/for-linus
Merging md-current/for-linus
Merging audit-current/for-linus
Merging crypto-current/master
Merging ide-curent/master
Merging dwmw2/master
Merging sh-current/sh-fixes-for-linus
Merging rmobile-current/rmobile-fixes-for-linus
Merging fbdev-current/fbdev-fixes-for-linus
Merging gcl-current/merge
Merging arm/devel
Merging davinci/davinci-next
Merging i.MX/for-next
Merging msm/for-next
Merging omap/for-next
Merging pxa/for-next
Merging samsung/next-samsung
Merging s5p/for-next
Merging tegra/for-next
Merging avr32/avr32-arch
Merging blackfin/for-linus
Merging cris/for-next
Merging ia64/test
Merging m68k/for-next
Merging m68knommu/for-next
Merging microblaze/next
Merging mips/mips-for-linux-next
Merging parisc/next
Merging powerpc/next
Merging 4xx/next
Merging 52xx-and-virtex/next
Merging galak/next
Merging s390/features
Merging sh/sh-latest
Merging rmobile/rmobile-latest
Merging sparc/master
Merging tile/master
Merging xtensa/master
CONFLICT (content): Merge conflict in arch/xtensa/configs/iss_defconfig
Merging ceph/for-next
Merging cifs/master
Merging configfs/linux-next
Merging ecryptfs/next
Merging ext3/for_next
Merging ext4/next
Merging fatfs/master
Merging fuse/for-next
Merging gfs2/master
Merging hfsplus/for-next
Merging jfs/next
Merging logfs/master
CONFLICT (content): Merge conflict in fs/logfs/logfs.h
Merging nfs/linux-next
Merging nfsd/nfsd-next
Merging nilfs2/for-next
Merging ocfs2/linux-next
Merging omfs/for-next
Merging squashfs/master
Merging udf/for_next
Merging v9fs/for-next
Merging ubifs/linux-next
Merging xfs/master
Merging vfs/for-next
Merging pci/linux-next
CONFLICT (content): Merge conflict in drivers/pci/pci-sysfs.c
Merging hid/for-next
CONFLICT (content): Merge conflict in drivers/hid/hid-input.c
Merging quilt/i2c
Merging bjdooks-i2c/next-i2c
Merging quilt/jdelvare-hwmon
Merging hwmon-staging/hwmon-next
Merging quilt/kernel-doc
Merging v4l-dvb/master
$ git reset --hard HEAD^
Merging refs/next/20101112/v4l-dvb
Merging kbuild/for-next
Merging kconfig/for-next
Merging ide/master
Merging libata/NEXT
Merging infiniband/for-next
Merging acpi/test
Merging idle-test/idle-test
Merging ieee1394/for-next
Merging ubi/linux-next
Merging kvm/linux-next
Merging dlm/next
Merging swiotlb/master
Merging ibft/master
Merging scsi/master
Merging async_tx/next
Merging net/master
Merging wireless/master
Merging bluetooth/master
Merging mtd/master
Merging crypto/master
Merging sound/for-next
Merging sound-asoc/for-next
Merging cpufreq/next
Merging quilt/rr
Merging input/next
Merging lsm/for-next
Merging block/for-next
Merging quilt/device-mapper
Merging embedded/master
Merging firmware/master
Merging pcmcia/master
Merging battery/master
Merging leds/for-mm
Merging backlight/for-mm
Merging mmc/mmc-next
Merging kgdb/kgdb-next
Merging slab/for-next
Merging uclinux/for-next
Merging md/for-next
Merging mfd/for-next
Merging hdlc/hdlc-next
Merging drm/drm-next
Merging fbdev/master
Merging viafb/viafb-next
Merging omap_dss2/for-next
Merging voltage/for-next
Merging security-testing/next
Merging lblnet/master
Merging agp/agp-next
Merging watchdog/master
Merging bdev/master
Merging dwmw2-iommu/master
Merging cputime/cputime
Merging osd/linux-next
Merging jc_docs/docs-next
Merging nommu/master
Merging trivial/for-next
CONFLICT (content): Merge conflict in MAINTAINERS
CONFLICT (content): Merge conflict in drivers/scsi/bfa/bfa_fcpim.c
Merging audit/for-next
Merging suspend/linux-next
Merging fsnotify/for-next
Merging irda/for-next
Merging catalin/for-next
Merging alacrity/linux-next
CONFLICT (content): Merge conflict in include/linux/Kbuild
CONFLICT (content): Merge conflict in lib/Kconfig
Merging i7core_edac/linux_next
Merging i7300_edac/linux_next
Merging devicetree/next-devicetree
Merging spi/next-spi
Merging tip/auto-latest
Merging rcu/rcu/next
Merging oprofile/for-next
Merging xen/upstream/xen
Merging swiotlb-xen/master
Merging xen-pvhvm/linux-next
Merging edac-amd/for-next
Merging percpu/for-next
Merging workqueues/for-next
Merging sfi/sfi-test
Merging asm-generic/next
Merging drivers-x86/linux-next
Merging hwpoison/hwpoison
Merging sysctl/master
Merging driver-core/driver-core-next
Merging tty/tty-next
Merging usb/usb-next
Merging staging/staging-next
Merging slabh/slabh
Merging bkl-trivial/trivial
Merging bkl-llseek/llseek
Merging bkl-vfs/vfs
Merging bkl-config/config
CONFLICT (content): Merge conflict in arch/powerpc/kernel/setup_64.c
CONFLICT (content): Merge conflict in include/linux/hardirq.h
CONFLICT (content): Merge conflict in include/linux/smp_lock.h
Merging irqflags/master
Merging cleancache/linux-next
CONFLICT (content): Merge conflict in fs/ocfs2/super.c
CONFLICT (content): Merge conflict in include/linux/fs.h
CONFLICT (content): Merge conflict in mm/Kconfig
Merging scsi-post-merge/merge-base:master
[master 4d165a9] Revert "x86, nmi_watchdog: Remove all stub function calls from old nmi_watchdog"
[master a6bb57a] Revert "x86, nmi_watchdog: Remove the old nmi_watchdog"
Ave
2010/11/22 Stephen Rothwell <[email protected]>:
> Hi all,
>
> Changes since 20101119:
>
I've got two build failures:
Console input/output is redirected. Run 'make oldconfig' to update
configuration.
make[3]: *** [silentoldconfig] Error 1
make[2]: *** [silentoldconfig] Error 2
make[1]: *** No rule to make target `include/config/auto.conf', needed
by `include/config/kernel.release'. Stop.
make: *** [sub-make] Error 2
Both rand configs seems to be broken
--
Slawa!
N.P.S.
Chwa?a tobie, Szatanie, cze?? na wysoko?ciach
Nieba, gdzie kr?lowa?e?, chwa?a w g??boko?ciach
Piek?a, gdzie zwyci??ony, trwasz w dumnym milczeniu!
Uczy?, niechaj ma dusza spocznie z Tob? w cieniu
Drzewa Wiedzy, gdy swoje konary rozwinie,
Jak sklepienie ko?cio?a, kt?ry nie przeminie!
Salve
2010/11/22 Stephen Rothwell <[email protected]>:
> Hi all,
>
> Changes since 20101119:
>
CC [M] drivers/staging/brcm80211/brcmfmac/wl_iw.o
/home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c:130:19:
error: field 'sysioc_sem' has incomplete type
/home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c: In
function 'wl_iw_timerfunc':
/home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c:1070:4:
error: implicit declaration of function 'up'
/home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c: In
function '_iscan_sysioc_thread':
/home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c:1181:2:
error: implicit declaration of function 'down_interruptible'
/home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c: In
function 'wl_iw_attach':
/home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c:3708:2:
error: implicit declaration of function 'sema_init'
make[5]: *** [drivers/staging/brcm80211/brcmfmac/wl_iw.o] Error 1
make[4]: *** [drivers/staging/brcm80211/brcmfmac] Error 2
make[3]: *** [drivers/staging/brcm80211] Error 2
make[2]: *** [drivers/staging] Error 2
make[1]: *** [drivers] Error 2
make: *** [sub-make] Error 2
--
Slawa!
N.P.S.
Chwa?a tobie, Szatanie, cze?? na wysoko?ciach
Nieba, gdzie kr?lowa?e?, chwa?a w g??boko?ciach
Piek?a, gdzie zwyci??ony, trwasz w dumnym milczeniu!
Uczy?, niechaj ma dusza spocznie z Tob? w cieniu
Drzewa Wiedzy, gdy swoje konary rozwinie,
Jak sklepienie ko?cio?a, kt?ry nie przeminie!
On Mon, Nov 22, 2010 at 04:37:57PM +0100, Zimny Lech wrote:
> Salve
>
> 2010/11/22 Stephen Rothwell <[email protected]>:
> > Hi all,
> >
> > Changes since 20101119:
> >
>
>
> CC [M] drivers/staging/brcm80211/brcmfmac/wl_iw.o
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c:130:19:
> error: field 'sysioc_sem' has incomplete type
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c: In
> function 'wl_iw_timerfunc':
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c:1070:4:
> error: implicit declaration of function 'up'
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c: In
> function '_iscan_sysioc_thread':
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c:1181:2:
> error: implicit declaration of function 'down_interruptible'
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c: In
> function 'wl_iw_attach':
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c:3708:2:
> error: implicit declaration of function 'sema_init'
> make[5]: *** [drivers/staging/brcm80211/brcmfmac/wl_iw.o] Error 1
> make[4]: *** [drivers/staging/brcm80211/brcmfmac] Error 2
> make[3]: *** [drivers/staging/brcm80211] Error 2
> make[2]: *** [drivers/staging] Error 2
> make[1]: *** [drivers] Error 2
> make: *** [sub-make] Error 2
>
Ick, not good.
Henry, Brett, any ideas?
thanks,
greg k-h
Slawa!
2010/11/22 Stephen Rothwell <[email protected]>:
> Hi all,
>
> Changes since 20101119:
>
LD vmlinux.o
MODPOST vmlinux.o
WARNING: modpost: Found 12 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
arch/x86/built-in.o: In function `kvm_smp_prepare_boot_cpu':
kvm.c:(.init.text+0x11651): undefined reference to `kvm_register_clock'
make[1]: *** [.tmp_vmlinux1] Error 1
make: *** [sub-make] Error 2
--
Slawa!
N.P.S.
Chwa?a tobie, Szatanie, cze?? na wysoko?ciach
Nieba, gdzie kr?lowa?e?, chwa?a w g??boko?ciach
Piek?a, gdzie zwyci??ony, trwasz w dumnym milczeniu!
Uczy?, niechaj ma dusza spocznie z Tob? w cieniu
Drzewa Wiedzy, gdy swoje konary rozwinie,
Jak sklepienie ko?cio?a, kt?ry nie przeminie!
Hi Greg, Stephen,
The file wl_iw.c declare a struct semaphore variable and uses semaphore function, but there is no explicit inclusion of <linux/semaphore.h>. I hit this problem last week when trying a minimal kernel configuration for my development system. Normally we build and test against kernel configuration similar to Ubuntu configuration and we got the semaphore definitions for free. Expect a patch soon.
Gr. AvS
________________________________________
From: [email protected] [[email protected]] On Behalf Of Greg KH [[email protected]]
Sent: Monday, November 22, 2010 8:46 PM
To: Zimny Lech
Cc: Stephen Rothwell; [email protected]; LKML; Brett Rudley; Henry Ptasinski; [email protected]
Subject: Re: linux-next: Tree for November 22
On Mon, Nov 22, 2010 at 04:37:57PM +0100, Zimny Lech wrote:
> Salve
>
> 2010/11/22 Stephen Rothwell <[email protected]>:
> > Hi all,
> >
> > Changes since 20101119:
> >
>
>
> CC [M] drivers/staging/brcm80211/brcmfmac/wl_iw.o
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c:130:19:
> error: field 'sysioc_sem' has incomplete type
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c: In
> function 'wl_iw_timerfunc':
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c:1070:4:
> error: implicit declaration of function 'up'
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c: In
> function '_iscan_sysioc_thread':
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c:1181:2:
> error: implicit declaration of function 'down_interruptible'
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c: In
> function 'wl_iw_attach':
> /home/test/linux-2.6/drivers/staging/brcm80211/brcmfmac/wl_iw.c:3708:2:
> error: implicit declaration of function 'sema_init'
> make[5]: *** [drivers/staging/brcm80211/brcmfmac/wl_iw.o] Error 1
> make[4]: *** [drivers/staging/brcm80211/brcmfmac] Error 2
> make[3]: *** [drivers/staging/brcm80211] Error 2
> make[2]: *** [drivers/staging] Error 2
> make[1]: *** [drivers] Error 2
> make: *** [sub-make] Error 2
>
Ick, not good.
Henry, Brett, any ideas?
thanks,
greg k-h
On Mon, 22 Nov 2010 13:49:11 +1100 Stephen Rothwell wrote:
> Hi all,
>
> Changes since 20101119:
kvm.c:(.init.text+0x11f49): undefined reference to `kvm_register_clock'
when CONFIG_KVM_CLOCK is not enabled.
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
On Mon, Nov 22, 2010 at 12:08:28PM -0800, Arend Van Spriel wrote:
> Hi Greg, Stephen,
>
> The file wl_iw.c declare a struct semaphore variable and uses
> semaphore function, but there is no explicit inclusion of
> <linux/semaphore.h>. I hit this problem last week when trying a
> minimal kernel configuration for my development system. Normally we
> build and test against kernel configuration similar to Ubuntu
> configuration and we got the semaphore definitions for free. Expect a
> patch soon.
Ok, sounds good.
greg k-h
On Mon, 22 Nov 2010 13:26:27 -0800 Randy Dunlap wrote:
> On Mon, 22 Nov 2010 13:49:11 +1100 Stephen Rothwell wrote:
>
> > Hi all,
> >
> > Changes since 20101119:
>
>
> kvm.c:(.init.text+0x11f49): undefined reference to `kvm_register_clock'
>
> when CONFIG_KVM_CLOCK is not enabled.
BUild error still present in linux-next-2010-NOV-29.
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
On 11/29/2010 06:33 PM, Randy Dunlap wrote:
> On Mon, 22 Nov 2010 13:26:27 -0800 Randy Dunlap wrote:
>
> > On Mon, 22 Nov 2010 13:49:11 +1100 Stephen Rothwell wrote:
> >
> > > Hi all,
> > >
> > > Changes since 20101119:
> >
> >
> > kvm.c:(.init.text+0x11f49): undefined reference to `kvm_register_clock'
> >
> > when CONFIG_KVM_CLOCK is not enabled.
>
>
> BUild error still present in linux-next-2010-NOV-29.
>
Glauber, Zach?
--
error compiling committee.c: too many arguments to function
On 11/29/2010 06:35 AM, Avi Kivity wrote:
> On 11/29/2010 06:33 PM, Randy Dunlap wrote:
>> On Mon, 22 Nov 2010 13:26:27 -0800 Randy Dunlap wrote:
>>
>> > On Mon, 22 Nov 2010 13:49:11 +1100 Stephen Rothwell wrote:
>> >
>> > > Hi all,
>> > >
>> > > Changes since 20101119:
>> >
>> >
>> > kvm.c:(.init.text+0x11f49): undefined reference to
>> `kvm_register_clock'
>> >
>> > when CONFIG_KVM_CLOCK is not enabled.
>>
>>
>> BUild error still present in linux-next-2010-NOV-29.
>>
>
> Glauber, Zach?
>
I can only speculate this reference is being called from smpboot without
CONFIG guarding?
On 11/29/10 09:47, Zachary Amsden wrote:
> On 11/29/2010 06:35 AM, Avi Kivity wrote:
>> On 11/29/2010 06:33 PM, Randy Dunlap wrote:
>>> On Mon, 22 Nov 2010 13:26:27 -0800 Randy Dunlap wrote:
>>>
>>> > On Mon, 22 Nov 2010 13:49:11 +1100 Stephen Rothwell wrote:
>>> >
>>> > > Hi all,
>>> > >
>>> > > Changes since 20101119:
>>> >
>>> >
>>> > kvm.c:(.init.text+0x11f49): undefined reference to
>>> `kvm_register_clock'
>>> >
>>> > when CONFIG_KVM_CLOCK is not enabled.
>>>
>>>
>>> BUild error still present in linux-next-2010-NOV-29.
>>>
>>
>> Glauber, Zach?
>>
>
> I can only speculate this reference is being called from smpboot without
> CONFIG guarding?
Sorry, looks like I dropped the first line of the error messages:
arch/x86/built-in.o: In function `kvm_smp_prepare_boot_cpu':
kvm.c:(.init.text+0xad38): undefined reference to `kvm_register_clock'
from arch/x86/kernel/kvm.c:
#ifdef CONFIG_SMP
static void __init kvm_smp_prepare_boot_cpu(void)
{
WARN_ON(kvm_register_clock("primary cpu clock"));
kvm_guest_cpu_init();
native_smp_prepare_boot_cpu();
}
so it looks like you are correct...
--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
On 11/29/2010 07:52 AM, Randy Dunlap wrote:
> On 11/29/10 09:47, Zachary Amsden wrote:
>
>> On 11/29/2010 06:35 AM, Avi Kivity wrote:
>>
>>> On 11/29/2010 06:33 PM, Randy Dunlap wrote:
>>>
>>>> On Mon, 22 Nov 2010 13:26:27 -0800 Randy Dunlap wrote:
>>>>
>>>>
>>>>> On Mon, 22 Nov 2010 13:49:11 +1100 Stephen Rothwell wrote:
>>>>>
>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> Changes since 20101119:
>>>>>>
>>>>>
>>>>> kvm.c:(.init.text+0x11f49): undefined reference to
>>>>>
>>>> `kvm_register_clock'
>>>>
>>>>> when CONFIG_KVM_CLOCK is not enabled.
>>>>>
>>>>
>>>> BUild error still present in linux-next-2010-NOV-29.
>>>>
>>>>
>>> Glauber, Zach?
>>>
>>>
>> I can only speculate this reference is being called from smpboot without
>> CONFIG guarding?
>>
> Sorry, looks like I dropped the first line of the error messages:
>
> arch/x86/built-in.o: In function `kvm_smp_prepare_boot_cpu':
> kvm.c:(.init.text+0xad38): undefined reference to `kvm_register_clock'
>
> from arch/x86/kernel/kvm.c:
>
> #ifdef CONFIG_SMP
> static void __init kvm_smp_prepare_boot_cpu(void)
> {
> WARN_ON(kvm_register_clock("primary cpu clock"));
> kvm_guest_cpu_init();
> native_smp_prepare_boot_cpu();
> }
>
> so it looks like you are correct...
>
Looks like this is the appropriate fix:
#ifdef CONFIG_SMP
static void __init kvm_smp_prepare_boot_cpu(void)
{
#ifdef CONFIG_KVM_CLOCK
WARN_ON(kvm_register_clock("primary cpu clock"));
#endif
kvm_guest_cpu_init();
native_smp_prepare_boot_cpu();
}
The SMP code is still buggy as well, wrt printk timing, in that it
doesn't get called early enough, correct? Has anyone thought of a good
solution to that problem?
Basically the problem is CPU-1 will get CPU-0's per-cpu areas copied
over, and these are not valid for CPU-1. If the clocksource is used on
CPU-1 before kvm clock gets setup, it can go backwards, wreaking havoc,
causing panic, etc.
What is the best test to guard against this? Perhaps we should keep the
CPU number in the per-cpu data and test against it?
On 11/29/10 10:08, Zachary Amsden wrote:
> On 11/29/2010 07:52 AM, Randy Dunlap wrote:
>> On 11/29/10 09:47, Zachary Amsden wrote:
>>
>>> On 11/29/2010 06:35 AM, Avi Kivity wrote:
>>>
>>>> On 11/29/2010 06:33 PM, Randy Dunlap wrote:
>>>>
>>>>> On Mon, 22 Nov 2010 13:26:27 -0800 Randy Dunlap wrote:
>>>>>
>>>>>
>>>>>> On Mon, 22 Nov 2010 13:49:11 +1100 Stephen Rothwell wrote:
>>>>>>
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> Changes since 20101119:
>>>>>>>
>>>>>>
>>>>>> kvm.c:(.init.text+0x11f49): undefined reference to
>>>>>>
>>>>> `kvm_register_clock'
>>>>>
>>>>>> when CONFIG_KVM_CLOCK is not enabled.
>>>>>>
>>>>>
>>>>> BUild error still present in linux-next-2010-NOV-29.
>>>>>
>>>>>
>>>> Glauber, Zach?
>>>>
>>>>
>>> I can only speculate this reference is being called from smpboot without
>>> CONFIG guarding?
>>>
>> Sorry, looks like I dropped the first line of the error messages:
>>
>> arch/x86/built-in.o: In function `kvm_smp_prepare_boot_cpu':
>> kvm.c:(.init.text+0xad38): undefined reference to `kvm_register_clock'
>>
>> from arch/x86/kernel/kvm.c:
>>
>> #ifdef CONFIG_SMP
>> static void __init kvm_smp_prepare_boot_cpu(void)
>> {
>> WARN_ON(kvm_register_clock("primary cpu clock"));
>> kvm_guest_cpu_init();
>> native_smp_prepare_boot_cpu();
>> }
>>
>> so it looks like you are correct...
>>
>
> Looks like this is the appropriate fix:
>
> #ifdef CONFIG_SMP
> static void __init kvm_smp_prepare_boot_cpu(void)
> {
> #ifdef CONFIG_KVM_CLOCK
> WARN_ON(kvm_register_clock("primary cpu clock"));
> #endif
> kvm_guest_cpu_init();
> native_smp_prepare_boot_cpu();
> }
Sure, that works. Thanks.
>
> The SMP code is still buggy as well, wrt printk timing, in that it
> doesn't get called early enough, correct? Has anyone thought of a good
> solution to that problem?
>
> Basically the problem is CPU-1 will get CPU-0's per-cpu areas copied
> over, and these are not valid for CPU-1. If the clocksource is used on
> CPU-1 before kvm clock gets setup, it can go backwards, wreaking havoc,
> causing panic, etc.
>
> What is the best test to guard against this? Perhaps we should keep the
> CPU number in the per-cpu data and test against it?
--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
On Mon, 2010-11-29 at 08:08 -1000, Zachary Amsden wrote:
> On 11/29/2010 07:52 AM, Randy Dunlap wrote:
> > On 11/29/10 09:47, Zachary Amsden wrote:
> >
> >> On 11/29/2010 06:35 AM, Avi Kivity wrote:
> >>
> >>> On 11/29/2010 06:33 PM, Randy Dunlap wrote:
> >>>
> >>>> On Mon, 22 Nov 2010 13:26:27 -0800 Randy Dunlap wrote:
> >>>>
> >>>>
> >>>>> On Mon, 22 Nov 2010 13:49:11 +1100 Stephen Rothwell wrote:
> >>>>>
> >>>>>
> >>>>>> Hi all,
> >>>>>>
> >>>>>> Changes since 20101119:
> >>>>>>
> >>>>>
> >>>>> kvm.c:(.init.text+0x11f49): undefined reference to
> >>>>>
> >>>> `kvm_register_clock'
> >>>>
> >>>>> when CONFIG_KVM_CLOCK is not enabled.
> >>>>>
> >>>>
> >>>> BUild error still present in linux-next-2010-NOV-29.
> >>>>
> >>>>
> >>> Glauber, Zach?
> >>>
> >>>
> >> I can only speculate this reference is being called from smpboot without
> >> CONFIG guarding?
> >>
> > Sorry, looks like I dropped the first line of the error messages:
> >
> > arch/x86/built-in.o: In function `kvm_smp_prepare_boot_cpu':
> > kvm.c:(.init.text+0xad38): undefined reference to `kvm_register_clock'
> >
> > from arch/x86/kernel/kvm.c:
> >
> > #ifdef CONFIG_SMP
> > static void __init kvm_smp_prepare_boot_cpu(void)
> > {
> > WARN_ON(kvm_register_clock("primary cpu clock"));
> > kvm_guest_cpu_init();
> > native_smp_prepare_boot_cpu();
> > }
> >
> > so it looks like you are correct...
> >
>
> Looks like this is the appropriate fix:
>
> #ifdef CONFIG_SMP
> static void __init kvm_smp_prepare_boot_cpu(void)
> {
> #ifdef CONFIG_KVM_CLOCK
> WARN_ON(kvm_register_clock("primary cpu clock"));
> #endif
> kvm_guest_cpu_init();
> native_smp_prepare_boot_cpu();
> }
>
>
> The SMP code is still buggy as well, wrt printk timing, in that it
> doesn't get called early enough, correct? Has anyone thought of a good
> solution to that problem?
>
> Basically the problem is CPU-1 will get CPU-0's per-cpu areas copied
> over, and these are not valid for CPU-1. If the clocksource is used on
> CPU-1 before kvm clock gets setup, it can go backwards, wreaking havoc,
> causing panic, etc.
>
> What is the best test to guard against this? Perhaps we should keep the
> CPU number in the per-cpu data and test against it?
Can we identify precisely when it happens? If we can, we can try to
force a hypervisor exit or re-register right after the data is copied
over. This will force the per-cpu structure to get updated with good
values.
On 11/30/2010 02:17 AM, Glauber Costa wrote:
> On Mon, 2010-11-29 at 08:08 -1000, Zachary Amsden wrote:
>
>> On 11/29/2010 07:52 AM, Randy Dunlap wrote:
>>
>>> On 11/29/10 09:47, Zachary Amsden wrote:
>>>
>>>
>>>> On 11/29/2010 06:35 AM, Avi Kivity wrote:
>>>>
>>>>
>>>>> On 11/29/2010 06:33 PM, Randy Dunlap wrote:
>>>>>
>>>>>
>>>>>> On Mon, 22 Nov 2010 13:26:27 -0800 Randy Dunlap wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> On Mon, 22 Nov 2010 13:49:11 +1100 Stephen Rothwell wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Hi all,
>>>>>>>>
>>>>>>>> Changes since 20101119:
>>>>>>>>
>>>>>>>>
>>>>>>> kvm.c:(.init.text+0x11f49): undefined reference to
>>>>>>>
>>>>>>>
>>>>>> `kvm_register_clock'
>>>>>>
>>>>>>
>>>>>>> when CONFIG_KVM_CLOCK is not enabled.
>>>>>>>
>>>>>>>
>>>>>> BUild error still present in linux-next-2010-NOV-29.
>>>>>>
>>>>>>
>>>>>>
>>>>> Glauber, Zach?
>>>>>
>>>>>
>>>>>
>>>> I can only speculate this reference is being called from smpboot without
>>>> CONFIG guarding?
>>>>
>>>>
>>> Sorry, looks like I dropped the first line of the error messages:
>>>
>>> arch/x86/built-in.o: In function `kvm_smp_prepare_boot_cpu':
>>> kvm.c:(.init.text+0xad38): undefined reference to `kvm_register_clock'
>>>
>>> from arch/x86/kernel/kvm.c:
>>>
>>> #ifdef CONFIG_SMP
>>> static void __init kvm_smp_prepare_boot_cpu(void)
>>> {
>>> WARN_ON(kvm_register_clock("primary cpu clock"));
>>> kvm_guest_cpu_init();
>>> native_smp_prepare_boot_cpu();
>>> }
>>>
>>> so it looks like you are correct...
>>>
>>>
>> Looks like this is the appropriate fix:
>>
>> #ifdef CONFIG_SMP
>> static void __init kvm_smp_prepare_boot_cpu(void)
>> {
>> #ifdef CONFIG_KVM_CLOCK
>> WARN_ON(kvm_register_clock("primary cpu clock"));
>> #endif
>> kvm_guest_cpu_init();
>> native_smp_prepare_boot_cpu();
>> }
>>
>>
>> The SMP code is still buggy as well, wrt printk timing, in that it
>> doesn't get called early enough, correct? Has anyone thought of a good
>> solution to that problem?
>>
>> Basically the problem is CPU-1 will get CPU-0's per-cpu areas copied
>> over, and these are not valid for CPU-1. If the clocksource is used on
>> CPU-1 before kvm clock gets setup, it can go backwards, wreaking havoc,
>> causing panic, etc.
>>
>> What is the best test to guard against this? Perhaps we should keep the
>> CPU number in the per-cpu data and test against it?
>>
> Can we identify precisely when it happens? If we can, we can try to
> force a hypervisor exit or re-register right after the data is copied
> over. This will force the per-cpu structure to get updated with good
> values.
>
It's as if we need a new type of per-cpu data, per_cpu_zeroed, which is
always cleared prior to starting on the AP.
I imagine other code paths may need this as well.
Zach
On Mon, 29 Nov 2010 08:08:30 -1000 Zachary Amsden wrote:
> On 11/29/2010 07:52 AM, Randy Dunlap wrote:
> > On 11/29/10 09:47, Zachary Amsden wrote:
> >
> >> On 11/29/2010 06:35 AM, Avi Kivity wrote:
> >>
> >>> On 11/29/2010 06:33 PM, Randy Dunlap wrote:
> >>>
> >>>> On Mon, 22 Nov 2010 13:26:27 -0800 Randy Dunlap wrote:
> >>>>
> >>>>
> >>>>> On Mon, 22 Nov 2010 13:49:11 +1100 Stephen Rothwell wrote:
> >>>>>
> >>>>>
> >>>>>> Hi all,
> >>>>>>
> >>>>>> Changes since 20101119:
> >>>>>>
> >>>>>
> >>>>> kvm.c:(.init.text+0x11f49): undefined reference to
> >>>>>
> >>>> `kvm_register_clock'
> >>>>
> >>>>> when CONFIG_KVM_CLOCK is not enabled.
> >>>>>
> >>>>
> >>>> BUild error still present in linux-next-2010-NOV-29.
> >>>>
> >>>>
> >>> Glauber, Zach?
> >>>
> >>>
> >> I can only speculate this reference is being called from smpboot without
> >> CONFIG guarding?
> >>
> > Sorry, looks like I dropped the first line of the error messages:
> >
> > arch/x86/built-in.o: In function `kvm_smp_prepare_boot_cpu':
> > kvm.c:(.init.text+0xad38): undefined reference to `kvm_register_clock'
> >
> > from arch/x86/kernel/kvm.c:
> >
> > #ifdef CONFIG_SMP
> > static void __init kvm_smp_prepare_boot_cpu(void)
> > {
> > WARN_ON(kvm_register_clock("primary cpu clock"));
> > kvm_guest_cpu_init();
> > native_smp_prepare_boot_cpu();
> > }
> >
> > so it looks like you are correct...
> >
>
> Looks like this is the appropriate fix:
>
> #ifdef CONFIG_SMP
> static void __init kvm_smp_prepare_boot_cpu(void)
> {
> #ifdef CONFIG_KVM_CLOCK
> WARN_ON(kvm_register_clock("primary cpu clock"));
> #endif
> kvm_guest_cpu_init();
> native_smp_prepare_boot_cpu();
> }
Can we get this fix merged, please?
Build error is still happening in linux-next 20101210.
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
On 12/10/2010 07:18 PM, Randy Dunlap wrote:
> > Looks like this is the appropriate fix:
> >
> > #ifdef CONFIG_SMP
> > static void __init kvm_smp_prepare_boot_cpu(void)
> > {
> > #ifdef CONFIG_KVM_CLOCK
> > WARN_ON(kvm_register_clock("primary cpu clock"));
> > #endif
> > kvm_guest_cpu_init();
> > native_smp_prepare_boot_cpu();
> > }
>
>
> Can we get this fix merged, please?
>
> Build error is still happening in linux-next 20101210.
>
Zach, a proper patch please.
--
error compiling committee.c: too many arguments to function
On 12/12/2010 11:23 AM, Avi Kivity wrote:
> On 12/10/2010 07:18 PM, Randy Dunlap wrote:
>> > Looks like this is the appropriate fix:
>> >
>> > #ifdef CONFIG_SMP
>> > static void __init kvm_smp_prepare_boot_cpu(void)
>> > {
>> > #ifdef CONFIG_KVM_CLOCK
>> > WARN_ON(kvm_register_clock("primary cpu clock"));
>> > #endif
>> > kvm_guest_cpu_init();
>> > native_smp_prepare_boot_cpu();
>> > }
>>
>>
>> Can we get this fix merged, please?
>>
>> Build error is still happening in linux-next 20101210.
>>
>
> Zach, a proper patch please.
>
Should be fixed for the next spin.
--
error compiling committee.c: too many arguments to function