Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-09 Thread Helge Hafting
Sorry, that was a wrong .config file.  Here is the right one, form
the amd64 box:
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-rc5-mm3
# Sat Mar 31 09:01:57 2007
#
CONFIG_X86_64=y
CONFIG_64BIT=y
CONFIG_X86=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ZONE_DMA32=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_CMPXCHG=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_DMI=y
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SWAP_PREFETCH=y
CONFIG_SYSVIPC=y
# CONFIG_IPC_NS is not set
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_TASKSTATS is not set
# CONFIG_UTS_NS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_EMBEDDED=y
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_SLAB=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_SLOB is not set
CONFIG_PAGE_GROUP_BY_MOBILITY=y

#
# Loadable module support
#
# CONFIG_MODULES is not set

#
# Process debugging support
#
CONFIG_UTRACE=y
CONFIG_PTRACE=y

#
# Block layer
#
CONFIG_BLOCK=y
# CONFIG_BLK_DEV_IO_TRACE is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_AS is not set
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_VSMP is not set
CONFIG_MK8=y
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_INTERNODE_CACHE_BYTES=64
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
# CONFIG_X86_CPUID is not set
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_MTRR=y
# CONFIG_SMP is not set
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_RESOURCES_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_ADAPTIVE_READAHEAD=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_IOMMU=y
# CONFIG_CALGARY_IOMMU is not set
CONFIG_SWIOTLB=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_START=0x10
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_REORDER=y
CONFIG_K8_NB=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_ISA_DMA_API=y

#
# Power management options
#
CONFIG_PM=y
# CONFIG_PM_LEGACY is not set
# CONFIG_PM_DEBUG is not set
# CONFIG_PM_SYSFS_DEPRECATED is not set
# CONFIG_SOFTWARE_SUSPEND is not set

#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
# CONFIG_ACPI_SLEEP is not set
# CONFIG_ACPI_PROCFS is not set
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not set
CONFIG_ACPI_BUTTON=y
# CONFIG_ACPI_VIDEO is not set
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set
# CONFIG_ACPI_SBS is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_US

Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-09 Thread Helge Hafting
Here is my .config
Sorry for the late reply, I have been on a holiday.
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-rc5-mm2
# Wed Mar 28 12:18:09 2007
#
CONFIG_X86_32=y
CONFIG_GENERIC_TIME=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SWAP_PREFETCH=y
CONFIG_SYSVIPC=y
# CONFIG_IPC_NS is not set
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_TASKSTATS is not set
# CONFIG_UTS_NS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_EMBEDDED=y
CONFIG_UID16=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_SLAB=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_SLOB is not set
CONFIG_PAGE_GROUP_BY_MOBILITY=y

#
# Loadable module support
#
# CONFIG_MODULES is not set

#
# Process debugging support
#
CONFIG_UTRACE=y
CONFIG_PTRACE=y

#
# Block layer
#
CONFIG_BLOCK=y
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_AS is not set
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_SMP is not set
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_PARAVIRT is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MCORE2 is not set
CONFIG_MPENTIUM4=y
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
CONFIG_X86_MCE_P4THERMAL=y
CONFIG_VM86=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_X86_REBOOTFIXUPS is not set
CONFIG_MICROCODE=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y

#
# Firmware Drivers
#
CONFIG_EDD=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_3G_OPT is not set
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC000
CONFIG_NEED_NODE_MEMMAP_SIZE=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_RESOURCES_64BIT is not set
CONFIG_Z

Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-03 Thread Vivek Goyal
On Mon, Apr 02, 2007 at 11:23:17PM -0600, Eric W. Biederman wrote:
> Vivek Goyal <[EMAIL PROTECTED]> writes:
> 
> >> I guess at this point the easy case is that we modify /sbin/kexec to 
> >> support
> >> it.  And the other bootloaders can come be upgraded if the feature is
> >> interesting enough.
> >> 
> >> > On i386, somebody already found an interesting usage of
> > CONFIG_PHYSICAL_START
> >> > where he was running his kernel above 16MB so that he can maximize on
> >> > DMA ZONE. Can't think of any usage for x86_64 at the moment but I think
> >> > down the line people might come up with such usages.
> >> 
> >> Agreed.  We do have CONFIG_PHYSICAL_ALIGN that can handle that case,
> >> although I admit that is a bit of a hack.
> >> 
> >
> > Yes, but x86_64 will not have any of those options and only way to run 
> > kernel will be either use kexec or modify your boot-loader to so that
> > it can handle relocatable images.
> 
> True.
> 
> >> > To me, retaining CONFIG_PHYSICAL_START gives added flexibility to the 
> >> > user,
> >> > at the expense of reduced simplicity. We should definitely change the 
> >> > type
> >> > of vmlinux to ET_DYN but at the same time it might still be worth to 
> >> > retain
> >> > CONFIG_PHYSICAL_START option.
> >> 
> >> I think something like CONFIG_PHYSICAL_START currently gives us very
> >> little gain, and is hard to use correctly, and there are alternative
> >> solutions.  So if we can get rid of it, by only inconveniencing users
> >> who want load their kernels at a weird address it is worth it.
> >> 
> >> >> I think I can switch the vmlinux header type in about 100 lines or so
> >> >> of code.  Assuming I can ever get 30 minutes with the appropriate
> >> >> kernel.
> >> >> 
> >> >
> >> > That would be awesome. Then vmlinux will be relocatable too. 
> >> > (Officially).
> >> 
> >> Yes.  For x86_64 I can do this.  i386 is more difficult.  (Although with
> >> a little cleverness we can move the code that processes relocations into
> >> vmlinux).  
> >> 
> >
> > Performing relocations in vmlinux will be interesting. That way i386 vmlinux
> > too will become relocatable and only piece of puzzle to solve will be to
> > make vmlinux of type ET_DYN.
> 
> Actually making vmlinux have type ET_DYN is the easier piece.  Basically
> the quick way to do this is to have an arch specific: "cmd_vmlinux__"
> like uml does so we can edit things after the make.
> 
> Changing an integer in an ELF header is simple.
> 
> Inserting the code to perform the relocations feels a bit trickier but
> we can probably just dump it in head.S like we do on x86_64.  We still need
> to insert the actual relocations to process though.  Which requires all of the
> post processing we currently do just called at a slightly different location.

Something like what kallsyms does? Read .tmp_vmlinux2, extract and
filter relocations, pack them in relocs.S, build reloc.o and relink it back
to .tmp_vmlinux2 to make vmlinux. Then arch/i386/kernel/head.S can perform
the relocations. But any additiona step of re-linking after final kallsyms
information has been generated can potentially spoil kallsyms data?

Thanks
Vivek
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-02 Thread Eric W. Biederman
Vivek Goyal <[EMAIL PROTECTED]> writes:

>> I guess at this point the easy case is that we modify /sbin/kexec to support
>> it.  And the other bootloaders can come be upgraded if the feature is
>> interesting enough.
>> 
>> > On i386, somebody already found an interesting usage of
> CONFIG_PHYSICAL_START
>> > where he was running his kernel above 16MB so that he can maximize on
>> > DMA ZONE. Can't think of any usage for x86_64 at the moment but I think
>> > down the line people might come up with such usages.
>> 
>> Agreed.  We do have CONFIG_PHYSICAL_ALIGN that can handle that case,
>> although I admit that is a bit of a hack.
>> 
>
> Yes, but x86_64 will not have any of those options and only way to run 
> kernel will be either use kexec or modify your boot-loader to so that
> it can handle relocatable images.

True.

>> > To me, retaining CONFIG_PHYSICAL_START gives added flexibility to the user,
>> > at the expense of reduced simplicity. We should definitely change the type
>> > of vmlinux to ET_DYN but at the same time it might still be worth to retain
>> > CONFIG_PHYSICAL_START option.
>> 
>> I think something like CONFIG_PHYSICAL_START currently gives us very
>> little gain, and is hard to use correctly, and there are alternative
>> solutions.  So if we can get rid of it, by only inconveniencing users
>> who want load their kernels at a weird address it is worth it.
>> 
>> >> I think I can switch the vmlinux header type in about 100 lines or so
>> >> of code.  Assuming I can ever get 30 minutes with the appropriate
>> >> kernel.
>> >> 
>> >
>> > That would be awesome. Then vmlinux will be relocatable too. (Officially).
>> 
>> Yes.  For x86_64 I can do this.  i386 is more difficult.  (Although with
>> a little cleverness we can move the code that processes relocations into
>> vmlinux).  
>> 
>
> Performing relocations in vmlinux will be interesting. That way i386 vmlinux
> too will become relocatable and only piece of puzzle to solve will be to
> make vmlinux of type ET_DYN.

Actually making vmlinux have type ET_DYN is the easier piece.  Basically
the quick way to do this is to have an arch specific: "cmd_vmlinux__"
like uml does so we can edit things after the make.

Changing an integer in an ELF header is simple.

Inserting the code to perform the relocations feels a bit trickier but
we can probably just dump it in head.S like we do on x86_64.  We still need
to insert the actual relocations to process though.  Which requires all of the
post processing we currently do just called at a slightly different location.

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-02 Thread Vivek Goyal
On Mon, Apr 02, 2007 at 04:59:26PM +0200, [EMAIL PROTECTED] wrote:
> From: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
> Date: Mon, Apr 02, 2007 at 04:49:14PM +0200
> > 
> > I used a working 2.6.21-rc3-mm2 tree, patched it up to 2.6.21-rc5-mm3
> > and applied your patch. I ended up with the .config later in this email,
> > and got this error:
> > 
> >   CC  arch/x86_64/kernel/head64.o
> > arch/x86_64/kernel/head64.c: In function 'x86_64_start_kernel':
> > arch/x86_64/kernel/head64.c:70: error: size of array 'type name' is negative
> > make[1]: *** [arch/x86_64/kernel/head64.o] Error 1
> > make: *** [arch/x86_64/kernel] Error 2
> > 
> > After reverting your patch, the build didn't fail, but of course the
> > kernel won't build.
> > 
> That should, of course, read 'kernel won't boot'.
> 

I agree that error message is not very clear. It is just an indication that
there is a problem on line 70 in head64.c. That's why I have put a
commet there so that anybody can make out that CONFIG_PHYSICAL_START
is not 2MB aligned hence the failure.

Unfortunately, Kconfig infrastrucutre does not allow to place alignment
restrictions on the values. Otherwise that would have been the best
solution.

So we still have detected the problem at compilation time in a little
indirect manner though.

Thanks
Vivek
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-02 Thread Vivek Goyal
On Mon, Apr 02, 2007 at 11:26:38AM -0600, Eric W. Biederman wrote:
> Vivek Goyal <[EMAIL PROTECTED]> writes:
> 
> > Only advantage of CONFIG_PHYSICAL_START seems to be that one has got
> > capability to run the kernel from other addresses without modifying the
> > boot-loader. One can argue that now people should use a relocatable kernel
> > for such a feature. But for using relocatable kenrel, one needs to modify
> > grub, lilo and I am not sure if somebody is going to do that. Secondly, how
> > would one specify an address to a boot-loader to load image at?
> 
> I thought this was important for vmlinux and Xen?
> 

Yes it is. Actually you had already mentioned it in the previous mail that's
why I did not repeat it here. Xen folks wanted to continue using vmlinux
for capturing dump. I am not sure if there is any technical limitation in
using relocatable bzImage or just that they wanted to continue using
existing working interface and did not want to switch to new interface.

Magnus, Horms, do you want to add to it? Is there a reason that relocatable
bzImage will not work in Xen env and we need to retain CONFIG_PHYSICAL_START
option in x86_64?


> I guess at this point the easy case is that we modify /sbin/kexec to support
> it.  And the other bootloaders can come be upgraded if the feature is
> interesting enough.
> 
> > On i386, somebody already found an interesting usage of 
> > CONFIG_PHYSICAL_START
> > where he was running his kernel above 16MB so that he can maximize on
> > DMA ZONE. Can't think of any usage for x86_64 at the moment but I think
> > down the line people might come up with such usages.
> 
> Agreed.  We do have CONFIG_PHYSICAL_ALIGN that can handle that case,
> although I admit that is a bit of a hack.
> 

Yes, but x86_64 will not have any of those options and only way to run 
kernel will be either use kexec or modify your boot-loader to so that
it can handle relocatable images.

> > To me, retaining CONFIG_PHYSICAL_START gives added flexibility to the user,
> > at the expense of reduced simplicity. We should definitely change the type
> > of vmlinux to ET_DYN but at the same time it might still be worth to retain
> > CONFIG_PHYSICAL_START option.
> 
> I think something like CONFIG_PHYSICAL_START currently gives us very
> little gain, and is hard to use correctly, and there are alternative
> solutions.  So if we can get rid of it, by only inconveniencing users
> who want load their kernels at a weird address it is worth it.
> 
> >> I think I can switch the vmlinux header type in about 100 lines or so
> >> of code.  Assuming I can ever get 30 minutes with the appropriate
> >> kernel.
> >> 
> >
> > That would be awesome. Then vmlinux will be relocatable too. (Officially).
> 
> Yes.  For x86_64 I can do this.  i386 is more difficult.  (Although with
> a little cleverness we can move the code that processes relocations into
> vmlinux).  
> 

Performing relocations in vmlinux will be interesting. That way i386 vmlinux
too will become relocatable and only piece of puzzle to solve will be to
make vmlinux of type ET_DYN.

Thanks
Vivek
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-02 Thread Eric W. Biederman
Vivek Goyal <[EMAIL PROTECTED]> writes:

> Only advantage of CONFIG_PHYSICAL_START seems to be that one has got
> capability to run the kernel from other addresses without modifying the
> boot-loader. One can argue that now people should use a relocatable kernel
> for such a feature. But for using relocatable kenrel, one needs to modify
> grub, lilo and I am not sure if somebody is going to do that. Secondly, how
> would one specify an address to a boot-loader to load image at?

I thought this was important for vmlinux and Xen?

I guess at this point the easy case is that we modify /sbin/kexec to support
it.  And the other bootloaders can come be upgraded if the feature is
interesting enough.

> On i386, somebody already found an interesting usage of CONFIG_PHYSICAL_START
> where he was running his kernel above 16MB so that he can maximize on
> DMA ZONE. Can't think of any usage for x86_64 at the moment but I think
> down the line people might come up with such usages.

Agreed.  We do have CONFIG_PHYSICAL_ALIGN that can handle that case,
although I admit that is a bit of a hack.

> To me, retaining CONFIG_PHYSICAL_START gives added flexibility to the user,
> at the expense of reduced simplicity. We should definitely change the type
> of vmlinux to ET_DYN but at the same time it might still be worth to retain
> CONFIG_PHYSICAL_START option.

I think something like CONFIG_PHYSICAL_START currently gives us very
little gain, and is hard to use correctly, and there are alternative
solutions.  So if we can get rid of it, by only inconveniencing users
who want load their kernels at a weird address it is worth it.

>> I think I can switch the vmlinux header type in about 100 lines or so
>> of code.  Assuming I can ever get 30 minutes with the appropriate
>> kernel.
>> 
>
> That would be awesome. Then vmlinux will be relocatable too. (Officially).

Yes.  For x86_64 I can do this.  i386 is more difficult.  (Although with
a little cleverness we can move the code that processes relocations into
vmlinux).  

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-02 Thread thunder7
From: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Date: Mon, Apr 02, 2007 at 04:49:14PM +0200
> 
> I used a working 2.6.21-rc3-mm2 tree, patched it up to 2.6.21-rc5-mm3
> and applied your patch. I ended up with the .config later in this email,
> and got this error:
> 
>   CC  arch/x86_64/kernel/head64.o
> arch/x86_64/kernel/head64.c: In function 'x86_64_start_kernel':
> arch/x86_64/kernel/head64.c:70: error: size of array 'type name' is negative
> make[1]: *** [arch/x86_64/kernel/head64.o] Error 1
> make: *** [arch/x86_64/kernel] Error 2
> 
> After reverting your patch, the build didn't fail, but of course the
> kernel won't build.
> 
That should, of course, read 'kernel won't boot'.

Sorry,
Jurriaan
-- 
Debian (Unstable) GNU/Linux 2.6.21-rc5-mm3 2x4826 bogomips load 0.92
the Jack Vance Integral Edition: http://www.integralarchive.org
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-02 Thread thunder7
From: Vivek Goyal <[EMAIL PROTECTED]>
Date: Mon, Apr 02, 2007 at 05:06:39PM +0530
> On Mon, Apr 02, 2007 at 01:17:45PM +0200, [EMAIL PROTECTED] wrote:
> [..]
> > > + /*
> > > +  * Make sure kernel is aligned to 2MB address. Catching it at compile
> > > +  * time is better. Change your config file and compile the kernel
> > > +  * for a 2MB aligned address (CONFIG_PHYSICAL_START)
> > > +  */
> > > + BUILD_BUG_ON(ALIGN(CONFIG_PHYSICAL_START, __KERNEL_ALIGN)
> > > + != CONFIG_PHYSICAL_START);
> > > +
> > >   /* clear bss before set_intr_gate with early_idt_handler */
> > >   clear_bss();
> > >  
> > > diff -puN 
> > > include/asm-x86_64/page.h~x86_64-check-for-config-physical-start-aligned-2M
> > >  include/asm-x86_64/page.h
> > > --- 
> > > linux-2.6.21-rc5-mm3-vanilla/include/asm-x86_64/page.h~x86_64-check-for-config-physical-start-aligned-2M
> > >   2007-04-02 20:50:55.0 +0530
> > > +++ linux-2.6.21-rc5-mm3-vanilla-root/include/asm-x86_64/page.h   
> > > 2007-04-02 20:51:34.0 +0530
> > > @@ -79,6 +79,7 @@ extern unsigned long phys_base;
> > >  #endif /* !__ASSEMBLY__ */
> > >  
> > >  #define __PHYSICAL_START CONFIG_PHYSICAL_START
> > > +#define __KERNEL_ALIGN   0x20
> > >  #define __START_KERNEL   (__START_KERNEL_map + __PHYSICAL_START)
> > >  #define __START_KERNEL_map   0x8000
> > >  #define __PAGE_OFFSET   0x8100
> > > _
> > 
> You will get a compile time error and your compilation will not be
> through if your physical address is not 2MB aligned. Just give it a try.
> 
Just gave it a try, but I'm not convinced yet :-)

I used a working 2.6.21-rc3-mm2 tree, patched it up to 2.6.21-rc5-mm3
and applied your patch. I ended up with the .config later in this email,
and got this error:

  CC  arch/x86_64/kernel/head64.o
arch/x86_64/kernel/head64.c: In function 'x86_64_start_kernel':
arch/x86_64/kernel/head64.c:70: error: size of array 'type name' is negative
make[1]: *** [arch/x86_64/kernel/head64.o] Error 1
make: *** [arch/x86_64/kernel] Error 2

After reverting your patch, the build didn't fail, but of course the
kernel won't build.

Good luck,
Jurriaan

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-rc5-mm3
# Mon Apr  2 16:38:50 2007
#
CONFIG_X86_64=y
CONFIG_64BIT=y
CONFIG_X86=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ZONE_DMA32=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_CMPXCHG=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_DMI=y
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SWAP_PREFETCH=y
CONFIG_SYSVIPC=y
# CONFIG_IPC_NS is not set
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
# CONFIG_TASKSTATS is not set
# CONFIG_UTS_NS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_CPUSETS is not set
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_EMBEDDED=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_SLAB=y
# CONFIG_VM_EVENT_COUNTERS is not set
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_SLOB is not set
CONFIG_PAGE_GROUP_BY_MOBILITY=y

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y

#
# Process debugging support
#
CONFIG_UTRACE=y
CONFIG_PTRACE=y

#
# Block layer
#
CONFIG_BLOCK=y
# CONFIG_BLK_DEV_IO_TRACE is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_VSMP is not set
CONFIG_MK8=y
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_INTERNODE_CACHE_BYTES=64

Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-02 Thread Vivek Goyal
On Mon, Apr 02, 2007 at 01:17:45PM +0200, [EMAIL PROTECTED] wrote:
[..]
> > +   /*
> > +* Make sure kernel is aligned to 2MB address. Catching it at compile
> > +* time is better. Change your config file and compile the kernel
> > +* for a 2MB aligned address (CONFIG_PHYSICAL_START)
> > +*/
> > +   BUILD_BUG_ON(ALIGN(CONFIG_PHYSICAL_START, __KERNEL_ALIGN)
> > +   != CONFIG_PHYSICAL_START);
> > +
> > /* clear bss before set_intr_gate with early_idt_handler */
> > clear_bss();
> >  
> > diff -puN 
> > include/asm-x86_64/page.h~x86_64-check-for-config-physical-start-aligned-2M 
> > include/asm-x86_64/page.h
> > --- 
> > linux-2.6.21-rc5-mm3-vanilla/include/asm-x86_64/page.h~x86_64-check-for-config-physical-start-aligned-2M
> > 2007-04-02 20:50:55.0 +0530
> > +++ linux-2.6.21-rc5-mm3-vanilla-root/include/asm-x86_64/page.h 
> > 2007-04-02 20:51:34.0 +0530
> > @@ -79,6 +79,7 @@ extern unsigned long phys_base;
> >  #endif /* !__ASSEMBLY__ */
> >  
> >  #define __PHYSICAL_START   CONFIG_PHYSICAL_START
> > +#define __KERNEL_ALIGN 0x20
> >  #define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START)
> >  #define __START_KERNEL_map 0x8000
> >  #define __PAGE_OFFSET   0x8100
> > _
> 
> I'm only a user, so I'm not uptodate on these addresses and how they
> work. However, how does this solve the problem that running 
> 
> make oldconfig
> 
> on a working 2.6.21-rc3-mm2 .config gives an unbootable 2.6.21-rc5-mm3
> kernel? If I read things correctly, you now get a BUG, but the kernel
> still won't boot. If that is correct, than I, as a user, don't think
> that this is the solution that I feel comfortable with. 
> 

You will get a compile time error and your compilation will not be
through if your physical address is not 2MB aligned. Just give it a try.

Thanks
Vivek
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-02 Thread thunder7
From: Vivek Goyal <[EMAIL PROTECTED]>
Date: Mon, Apr 02, 2007 at 01:11:59PM +0530
> 
> How about attached patch?
> 
> o X86_64 kernel should run from 2MB aligned address for two reasons.
>   - Performance.
>   - For relocatable kernels, page tables are updated based on difference
> between compile time address and load time physical address.
> This difference should be multiple of 2MB as kernel text and data
> is mapped using 2MB pages and PMD should be pointing to a 2MB
> aligned address. Life is simpler if both compile time and load time
> kernel addresses are 2MB aligned.
> 
> o Flag the error at compile time if one is trying to build a kernel which
>   does not meet alignment restrictions.
> 
> Signed-off-by: Vivek Goyal <[EMAIL PROTECTED]>
> ---
> 
>  arch/x86_64/kernel/head64.c |8 
>  include/asm-x86_64/page.h   |1 +
>  2 files changed, 9 insertions(+)
> 
> diff -puN 
> arch/x86_64/kernel/head64.c~x86_64-check-for-config-physical-start-aligned-2M 
> arch/x86_64/kernel/head64.c
> --- 
> linux-2.6.21-rc5-mm3-vanilla/arch/x86_64/kernel/head64.c~x86_64-check-for-config-physical-start-aligned-2M
> 2007-04-02 20:46:43.0 +0530
> +++ linux-2.6.21-rc5-mm3-vanilla-root/arch/x86_64/kernel/head64.c 
> 2007-04-02 21:20:45.0 +0530
> @@ -62,6 +62,14 @@ void __init x86_64_start_kernel(char * r
>  {
>   int i;
>  
> + /*
> +  * Make sure kernel is aligned to 2MB address. Catching it at compile
> +  * time is better. Change your config file and compile the kernel
> +  * for a 2MB aligned address (CONFIG_PHYSICAL_START)
> +  */
> + BUILD_BUG_ON(ALIGN(CONFIG_PHYSICAL_START, __KERNEL_ALIGN)
> + != CONFIG_PHYSICAL_START);
> +
>   /* clear bss before set_intr_gate with early_idt_handler */
>   clear_bss();
>  
> diff -puN 
> include/asm-x86_64/page.h~x86_64-check-for-config-physical-start-aligned-2M 
> include/asm-x86_64/page.h
> --- 
> linux-2.6.21-rc5-mm3-vanilla/include/asm-x86_64/page.h~x86_64-check-for-config-physical-start-aligned-2M
>   2007-04-02 20:50:55.0 +0530
> +++ linux-2.6.21-rc5-mm3-vanilla-root/include/asm-x86_64/page.h   
> 2007-04-02 20:51:34.0 +0530
> @@ -79,6 +79,7 @@ extern unsigned long phys_base;
>  #endif /* !__ASSEMBLY__ */
>  
>  #define __PHYSICAL_START CONFIG_PHYSICAL_START
> +#define __KERNEL_ALIGN   0x20
>  #define __START_KERNEL   (__START_KERNEL_map + __PHYSICAL_START)
>  #define __START_KERNEL_map   0x8000
>  #define __PAGE_OFFSET   0x8100
> _

I'm only a user, so I'm not uptodate on these addresses and how they
work. However, how does this solve the problem that running 

make oldconfig

on a working 2.6.21-rc3-mm2 .config gives an unbootable 2.6.21-rc5-mm3
kernel? If I read things correctly, you now get a BUG, but the kernel
still won't boot. If that is correct, than I, as a user, don't think
that this is the solution that I feel comfortable with. 

If the kernel only boots CONFIG_PHYSICAL_START is aligned on a 2MB
address, then we should align it, not BUG out when it's not, and
especially not when it's unaligned through no fault of the user.

Kind regards,
Jurriaan
-- 
Debian (Unstable) GNU/Linux 2.6.21-rc5-mm3 2x2010 bogomips load 0.89
the Jack Vance Integral Edition: http://www.integralarchive.org
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-02 Thread Vivek Goyal
On Mon, Apr 02, 2007 at 02:43:56AM -0600, Eric W. Biederman wrote:
> Vivek Goyal <[EMAIL PROTECTED]> writes:
> 
> > On Sat, Mar 31, 2007 at 11:29:57PM -0700, Andrew Morton wrote:
> >> On Sun, 01 Apr 2007 00:15:51 -0600 [EMAIL PROTECTED] (Eric W. Biederman)
> > wrote:
> >> 
> >> > Does anyone know how to express the constraint of a 2M aligned number in
> > Kconfig?
> >> 
> >> Nope, but we could make CONFIG_PHYSICAL_START be in units of 2MB, which
> >> would be a bit hard to use.
> >> 
> >> Adding a BUILD_BUG_ON which checks this constraint might help.  Plus a
> >> useful comment right at the BUILD_BUG_ON site explaining what to do about
> >> it.
> >
> > How about attached patch?
> 
> Looks like that will work.
> 
> Vivek.  If I can get the x86_64 vmlinux to have type ET_DYN (to mark
> it as relocatable) is there any reason to keep CONFIG_PHYSICAL_START?

Only advantage of CONFIG_PHYSICAL_START seems to be that one has got
capability to run the kernel from other addresses without modifying the
boot-loader. One can argue that now people should use a relocatable kernel
for such a feature. But for using relocatable kenrel, one needs to modify
grub, lilo and I am not sure if somebody is going to do that. Secondly, how
would one specify an address to a boot-loader to load image at?

On i386, somebody already found an interesting usage of CONFIG_PHYSICAL_START
where he was running his kernel above 16MB so that he can maximize on
DMA ZONE. Can't think of any usage for x86_64 at the moment but I think
down the line people might come up with such usages.

To me, retaining CONFIG_PHYSICAL_START gives added flexibility to the user,
at the expense of reduced simplicity. We should definitely change the type
of vmlinux to ET_DYN but at the same time it might still be worth to retain
CONFIG_PHYSICAL_START option.


> I think I can switch the vmlinux header type in about 100 lines or so
> of code.  Assuming I can ever get 30 minutes with the appropriate
> kernel.
> 

That would be awesome. Then vmlinux will be relocatable too. (Officially).

[..]
> > @@ -62,6 +62,14 @@ void __init x86_64_start_kernel(char * r
> >  {
> > int i;
> >  
> > +   /*
> > +* Make sure kernel is aligned to 2MB address. Catching it at compile
> > +* time is better. Change your config file and compile the kernel
> > +* for a 2MB aligned address (CONFIG_PHYSICAL_START)
> > +*/
> > +   BUILD_BUG_ON(ALIGN(CONFIG_PHYSICAL_START, __KERNEL_ALIGN)
> > +   != CONFIG_PHYSICAL_START);
> 
> Just as a nit.
>   BUILD_BUG_ON(CONFIG_PHYSICAL_START & (__KERNEL_ALIGN - 1))
> is a little shorter...   Although maybe not quite as readable.

This looks better. I changed it in attached patch.

> > +
> > /* clear bss before set_intr_gate with early_idt_handler */
> > clear_bss();
> >  
> > diff -puN
> > include/asm-x86_64/page.h~x86_64-check-for-config-physical-start-aligned-2M
> > include/asm-x86_64/page.h
> > ---
> > linux-2.6.21-rc5-mm3-vanilla/include/asm-x86_64/page.h~x86_64-check-for-config-physical-start-aligned-2M
> > 2007-04-02 20:50:55.0 +0530
> > +++ linux-2.6.21-rc5-mm3-vanilla-root/include/asm-x86_64/page.h 2007-04-02
> > 20:51:34.0 +0530
> > @@ -79,6 +79,7 @@ extern unsigned long phys_base;
> >  #endif /* !__ASSEMBLY__ */
> >  
> >  #define __PHYSICAL_START   CONFIG_PHYSICAL_START
> > +#define __KERNEL_ALIGN 0x20
> >  #define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START)
> >  #define __START_KERNEL_map 0x8000
> >  #define __PAGE_OFFSET   0x8100
> 
> Do we want to use the __KERNEL_ALIGN directive in the test in misc.c?

Thanks. I changed it in misc.c too.

Thanks
Vivek


o X86_64 kernel should run from 2MB aligned address for two reasons.
- Performance.
- For relocatable kernels, page tables are updated based on difference
  between compile time address and load time physical address.
  This difference should be multiple of 2MB as kernel text and data
  is mapped using 2MB pages and PMD should be pointing to a 2MB
  aligned address. Life is simpler if both compile time and load time
  kernel addresses are 2MB aligned.

o Flag the error at compile time if one is trying to build a kernel which
  does not meet alignment restrictions.

Signed-off-by: Vivek Goyal <[EMAIL PROTECTED]>
---

 arch/x86_64/boot/compressed/misc.c |2 +-
 arch/x86_64/kernel/head64.c|7 +++
 include/asm-x86_64/page.h  |1 +
 3 files changed, 9 insertions(+), 1 deletion(-)

diff -puN 
arch/x86_64/kernel/head64.c~x86_64-check-for-config-physical-start-aligned-2M 
arch/x86_64/kernel/head64.c
--- 
linux-2.6.21-rc5-mm3-vanilla/arch/x86_64/kernel/head64.c~x86_64-check-for-config-physical-start-aligned-2M
  2007-04-02 20:46:43.0 +0530
+++ linux-2.6.21-rc5-mm3-vanilla-root/arch/x86_64/kernel/head64.c   
2007-04-02 23:03:08.0 +0530
@@ -62,6 +62,13 @@ void __init x86_

Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-02 Thread Eric W. Biederman
Vivek Goyal <[EMAIL PROTECTED]> writes:

> On Sat, Mar 31, 2007 at 11:29:57PM -0700, Andrew Morton wrote:
>> On Sun, 01 Apr 2007 00:15:51 -0600 [EMAIL PROTECTED] (Eric W. Biederman)
> wrote:
>> 
>> > Does anyone know how to express the constraint of a 2M aligned number in
> Kconfig?
>> 
>> Nope, but we could make CONFIG_PHYSICAL_START be in units of 2MB, which
>> would be a bit hard to use.
>> 
>> Adding a BUILD_BUG_ON which checks this constraint might help.  Plus a
>> useful comment right at the BUILD_BUG_ON site explaining what to do about
>> it.
>
> How about attached patch?

Looks like that will work.

Vivek.  If I can get the x86_64 vmlinux to have type ET_DYN (to mark
it as relocatable) is there any reason to keep CONFIG_PHYSICAL_START?
I think I can switch the vmlinux header type in about 100 lines or so
of code.  Assuming I can ever get 30 minutes with the appropriate
kernel.

> Thanks
> Vivek
>
>
>
> o X86_64 kernel should run from 2MB aligned address for two reasons.
>   - Performance.
>   - For relocatable kernels, page tables are updated based on difference
> between compile time address and load time physical address.
> This difference should be multiple of 2MB as kernel text and data
> is mapped using 2MB pages and PMD should be pointing to a 2MB
> aligned address. Life is simpler if both compile time and load time
> kernel addresses are 2MB aligned.
>
> o Flag the error at compile time if one is trying to build a kernel which
>   does not meet alignment restrictions.
>
> Signed-off-by: Vivek Goyal <[EMAIL PROTECTED]>
> ---
>
>  arch/x86_64/kernel/head64.c |8 
>  include/asm-x86_64/page.h   |1 +
>  2 files changed, 9 insertions(+)
>
> diff -puN
> arch/x86_64/kernel/head64.c~x86_64-check-for-config-physical-start-aligned-2M
> arch/x86_64/kernel/head64.c
> ---
> linux-2.6.21-rc5-mm3-vanilla/arch/x86_64/kernel/head64.c~x86_64-check-for-config-physical-start-aligned-2M
> 2007-04-02 20:46:43.0 +0530
> +++ linux-2.6.21-rc5-mm3-vanilla-root/arch/x86_64/kernel/head64.c 2007-04-02
> 21:20:45.0 +0530
> @@ -62,6 +62,14 @@ void __init x86_64_start_kernel(char * r
>  {
>   int i;
>  
> + /*
> +  * Make sure kernel is aligned to 2MB address. Catching it at compile
> +  * time is better. Change your config file and compile the kernel
> +  * for a 2MB aligned address (CONFIG_PHYSICAL_START)
> +  */
> + BUILD_BUG_ON(ALIGN(CONFIG_PHYSICAL_START, __KERNEL_ALIGN)
> + != CONFIG_PHYSICAL_START);

Just as a nit.
BUILD_BUG_ON(CONFIG_PHYSICAL_START & (__KERNEL_ALIGN - 1))
is a little shorter...   Although maybe not quite as readable.
> +
>   /* clear bss before set_intr_gate with early_idt_handler */
>   clear_bss();
>  
> diff -puN
> include/asm-x86_64/page.h~x86_64-check-for-config-physical-start-aligned-2M
> include/asm-x86_64/page.h
> ---
> linux-2.6.21-rc5-mm3-vanilla/include/asm-x86_64/page.h~x86_64-check-for-config-physical-start-aligned-2M
> 2007-04-02 20:50:55.0 +0530
> +++ linux-2.6.21-rc5-mm3-vanilla-root/include/asm-x86_64/page.h 2007-04-02
> 20:51:34.0 +0530
> @@ -79,6 +79,7 @@ extern unsigned long phys_base;
>  #endif /* !__ASSEMBLY__ */
>  
>  #define __PHYSICAL_START CONFIG_PHYSICAL_START
> +#define __KERNEL_ALIGN   0x20
>  #define __START_KERNEL   (__START_KERNEL_map + __PHYSICAL_START)
>  #define __START_KERNEL_map   0x8000
>  #define __PAGE_OFFSET   0x8100

Do we want to use the __KERNEL_ALIGN directive in the test in misc.c?

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-04-02 Thread Vivek Goyal
On Sat, Mar 31, 2007 at 11:29:57PM -0700, Andrew Morton wrote:
> On Sun, 01 Apr 2007 00:15:51 -0600 [EMAIL PROTECTED] (Eric W. Biederman) 
> wrote:
> 
> > Does anyone know how to express the constraint of a 2M aligned number in 
> > Kconfig?
> 
> Nope, but we could make CONFIG_PHYSICAL_START be in units of 2MB, which
> would be a bit hard to use.
> 
> Adding a BUILD_BUG_ON which checks this constraint might help.  Plus a
> useful comment right at the BUILD_BUG_ON site explaining what to do about
> it.

How about attached patch?

Thanks
Vivek



o X86_64 kernel should run from 2MB aligned address for two reasons.
- Performance.
- For relocatable kernels, page tables are updated based on difference
  between compile time address and load time physical address.
  This difference should be multiple of 2MB as kernel text and data
  is mapped using 2MB pages and PMD should be pointing to a 2MB
  aligned address. Life is simpler if both compile time and load time
  kernel addresses are 2MB aligned.

o Flag the error at compile time if one is trying to build a kernel which
  does not meet alignment restrictions.

Signed-off-by: Vivek Goyal <[EMAIL PROTECTED]>
---

 arch/x86_64/kernel/head64.c |8 
 include/asm-x86_64/page.h   |1 +
 2 files changed, 9 insertions(+)

diff -puN 
arch/x86_64/kernel/head64.c~x86_64-check-for-config-physical-start-aligned-2M 
arch/x86_64/kernel/head64.c
--- 
linux-2.6.21-rc5-mm3-vanilla/arch/x86_64/kernel/head64.c~x86_64-check-for-config-physical-start-aligned-2M
  2007-04-02 20:46:43.0 +0530
+++ linux-2.6.21-rc5-mm3-vanilla-root/arch/x86_64/kernel/head64.c   
2007-04-02 21:20:45.0 +0530
@@ -62,6 +62,14 @@ void __init x86_64_start_kernel(char * r
 {
int i;
 
+   /*
+* Make sure kernel is aligned to 2MB address. Catching it at compile
+* time is better. Change your config file and compile the kernel
+* for a 2MB aligned address (CONFIG_PHYSICAL_START)
+*/
+   BUILD_BUG_ON(ALIGN(CONFIG_PHYSICAL_START, __KERNEL_ALIGN)
+   != CONFIG_PHYSICAL_START);
+
/* clear bss before set_intr_gate with early_idt_handler */
clear_bss();
 
diff -puN 
include/asm-x86_64/page.h~x86_64-check-for-config-physical-start-aligned-2M 
include/asm-x86_64/page.h
--- 
linux-2.6.21-rc5-mm3-vanilla/include/asm-x86_64/page.h~x86_64-check-for-config-physical-start-aligned-2M
2007-04-02 20:50:55.0 +0530
+++ linux-2.6.21-rc5-mm3-vanilla-root/include/asm-x86_64/page.h 2007-04-02 
20:51:34.0 +0530
@@ -79,6 +79,7 @@ extern unsigned long phys_base;
 #endif /* !__ASSEMBLY__ */
 
 #define __PHYSICAL_START   CONFIG_PHYSICAL_START
+#define __KERNEL_ALIGN 0x20
 #define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START)
 #define __START_KERNEL_map 0x8000
 #define __PAGE_OFFSET   0x8100
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Fw: Re: 2.6.21-rc5-mm3

2007-04-02 Thread Jan Beulich
>>  [] __put_user_4+0x12/0x18
>> DWARF2 unwinder stuck at __put_user_4+0x12/0x18
>> Leftover inexact backtrace:
>>  [] ret_from_fork+0x6/0x1c
>
>Hmpf. I saw it once in child_rip here too. Then I wanted to reproduce it to 
>report
>properly and couldn't again. I had a few other backtraces that were all non 
>stuck
>with child_rip then on essentially the same kernel. Something weird is going 
>on.
>
>>  [] hrtimer_interrupt+0x17c/0x1b8
>>  [] smp_apic_timer_interrupt+0x72/0x85
>>  [] apic_timer_interrupt+0x33/0x38
>>  [] __get_user_4+0x14/0x17
>> DWARF2 unwinder stuck at __get_user_4+0x14/0x17
>> Leftover inexact backtrace:
>
>Now that is weird. Never seen before. Jan, any ideas?

Not weird at all - these functions simply aren't annotated (i.e. I assume you
forgot to apply the respective patch when you re-added the unwinder). As
I don't have this as a standalone patch anymore, I'll include the full diff for
arch/i386/lib/ below - this is likely to apply.

Jan

Index: head-2007-03-19/arch/i386/lib/checksum.S
===
--- head-2007-03-19.orig/arch/i386/lib/checksum.S   2007-02-04 
19:44:54.0 +0100
+++ head-2007-03-19/arch/i386/lib/checksum.S2007-03-21 12:29:15.0 
+0100
@@ -25,6 +25,8 @@
  * 2 of the License, or (at your option) any later version.
  */
 
+#include 
+#include 
 #include 

 /*
@@ -36,8 +38,6 @@ unsigned int csum_partial(const unsigned
  */

 .text
-.align 4
-.globl csum_partial

 #ifndef CONFIG_X86_USE_PPRO_CHECKSUM
 
@@ -48,9 +48,14 @@ unsigned int csum_partial(const unsigned
   * Fortunately, it is easy to convert 2-byte alignment to 4-byte
   * alignment for the unrolled loop.
   */   
-csum_partial:  
+ENTRY(csum_partial)
+   CFI_STARTPROC
pushl %esi
+   CFI_ADJUST_CFA_OFFSET 4
+   CFI_REL_OFFSET esi, 0
pushl %ebx
+   CFI_ADJUST_CFA_OFFSET 4
+   CFI_REL_OFFSET ebx, 0
movl 20(%esp),%eax  # Function arg: unsigned int sum
movl 16(%esp),%ecx  # Function arg: int len
movl 12(%esp),%esi  # Function arg: unsigned char *buff
@@ -128,16 +133,27 @@ csum_partial: 
roll $8, %eax
 8:
popl %ebx
+   CFI_ADJUST_CFA_OFFSET -4
+   CFI_RESTORE ebx
popl %esi
+   CFI_ADJUST_CFA_OFFSET -4
+   CFI_RESTORE esi
ret
+   CFI_ENDPROC
+ENDPROC(csum_partial)
 
 #else
 
 /* Version for PentiumII/PPro */
 
-csum_partial:
+ENTRY(csum_partial)
+   CFI_STARTPROC
pushl %esi
+   CFI_ADJUST_CFA_OFFSET 4
+   CFI_REL_OFFSET esi, 0
pushl %ebx
+   CFI_ADJUST_CFA_OFFSET 4
+   CFI_REL_OFFSET ebx, 0
movl 20(%esp),%eax  # Function arg: unsigned int sum
movl 16(%esp),%ecx  # Function arg: int len
movl 12(%esp),%esi  # Function arg: const unsigned char *buf
@@ -245,8 +261,14 @@ csum_partial:
roll $8, %eax
 90: 
popl %ebx
+   CFI_ADJUST_CFA_OFFSET -4
+   CFI_RESTORE ebx
popl %esi
+   CFI_ADJUST_CFA_OFFSET -4
+   CFI_RESTORE esi
ret
+   CFI_ENDPROC
+ENDPROC(csum_partial)

 #endif
 
@@ -278,19 +300,24 @@ unsigned int csum_partial_copy_generic (
.long b, 6002f  ;   \
.previous
 
-.align 4
-.globl csum_partial_copy_generic
-   
 #ifndef CONFIG_X86_USE_PPRO_CHECKSUM
 
 #define ARGBASE 16 
 #define FP 12

-csum_partial_copy_generic:
+ENTRY(csum_partial_copy_generic)
+   CFI_STARTPROC
subl  $4,%esp   
+   CFI_ADJUST_CFA_OFFSET 4
pushl %edi
+   CFI_ADJUST_CFA_OFFSET 4
+   CFI_REL_OFFSET edi, 0
pushl %esi
+   CFI_ADJUST_CFA_OFFSET 4
+   CFI_REL_OFFSET esi, 0
pushl %ebx
+   CFI_ADJUST_CFA_OFFSET 4
+   CFI_REL_OFFSET ebx, 0
movl ARGBASE+16(%esp),%eax  # sum
movl ARGBASE+12(%esp),%ecx  # len
movl ARGBASE+4(%esp),%esi   # src
@@ -400,10 +427,19 @@ DST(  movb %cl, (%edi))
 .previous
 
popl %ebx
+   CFI_ADJUST_CFA_OFFSET -4
+   CFI_RESTORE ebx
popl %esi
+   CFI_ADJUST_CFA_OFFSET -4
+   CFI_RESTORE esi
popl %edi
+   CFI_ADJUST_CFA_OFFSET -4
+   CFI_RESTORE edi
popl %ecx   # equivalent to addl $4,%esp
+   CFI_ADJUST_CFA_OFFSET -4
ret 
+   CFI_ENDPROC
+ENDPROC(csum_partial_copy_generic)
 
 #else
 
@@ -421,10 +457,17 @@ DST(  movb %cl, (%edi))
 
 #define ARGBASE 12

-csum_partial_copy_generic:
+ENTRY(csum_partial_copy_generic)
+   CFI_STARTPROC
pushl %ebx
+   CFI_ADJUST_CFA_OFFSET 4
+   CFI_REL_OFFSET ebx, 0
pushl %edi
+   CFI_ADJUST_CFA_OFFSET 4
+   CFI_REL_OFFSET edi, 0
 

Re: 2.6.21-rc5-mm3

2007-04-01 Thread Rafael J. Wysocki
On Sunday, 1 April 2007 22:39, Rafael J. Wysocki wrote:
> On Sunday, 1 April 2007 21:03, Andrew Morton wrote:
> > On Sun, 01 Apr 2007 18:00:12 +0200 Michal Piotrowski <[EMAIL PROTECTED]> 
> > wrote:
> > 
> > > Andrew Morton napisał(a):
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc5/2.6.21-rc5-mm3/
> > > > 
> > > 
> > > BUG: at /mnt/md0/devel/linux-mm/arch/i386/kernel/smp.c:571 
> > > native_smp_call_function_mask()
> > >  [] dump_trace+0x63/0x1eb
> > >  [] show_trace_log_lvl+0x1a/0x30
> > >  [] show_trace+0x12/0x14
> > >  [] dump_stack+0x16/0x18
> > >  [] native_smp_call_function_mask+0x57/0x14b
> > >  [] smp_call_function+0x1e/0x22
> > >  [] on_each_cpu+0x2a/0x73
> > >  [] clock_was_set+0x1b/0x1d
> > >  [] timekeeping_resume+0xb5/0xbb
> > >  [] __sysdev_resume+0x17/0x5d
> > >  [] sysdev_resume+0x19/0x4b
> > >  [] device_power_up+0xb/0x12
> > >  [] swsusp_suspend+0x55/0x63
> > >  [] pm_suspend_disk+0x163/0x28f
> > >  [] enter_state+0x54/0x1d5
> > >  [] state_store+0x86/0x9c
> > >  [] subsys_attr_store+0x23/0x2b
> > >  [] sysfs_write_file+0xc1/0xe9
> > >  [] vfs_write+0xd1/0x15a
> > >  [] sys_write+0x3d/0x72
> > >  [] syscall_call+0x7/0xb
> > >  [] 0xb7f9b410
> > 
> > We're calling smp_call_function() with local interrupts disabled, which is
> > deadlockable.
> > 
> > This, I expect, is because swsusp_suspend() optimistically tries to run
> > everything with local interrupts disabled.
> 
> Well, not everything, but device_power_down()/device_power_up() which only
> handle sysdevs.
> 
> > I don't know why this has suddenly started happening -
> > timekeeping_resume()->clock_was_set()->on_each_cpu() has been there for a
> > while.  Doesn't mainline do the same thing?
> 
> Yes, and it has always done it.  It even is documented in 
> Documentation/power/devices.txt:System Devices . ;-)

Some clarification is necessary, I suppose:

I meant that the mainline had always called device_power_up() with IRQs
disabled, which was documented.

_OTOH_ the clock_was_set() was added to timekeeping_resume() after
2.6.20 and it shouldn't call on_each_cpu(), because it is run on one CPU.

Greetings,
Rafael (who's apparently too tired to read email now)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3

2007-04-01 Thread Rafael J. Wysocki
On Sunday, 1 April 2007 22:39, Rafael J. Wysocki wrote:
> On Sunday, 1 April 2007 21:03, Andrew Morton wrote:
> > On Sun, 01 Apr 2007 18:00:12 +0200 Michal Piotrowski <[EMAIL PROTECTED]> 
> > wrote:
> > 
> > > Andrew Morton napisał(a):
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc5/2.6.21-rc5-mm3/
> > > > 
> > > 
> > > BUG: at /mnt/md0/devel/linux-mm/arch/i386/kernel/smp.c:571 
> > > native_smp_call_function_mask()
> > >  [] dump_trace+0x63/0x1eb
> > >  [] show_trace_log_lvl+0x1a/0x30
> > >  [] show_trace+0x12/0x14
> > >  [] dump_stack+0x16/0x18
> > >  [] native_smp_call_function_mask+0x57/0x14b
> > >  [] smp_call_function+0x1e/0x22
> > >  [] on_each_cpu+0x2a/0x73
> > >  [] clock_was_set+0x1b/0x1d
> > >  [] timekeeping_resume+0xb5/0xbb
> > >  [] __sysdev_resume+0x17/0x5d
> > >  [] sysdev_resume+0x19/0x4b
> > >  [] device_power_up+0xb/0x12
> > >  [] swsusp_suspend+0x55/0x63
> > >  [] pm_suspend_disk+0x163/0x28f
> > >  [] enter_state+0x54/0x1d5
> > >  [] state_store+0x86/0x9c
> > >  [] subsys_attr_store+0x23/0x2b
> > >  [] sysfs_write_file+0xc1/0xe9
> > >  [] vfs_write+0xd1/0x15a
> > >  [] sys_write+0x3d/0x72
> > >  [] syscall_call+0x7/0xb
> > >  [] 0xb7f9b410
> > 
> > We're calling smp_call_function() with local interrupts disabled, which is
> > deadlockable.
> > 
> > This, I expect, is because swsusp_suspend() optimistically tries to run
> > everything with local interrupts disabled.
> 
> Well, not everything, but device_power_down()/device_power_up() which only
> handle sysdevs.
> 
> > I don't know why this has suddenly started happening -
> > timekeeping_resume()->clock_was_set()->on_each_cpu() has been there for a
> > while.  Doesn't mainline do the same thing?
> 
> Yes, and it has always done it.  It even is documented in
> Documentation/power/devices.txt:System Devices . ;-)
> 
> > Not sure what to do about this.  The best fix would be to teach swsusp to
> > not be so optmistic: resume functions are called with local irqs _enabled_
> > - that's part of their call environment.  swsusp tries to call them with
> > local irqs disabled and bad things happen.
> 
> I think timekeeping_resume() shouldn't call smp_call_function() ...

... which even is unnecessary, because sysdev_resume() runs on _one_ CPU.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3

2007-04-01 Thread Rafael J. Wysocki
On Sunday, 1 April 2007 21:03, Andrew Morton wrote:
> On Sun, 01 Apr 2007 18:00:12 +0200 Michal Piotrowski <[EMAIL PROTECTED]> 
> wrote:
> 
> > Andrew Morton napisał(a):
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc5/2.6.21-rc5-mm3/
> > > 
> > 
> > BUG: at /mnt/md0/devel/linux-mm/arch/i386/kernel/smp.c:571 
> > native_smp_call_function_mask()
> >  [] dump_trace+0x63/0x1eb
> >  [] show_trace_log_lvl+0x1a/0x30
> >  [] show_trace+0x12/0x14
> >  [] dump_stack+0x16/0x18
> >  [] native_smp_call_function_mask+0x57/0x14b
> >  [] smp_call_function+0x1e/0x22
> >  [] on_each_cpu+0x2a/0x73
> >  [] clock_was_set+0x1b/0x1d
> >  [] timekeeping_resume+0xb5/0xbb
> >  [] __sysdev_resume+0x17/0x5d
> >  [] sysdev_resume+0x19/0x4b
> >  [] device_power_up+0xb/0x12
> >  [] swsusp_suspend+0x55/0x63
> >  [] pm_suspend_disk+0x163/0x28f
> >  [] enter_state+0x54/0x1d5
> >  [] state_store+0x86/0x9c
> >  [] subsys_attr_store+0x23/0x2b
> >  [] sysfs_write_file+0xc1/0xe9
> >  [] vfs_write+0xd1/0x15a
> >  [] sys_write+0x3d/0x72
> >  [] syscall_call+0x7/0xb
> >  [] 0xb7f9b410
> 
> We're calling smp_call_function() with local interrupts disabled, which is
> deadlockable.
> 
> This, I expect, is because swsusp_suspend() optimistically tries to run
> everything with local interrupts disabled.

Well, not everything, but device_power_down()/device_power_up() which only
handle sysdevs.

> I don't know why this has suddenly started happening -
> timekeeping_resume()->clock_was_set()->on_each_cpu() has been there for a
> while.  Doesn't mainline do the same thing?

Yes, and it has always done it.  It even is documented in
Documentation/power/devices.txt:System Devices . ;-)

> Not sure what to do about this.  The best fix would be to teach swsusp to
> not be so optmistic: resume functions are called with local irqs _enabled_
> - that's part of their call environment.  swsusp tries to call them with
> local irqs disabled and bad things happen.

I think timekeeping_resume() shouldn't call smp_call_function() ...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3

2007-04-01 Thread Andrew Morton
On Sun, 01 Apr 2007 18:00:12 +0200 Michal Piotrowski <[EMAIL PROTECTED]> wrote:

> Andrew Morton napisał(a):
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc5/2.6.21-rc5-mm3/
> > 
> 
> BUG: at /mnt/md0/devel/linux-mm/arch/i386/kernel/smp.c:571 
> native_smp_call_function_mask()
>  [] dump_trace+0x63/0x1eb
>  [] show_trace_log_lvl+0x1a/0x30
>  [] show_trace+0x12/0x14
>  [] dump_stack+0x16/0x18
>  [] native_smp_call_function_mask+0x57/0x14b
>  [] smp_call_function+0x1e/0x22
>  [] on_each_cpu+0x2a/0x73
>  [] clock_was_set+0x1b/0x1d
>  [] timekeeping_resume+0xb5/0xbb
>  [] __sysdev_resume+0x17/0x5d
>  [] sysdev_resume+0x19/0x4b
>  [] device_power_up+0xb/0x12
>  [] swsusp_suspend+0x55/0x63
>  [] pm_suspend_disk+0x163/0x28f
>  [] enter_state+0x54/0x1d5
>  [] state_store+0x86/0x9c
>  [] subsys_attr_store+0x23/0x2b
>  [] sysfs_write_file+0xc1/0xe9
>  [] vfs_write+0xd1/0x15a
>  [] sys_write+0x3d/0x72
>  [] syscall_call+0x7/0xb
>  [] 0xb7f9b410

We're calling smp_call_function() with local interrupts disabled, which is
deadlockable.

This, I expect, is because swsusp_suspend() optimistically tries to run
everything with local interrupts disabled.

I don't know why this has suddenly started happening -
timekeeping_resume()->clock_was_set()->on_each_cpu() has been there for a
while.  Doesn't mainline do the same thing?

Not sure what to do about this.  The best fix would be to teach swsusp to
not be so optmistic: resume functions are called with local irqs _enabled_
- that's part of their call environment.  swsusp tries to call them with
local irqs disabled and bad things happen.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3

2007-04-01 Thread Michal Piotrowski
Andrew Morton napisał(a):
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc5/2.6.21-rc5-mm3/
> 

BUG: at /mnt/md0/devel/linux-mm/arch/i386/kernel/smp.c:571 
native_smp_call_function_mask()
 [] dump_trace+0x63/0x1eb
 [] show_trace_log_lvl+0x1a/0x30
 [] show_trace+0x12/0x14
 [] dump_stack+0x16/0x18
 [] native_smp_call_function_mask+0x57/0x14b
 [] smp_call_function+0x1e/0x22
 [] on_each_cpu+0x2a/0x73
 [] clock_was_set+0x1b/0x1d
 [] timekeeping_resume+0xb5/0xbb
 [] __sysdev_resume+0x17/0x5d
 [] sysdev_resume+0x19/0x4b
 [] device_power_up+0xb/0x12
 [] swsusp_suspend+0x55/0x63
 [] pm_suspend_disk+0x163/0x28f
 [] enter_state+0x54/0x1d5
 [] state_store+0x86/0x9c
 [] subsys_attr_store+0x23/0x2b
 [] sysfs_write_file+0xc1/0xe9
 [] vfs_write+0xd1/0x15a
 [] sys_write+0x3d/0x72
 [] syscall_call+0x7/0xb
 [] 0xb7f9b410
 ===
BUG: using smp_processor_id() in preemptible [0001] code: 
swsusp_shutdown/3246
caller is setup_apic_nmi_watchdog+0x13/0x423
 [] dump_trace+0x63/0x1eb
 [] show_trace_log_lvl+0x1a/0x30
 [] show_trace+0x12/0x14
 [] dump_stack+0x16/0x18
 [] debug_smp_processor_id+0xb3/0xc8
 [] setup_apic_nmi_watchdog+0x13/0x423
 [] lapic_nmi_resume+0x16/0x1f
 [] __sysdev_resume+0x17/0x5d
 [] sysdev_resume+0x19/0x4b
 [] device_power_up+0xb/0x12
 [] swsusp_suspend+0x55/0x63
 [] pm_suspend_disk+0x163/0x28f
 [] enter_state+0x54/0x1d5
 [] state_store+0x86/0x9c
 [] subsys_attr_store+0x23/0x2b
 [] sysfs_write_file+0xc1/0xe9
 [] vfs_write+0xd1/0x15a
 [] sys_write+0x3d/0x72
 [] syscall_call+0x7/0xb
 [] 0xb7f9b410

 l *setup_apic_nmi_watchdog+0x13
0xc011633d is in setup_apic_nmi_watchdog 
(/mnt/md0/devel/linux-mm/arch/i386/kernel/nmi.c:793).
788 release_perfctr_nmi(wd->perfctr_msr);
789 }
790
791 void setup_apic_nmi_watchdog (void *unused)
792 {
793 struct nmi_watchdog_ctlblk *wd = 
&__get_cpu_var(nmi_watchdog_ctlblk);
794
795 /* only support LOCAL and IO APICs for now */
796 if ((nmi_watchdog != NMI_LOCAL_APIC) &&
797 (nmi_watchdog != NMI_IO_APIC))

http://www.stardust.webpages.pl/files/tbf/bitis-gabonica/2.6.21-rc5-mm3/mm-console3.log
http://www.stardust.webpages.pl/files/tbf/bitis-gabonica/2.6.21-rc5-mm3/mm-config2

Regards,
Michal

-- 
Michal K. K. Piotrowski
Hurd Testers Group
(http://www.hurdtestersgroup.org/)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-03-31 Thread Andrew Morton
On Sun, 01 Apr 2007 00:15:51 -0600 [EMAIL PROTECTED] (Eric W. Biederman) wrote:

> Does anyone know how to express the constraint of a 2M aligned number in 
> Kconfig?

Nope, but we could make CONFIG_PHYSICAL_START be in units of 2MB, which
would be a bit hard to use.

Adding a BUILD_BUG_ON which checks this constraint might help.  Plus a
useful comment right at the BUILD_BUG_ON site explaining what to do about
it.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-03-31 Thread Eric W. Biederman
[EMAIL PROTECTED] writes:

> I had the same with this .config from 2.6.21-rc3-mm2 after running 'make
> oldconfig' and answering N to all new questions. Then, I tweaked some
> items, mostly to see if there was an 'align kernel' item in there
> somewhere. Diff between _working_ 2.6.21-rc5-mm3 .config and this
> 2.6.21-rc3-mm2 .config at the end. Somehow that seems to have adapted
> 'CONFIG_PHYSICAL_START', maybe that's it?

That looks like it.

Does anyone know how to express the constraint of a 2M aligned number in 
Kconfig?

The original plan was to remove CONFIG_PHYSICAL_START and CONFIG_RELOCATABLE on
x86_64 because after this series they have no cost and thus just lead to a 
little
more confusion.

However because we don't tag vmlinux as ET_DYN and Xen has some use for kernel
built at different physical addresses (or at least loaded at them), and because
Xen directly loads vmlinux he kept those options.

If we can find a place to stick it into the build doing a little post processing
of vmlinux so that it has the proper ELF header type (ET_DYN not ET_EXEC) would
be useful and allow us to remove those extra confusing options.

If I have a spare moment I will take a look.  Since there is confusion it is
probably worth removing the unnecessary confusing options if we can instead
of supporting the full confusion.

Doing the same for i386 would be a little harder but with Dave
Miller's suggestions for Xen and leaving the functions to be replaced
unlinked so the compiler generates efficient calls and then doing
linking magic to fill in the pieces at boot looks about as tricky as
moving the relocation logic for i386 into vmlinux as well.  So it
seems feasible and possibly worth doing.

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-03-31 Thread thunder7
From: Andrew Morton <[EMAIL PROTECTED]>
Date: Sat, Mar 31, 2007 at 12:53:03AM -0700
> On Sat, 31 Mar 2007 09:12:20 +0200 Helge Hafting <[EMAIL PROTECTED]> wrote:
> 
> > A new error for me:
> > 
> > loading 2.6.21rc5mm3
> > Bios data check successful
> > Destination address not 2M aligned
> >  -- System halted
> > 
> > 
> > This is using the same lilo that loads 2.6.18rc5mm1 fine.
> > x86-64
> > 
> 
> That's new.  Does changing the value of CONFIG_RELOCATABLE change anything?
> 
> Please send the .config.
> 
I had the same with this .config from 2.6.21-rc3-mm2 after running 'make
oldconfig' and answering N to all new questions. Then, I tweaked some
items, mostly to see if there was an 'align kernel' item in there
somewhere. Diff between _working_ 2.6.21-rc5-mm3 .config and this
2.6.21-rc3-mm2 .config at the end. Somehow that seems to have adapted
'CONFIG_PHYSICAL_START', maybe that's it?

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-rc3-mm2
# Tue Mar 13 18:35:46 2007
#
CONFIG_X86_64=y
CONFIG_64BIT=y
CONFIG_X86=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ZONE_DMA32=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_CMPXCHG=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_DMI=y
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SWAP_PREFETCH=y
CONFIG_SYSVIPC=y
# CONFIG_IPC_NS is not set
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
# CONFIG_TASKSTATS is not set
# CONFIG_UTS_NS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_CPUSETS is not set
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_EMBEDDED=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_SLAB=y
# CONFIG_VM_EVENT_COUNTERS is not set
CONFIG_CLASSIC_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_SLOB is not set
CONFIG_PAGE_GROUP_BY_MOBILITY=y

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y

#
# Process debugging support
#
CONFIG_UTRACE=y
CONFIG_PTRACE=y

#
# Block layer
#
CONFIG_BLOCK=y
# CONFIG_BLK_DEV_IO_TRACE is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_VSMP is not set
CONFIG_MK8=y
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_INTERNODE_CACHE_BYTES=64
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_MTRR=y
CONFIG_SMP=y
# CONFIG_SCHED_SMT is not set
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_BKL=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_RESOURCES_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_ADAPTIVE_READAHEAD=y
CONFIG_NR_CPUS=2
# CONFIG_HOTPLUG_CPU is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_IOMMU=y
# CONFIG_CALGARY_IOMMU is not set
CONFIG_SWIOTLB=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_INTEL is not set
CONFIG_X86_MCE_AMD=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x10
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# C

Re: Fw: Re: 2.6.21-rc5-mm3

2007-03-31 Thread Michal Piotrowski

On 31/03/07, Michal Piotrowski <[EMAIL PROTECTED]> wrote:

> Were there any strange binutils in use, Michal?

I don't remember when I had problems with this compiler.

   ^^^
(sorry, to many bottles of beer)

ld --version
GNU ld version 2.17.50.0.6-2.fc6 20061020

Regards,
Michal

--
Michal K. K. Piotrowski
LTG - Linux Testers Group (PL)
(http://www.stardust.webpages.pl/ltg/)
LTG - Linux Testers Group (EN)
(http://www.stardust.webpages.pl/linux_testers_group_en/)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Fw: Re: 2.6.21-rc5-mm3

2007-03-31 Thread Michal Piotrowski
Andi Kleen napisał(a):
>> BUG: NMI Watchdog detected LOCKUP on CPU0, eip c014ce9c, registers:
> 
> I suspect it is just because his console is too slow and then unwinding
> took too long and it happened to hit the unwinder. 
> 
> You did use a slow console, right?

console=ttyS0,115200n8

> 
> I suppose it just needs a strategic touch_nmi_watchdog. Will add that.
> 
>> Modules linked in: ide_cd cdrom rtc unix
>> CPU:0
>> EIP:0060:[]Not tainted VLI
>> EFLAGS: 0093   (2.6.21-rc5-mm3 #10)
>> EIP is at read_pointer+0x49/0x2d8
>> eax: c7a8dd04   ebx:    ecx:    edx: c043d19c
>> esi: c043d184   edi: c043d19c   ebp: c7a8dbf4   esp: c7a8dbbc
>> ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
>> Process udevd (pid: 864, ti=c7a8c000 task=c97cd4d0 task.ti=c7a8c000)
>> Stack: 000b c7a8dc70 c7a8dbf4 c014d6d0 c7a8dd04 c043e454 c7a8dbf4 
>> c011fdd1 
>>c043e404 c043e454 c043d190 0005cd94 c043d184 c7a8dd04 c7a8dd14 
>> c014dd3a 
>>    c7a8df44 c7a8dd74 c741eefb 
>> 0008 
>> Call Trace:
>>  [] unwind+0x414/0xfa2
>>  [] dump_trace_unwind+0xb4/0xe5
>>  [] unwind_init_running+0x25/0x2b
>>  [] dump_trace+0x63/0x1eb
>>  [] save_stack_trace+0x23/0x42
>>  [] update_cpu_base_expires_next+0x56/0x5a
>>  [] hrtimer_interrupt+0x17c/0x1b8
>>  [] smp_apic_timer_interrupt+0x72/0x85
>>  [] apic_timer_interrupt+0x33/0x38
>>  [] lock_release+0x1d2/0x1da
>>  [] up_read+0x19/0x2e
>>  [] do_page_fault+0x28f/0x55b
>>  [] error_code+0x79/0x80
>>  [] __put_user_4+0x12/0x18
>> DWARF2 unwinder stuck at __put_user_4+0x12/0x18
>> Leftover inexact backtrace:
>>  [] ret_from_fork+0x6/0x1c
> 
> Hmpf. I saw it once in child_rip here too. Then I wanted to reproduce it to 
> report
> properly and couldn't again. I had a few other backtraces that were all non 
> stuck
> with child_rip then on essentially the same kernel. Something weird is going 
> on.
> 
>>  [] hrtimer_interrupt+0x17c/0x1b8
>>  [] smp_apic_timer_interrupt+0x72/0x85
>>  [] apic_timer_interrupt+0x33/0x38
>>  [] __get_user_4+0x14/0x17
>> DWARF2 unwinder stuck at __get_user_4+0x14/0x17
>> Leftover inexact backtrace:
> 
> Now that is weird. Never seen before. Jan, any ideas?
> 
> What is your gcc/compiler, Michal?

gcc --version
gcc (GCC) 4.1.1 20070105 (Red Hat 4.1.1-51)

> 
> -Andi
> 
> 
> Were there any strange binutils in use, Michal?

I don't remember when I had problems with this compiler.

> 
>>  [] do_execve+0xdd/0x210
>>  [] sys_execve+0x3f/0x62
>>  [] sysenter_past_esp+0x5f/0x99
> 

Regards,
Michal

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group (PL)
(http://www.stardust.webpages.pl/ltg/)
LTG - Linux Testers Group (EN)
(http://www.stardust.webpages.pl/linux_testers_group_en/)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Fw: Re: 2.6.21-rc5-mm3

2007-03-31 Thread Ingo Molnar

* Andi Kleen <[EMAIL PROTECTED]> wrote:

> >  [] ret_from_fork+0x6/0x1c
> 
> Hmpf. I saw it once in child_rip here too. Then I wanted to reproduce 
> it to report properly and couldn't again. I had a few other backtraces 
> that were all non stuck with child_rip then on essentially the same 
> kernel. Something weird is going on.

find below a colorful unwinder crash, on an i386 UNWIND_STACK + 
FRAME_POINTERS kernel. It crashed on the context-> dereference:

/* Should be after the line below, but somewhere
   in early boot context comes out corrupted and we
   can't reference it -AK */
if (ops->stack(data, "IRQ") < 0)
break;
stack = (unsigned long*)context->previous_esp;
if (!stack)
break;

the comment suggests that such a crash isnt without precedence, but my 
crash wasnt during early bootup, it was on a working system.

Ingo

-->
 [] dump_trace+0x78/0x210
 [] show_trace_log_lvl+0x35/0x54
 [] show_trace+0x2c/0x2e
 [] dump_stack+0x29/0x2b
 [] check_critical_timing+0x26a/0x37e
 [] time_hardirqs_on+0xac/0xc2
 [] trace_hardirqs_on+0x16b/0x172
 [] restore_nocheck+0x12/0x15
 [] acpi_rs_get_address_common+0x63/0x71
 [] init_thread_union+0x0/0x1000
DWARF2 unwinder stuck at init_thread_union+0x0/0x1000
Leftover inexact backtrace:
BUG: unable to handle kernel paging request at virtual address 70252034
 printing eip:
c0106592
*pde = 
stopped custom tracer.
Oops:  [#1]
PREEMPT SMP 
Modules linked in:
CPU:0
EIP:0060:[]Not tainted VLI
EFLAGS: 00010046   (2.6.21-rc5-rt6 #83)
EIP is at dump_trace+0x1c8/0x210
eax:    ebx: c06bce10   ecx: fffd85a4   edx: c064728c
esi: 70252000   edi: 70252070   ebp: c06bce10   esp: c06bcda4
ds: 007b   es: 007b   fs: 00d8  gs:   ss: 0068  preempt:0002
Process swapper (pid: 0, ti=c06bc000 task=c0645280 task.ti=c06bc000)
Stack: c055faad c059b2f4 c06bc000  c02ae350    
    c4b83528 007b 007b   c06bc000 0060 
    c0645288 0068 c0645280 0835b643 c064728c c055faad c011c8f4 
Call Trace:
 [] show_trace_log_lvl+0x35/0x54
 [] show_trace+0x2c/0x2e
 [] dump_stack+0x29/0x2b
 [] check_critical_timing+0x26a/0x37e
 [] time_hardirqs_on+0xac/0xc2
 [] trace_hardirqs_on+0x16b/0x172
 [] restore_nocheck+0x12/0x15
 [] acpi_rs_get_address_common+0x63/0x71
 [] init_thread_union+0x0/0x1000
DWARF2 unwinder stuck at init_thread_union+0x0/0x1000
Leftover inexact backtrace:
BUG: unable to handle kernel paging request at virtual address 70252034
 printing eip:
c0106592
*pde = 
Oops:  [#2]
PREEMPT SMP 
Modules linked in:
CPU:0
EIP:0060:[]Not tainted VLI
EFLAGS: 00010046   (2.6.21-rc5-rt6 #83)
EIP is at dump_trace+0x1c8/0x210
eax:    ebx: c06bcc34   ecx: fffd85b7   edx: c064728c
esi: 70252000   edi: 70252070   ebp: c06bcc34   esp: c06bcbc8
ds: 007b   es: 007b   fs: 00d8  gs:   ss: 0068  preempt:0002
Process swapper (pid: 0, ti=c06bc000 task=c0645280 task.ti=c06bc000)
Stack: c0550554 c059b2f4 c06bc000  c02ae350    
    c4b83528 c064007b fffd007b c06400d8  c06bc000 0060 
   00010046 c0645288 0068 c0645280 0019 c064728c c0550554 c011c8f4 
Call Trace:
 [] show_trace_log_lvl+0x35/0x54
 [] show_stack_log_lvl+0xad/0xc5
 [] show_registers+0x227/0x31d
 [] die+0x137/0x21d
 [] do_page_fault+0x4c1/0x5a8
 [] error_code+0x7c/0x84
 [] dump_trace+0x1c8/0x210
 [] show_trace_log_lvl+0x35/0x54
 [] show_trace+0x2c/0x2e
 [] dump_stack+0x29/0x2b
 [] check_critical_timing+0x26a/0x37e
 [] time_hardirqs_on+0xac/0xc2
 [] trace_hardirqs_on+0x16b/0x172
 [] restore_nocheck+0x12/0x15
 [] acpi_rs_get_address_common+0x63/0x71
 [] init_thread_union+0x0/0x1000
DWARF2 unwinder stuck at init_thread_union+0x0/0x1000
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-03-31 Thread Eric W. Biederman
Andrew Morton <[EMAIL PROTECTED]> writes:

> On Sat, 31 Mar 2007 09:12:20 +0200 Helge Hafting <[EMAIL PROTECTED]> wrote:
>
>> A new error for me:
>> 
>> loading 2.6.21rc5mm3
>> Bios data check successful
>> Destination address not 2M aligned
>>  -- System halted
>> 
>> 
>> This is using the same lilo that loads 2.6.18rc5mm1 fine.
>> x86-64
>> 
>
> That's new.  Does changing the value of CONFIG_RELOCATABLE change anything?

I will have to dig a little deeper but this certainly sounds like the
x86_64 relocatable kernel patches.  I believe the check is in 
arch/x86_64/boot/compressed/misc.c

I think the interesting .config variable is going to be
CONFIG_PHYSICAL_START.

I suspect that isn't going to be 2M aligned, like the kernel requires
for best performance.

> Please send the .config.

Please.

Eric

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-03-30 Thread Andrew Morton
On Sat, 31 Mar 2007 09:12:20 +0200 Helge Hafting <[EMAIL PROTECTED]> wrote:

> A new error for me:
> 
> loading 2.6.21rc5mm3
> Bios data check successful
> Destination address not 2M aligned
>  -- System halted
> 
> 
> This is using the same lilo that loads 2.6.18rc5mm1 fine.
> x86-64
> 

That's new.  Does changing the value of CONFIG_RELOCATABLE change anything?

Please send the .config.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3 - no boot, "address not 2M aligned"

2007-03-30 Thread Helge Hafting
A new error for me:

loading 2.6.21rc5mm3
Bios data check successful
Destination address not 2M aligned
 -- System halted


This is using the same lilo that loads 2.6.18rc5mm1 fine.
x86-64

Helge Hafting
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3: fix e1000 compilation

2007-03-30 Thread David Miller
From: "Kok, Auke" <[EMAIL PROTECTED]>
Date: Fri, 30 Mar 2007 10:27:50 -0700

> turns out that NETIF_F_TSO6 is defined even if CONFIG_IPV6 is turned
> off, which is what broke e1000. That in itself might be a
> problem. Perhaps this should be fixed in netdevice.h (gratuitous bad
> inline patch below) but I'm not sure if people would appreciate
> this, as it's rather ugly, and it gets all horrible when people
> disable TCP protocol support...

No, I don't think we should do this.

We have the vlan acceleration flags available when 802.1Q is
disabled, same situation, and just as valid.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Fw: Re: 2.6.21-rc5-mm3

2007-03-30 Thread Andi Kleen

> 
> BUG: NMI Watchdog detected LOCKUP on CPU0, eip c014ce9c, registers:

I suspect it is just because his console is too slow and then unwinding
took too long and it happened to hit the unwinder. 

You did use a slow console, right?

I suppose it just needs a strategic touch_nmi_watchdog. Will add that.

> Modules linked in: ide_cd cdrom rtc unix
> CPU:0
> EIP:0060:[]Not tainted VLI
> EFLAGS: 0093   (2.6.21-rc5-mm3 #10)
> EIP is at read_pointer+0x49/0x2d8
> eax: c7a8dd04   ebx:    ecx:    edx: c043d19c
> esi: c043d184   edi: c043d19c   ebp: c7a8dbf4   esp: c7a8dbbc
> ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
> Process udevd (pid: 864, ti=c7a8c000 task=c97cd4d0 task.ti=c7a8c000)
> Stack: 000b c7a8dc70 c7a8dbf4 c014d6d0 c7a8dd04 c043e454 c7a8dbf4 
> c011fdd1 
>c043e404 c043e454 c043d190 0005cd94 c043d184 c7a8dd04 c7a8dd14 
> c014dd3a 
>    c7a8df44 c7a8dd74 c741eefb 
> 0008 
> Call Trace:
>  [] unwind+0x414/0xfa2
>  [] dump_trace_unwind+0xb4/0xe5
>  [] unwind_init_running+0x25/0x2b
>  [] dump_trace+0x63/0x1eb
>  [] save_stack_trace+0x23/0x42
>  [] update_cpu_base_expires_next+0x56/0x5a
>  [] hrtimer_interrupt+0x17c/0x1b8
>  [] smp_apic_timer_interrupt+0x72/0x85
>  [] apic_timer_interrupt+0x33/0x38
>  [] lock_release+0x1d2/0x1da
>  [] up_read+0x19/0x2e
>  [] do_page_fault+0x28f/0x55b
>  [] error_code+0x79/0x80
>  [] __put_user_4+0x12/0x18
> DWARF2 unwinder stuck at __put_user_4+0x12/0x18
> Leftover inexact backtrace:
>  [] ret_from_fork+0x6/0x1c

Hmpf. I saw it once in child_rip here too. Then I wanted to reproduce it to 
report
properly and couldn't again. I had a few other backtraces that were all non 
stuck
with child_rip then on essentially the same kernel. Something weird is going on.

>  [] hrtimer_interrupt+0x17c/0x1b8
>  [] smp_apic_timer_interrupt+0x72/0x85
>  [] apic_timer_interrupt+0x33/0x38
>  [] __get_user_4+0x14/0x17
> DWARF2 unwinder stuck at __get_user_4+0x14/0x17
> Leftover inexact backtrace:

Now that is weird. Never seen before. Jan, any ideas?

What is your gcc/compiler, Michal?

-Andi


Were there any strange binutils in use, Michal?

>  [] do_execve+0xdd/0x210
>  [] sys_execve+0x3f/0x62
>  [] sysenter_past_esp+0x5f/0x99
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3

2007-03-30 Thread Johannes Berg
On Fri, 2007-03-30 at 13:23 -0400, [EMAIL PROTECTED] wrote:
> On Fri, 30 Mar 2007 01:05:59 PDT, Andrew Morton said:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc5/2.6.21-rc5-mm3/
> 
> Building with CONFIG_MAC80211_DEBUGFS=y but CONFIG_MAC80211_DEBUG_COUNTERS=n
> blows chunks on my box:
> 
>   CC [M]  net/mac80211/debugfs.o
> net/mac80211/debugfs.c: In function ‘stats_wme_rx_queue_read’:
> net/mac80211/debugfs.c:266: error: ‘struct ieee80211_local’ has no member 
> named ‘wme_rx_queue’
> net/mac80211/debugfs.c: In function ‘stats_wme_tx_queue_read’:
> net/mac80211/debugfs.c:286: error: ‘struct ieee80211_local’ has no member 
> named ‘wme_tx_queue’
> make[2]: *** [net/mac80211/debugfs.o] Error 1

Yeah, my mistake. I posted a patch to fix it to wireless-dev but John is
on vacation, below is a copy.

If you want to put it anywhere here's my
Signed-off-by: Johannes Berg <[EMAIL PROTECTED]>

---
 net/mac80211/debugfs.c |   20 ++--
 net/mac80211/debugfs_sta.c |4 
 net/mac80211/ieee80211_i.h |4 ++--
 net/mac80211/sta_info.h|2 ++
 4 files changed, 18 insertions(+), 12 deletions(-)

--- wireless-dev.orig/net/mac80211/debugfs.c2007-03-28 22:57:03.937731699 
+0200
+++ wireless-dev/net/mac80211/debugfs.c 2007-03-28 22:59:12.287731699 +0200
@@ -246,12 +246,6 @@ DEBUGFS_STATS_FILE(rx_handlers_fragments
   local->rx_handlers_fragments);
 DEBUGFS_STATS_FILE(tx_status_drop, 20, "%u",
   local->tx_status_drop);
-#endif
-
-DEBUGFS_DEVSTATS_FILE(dot11ACKFailureCount);
-DEBUGFS_DEVSTATS_FILE(dot11RTSFailureCount);
-DEBUGFS_DEVSTATS_FILE(dot11FCSErrorCount);
-DEBUGFS_DEVSTATS_FILE(dot11RTSSuccessCount);
 
 static ssize_t stats_wme_rx_queue_read(struct file *file,
   char __user *userbuf,
@@ -292,6 +286,12 @@ static const struct file_operations stat
.read = stats_wme_tx_queue_read,
.open = mac80211_open_file_generic,
 };
+#endif
+
+DEBUGFS_DEVSTATS_FILE(dot11ACKFailureCount);
+DEBUGFS_DEVSTATS_FILE(dot11RTSFailureCount);
+DEBUGFS_DEVSTATS_FILE(dot11FCSErrorCount);
+DEBUGFS_DEVSTATS_FILE(dot11RTSSuccessCount);
 
 
 void debugfs_hw_add(struct ieee80211_local *local)
@@ -360,13 +360,13 @@ void debugfs_hw_add(struct ieee80211_loc
DEBUGFS_STATS_ADD(rx_expand_skb_head2);
DEBUGFS_STATS_ADD(rx_handlers_fragments);
DEBUGFS_STATS_ADD(tx_status_drop);
+   DEBUGFS_STATS_ADD(wme_tx_queue);
+   DEBUGFS_STATS_ADD(wme_rx_queue);
 #endif
DEBUGFS_STATS_ADD(dot11ACKFailureCount);
DEBUGFS_STATS_ADD(dot11RTSFailureCount);
DEBUGFS_STATS_ADD(dot11FCSErrorCount);
DEBUGFS_STATS_ADD(dot11RTSSuccessCount);
-   DEBUGFS_STATS_ADD(wme_tx_queue);
-   DEBUGFS_STATS_ADD(wme_rx_queue);
 }
 
 void debugfs_hw_del(struct ieee80211_local *local)
@@ -419,13 +419,13 @@ void debugfs_hw_del(struct ieee80211_loc
DEBUGFS_STATS_DEL(rx_expand_skb_head2);
DEBUGFS_STATS_DEL(rx_handlers_fragments);
DEBUGFS_STATS_DEL(tx_status_drop);
+   DEBUGFS_STATS_DEL(wme_tx_queue);
+   DEBUGFS_STATS_DEL(wme_rx_queue);
 #endif
DEBUGFS_STATS_DEL(dot11ACKFailureCount);
DEBUGFS_STATS_DEL(dot11RTSFailureCount);
DEBUGFS_STATS_DEL(dot11FCSErrorCount);
DEBUGFS_STATS_DEL(dot11RTSSuccessCount);
-   DEBUGFS_STATS_DEL(wme_tx_queue);
-   DEBUGFS_STATS_DEL(wme_rx_queue);
 
debugfs_remove(local->debugfs.statistics);
local->debugfs.statistics = NULL;
--- wireless-dev.orig/net/mac80211/ieee80211_i.h2007-03-28 
22:58:07.635731699 +0200
+++ wireless-dev/net/mac80211/ieee80211_i.h 2007-03-28 22:58:20.591731699 
+0200
@@ -647,13 +647,13 @@ struct ieee80211_local {
struct dentry *rx_expand_skb_head2;
struct dentry *rx_handlers_fragments;
struct dentry *tx_status_drop;
+   struct dentry *wme_tx_queue;
+   struct dentry *wme_rx_queue;
 #endif
struct dentry *dot11ACKFailureCount;
struct dentry *dot11RTSFailureCount;
struct dentry *dot11FCSErrorCount;
struct dentry *dot11RTSSuccessCount;
-   struct dentry *wme_tx_queue;
-   struct dentry *wme_rx_queue;
} stats;
struct dentry *stations;
struct dentry *keys;
--- wireless-dev.orig/net/mac80211/debugfs_sta.c2007-03-28 
22:59:49.973731699 +0200
+++ wireless-dev/net/mac80211/debugfs_sta.c 2007-03-28 23:00:22.353731699 
+0200
@@ -222,8 +222,10 @@ void ieee80211_sta_debugfs_add(struct st
DEBUGFS_ADD(last_ack_ms);
DEBUGFS_ADD(inactive_ms);
DEBUGFS_ADD(last_seq_ctrl);
+#ifdef CONFIG_MAC80211_DEBUG_COUNTERS
DEBUGFS_ADD(wme_rx_queue);
DEBUGFS_ADD(wme_tx_queue);
+#endif
 }
 
 void ieee80211

Re: 2.6.21-rc5-mm3: fix e1000 compilation

2007-03-30 Thread Kok, Auke

Randy Dunlap wrote:

On Fri, 30 Mar 2007 10:01:04 -0700 Andrew Morton wrote:


On Fri, 30 Mar 2007 07:39:04 -0700 "Kok, Auke" <[EMAIL PROTECTED]> wrote:


Alexey Dobriyan wrote:

  CC [M]  drivers/net/e1000/e1000_main.o
drivers/net/e1000/e1000_main.c: In function 'e1000_tso':
drivers/net/e1000/e1000_main.c:2968: error: dereferencing pointer to incomplete 
type
...

can you send me your config? I'd like to see why nobody here didn't spot this on 
any of our tests.



test.kernel.org got thoroughly broken by e1000, but Alexey's patch fixed things
up.


My daily/nightly builds were also broken by it...


turns out that NETIF_F_TSO6 is defined even if CONFIG_IPV6 is turned off, which 
is what broke e1000. That in itself might be a problem. Perhaps this should be 
fixed in netdevice.h (gratuitous bad inline patch below) but I'm not sure if 
people would appreciate this, as it's rather ugly, and it gets all horrible when 
people disable TCP protocol support...


In any case, I was not suspecting this at all. The patch to e1000 is fine with 
me.

Auke


---
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 1a52854..f077137 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -331,10 +331,16 @@ struct net_device
 #define NETIF_F_UFO(SKB_GSO_UDP << NETIF_F_GSO_SHIFT)
 #define NETIF_F_GSO_ROBUST (SKB_GSO_DODGY << NETIF_F_GSO_SHIFT)
 #define NETIF_F_TSO_ECN(SKB_GSO_TCP_ECN << NETIF_F_GSO_SHIFT)
+#ifdef CONFIG_IPV6
 #define NETIF_F_TSO6   (SKB_GSO_TCPV6 << NETIF_F_GSO_SHIFT)
+#endif

/* List of features with software fallbacks. */
+#ifdef CONFIG_IPV6
 #define NETIF_F_GSO_SOFTWARE   (NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6)
+#else
+#define NETIF_F_GSO_SOFTWARE   (NETIF_F_TSO | NETIF_F_TSO_ECN)
+#endif

 #define NETIF_F_GEN_CSUM   (NETIF_F_NO_CSUM | NETIF_F_HW_CSUM)
 #define NETIF_F_ALL_CSUM   (NETIF_F_IP_CSUM | NETIF_F_GEN_CSUM)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3

2007-03-30 Thread Valdis . Kletnieks
On Fri, 30 Mar 2007 01:05:59 PDT, Andrew Morton said:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc5/2.6.21-rc5-mm3/

Building with CONFIG_MAC80211_DEBUGFS=y but CONFIG_MAC80211_DEBUG_COUNTERS=n
blows chunks on my box:

  CC [M]  net/mac80211/debugfs.o
net/mac80211/debugfs.c: In function ‘stats_wme_rx_queue_read’:
net/mac80211/debugfs.c:266: error: ‘struct ieee80211_local’ has no member 
named ‘wme_rx_queue’
net/mac80211/debugfs.c: In function ‘stats_wme_tx_queue_read’:
net/mac80211/debugfs.c:286: error: ‘struct ieee80211_local’ has no member 
named ‘wme_tx_queue’
make[2]: *** [net/mac80211/debugfs.o] Error 1



pgpIyZRb7esVY.pgp
Description: PGP signature


Re: 2.6.21-rc5-mm3

2007-03-30 Thread Michal Piotrowski
Ingo Molnar napisał(a):
> * Michal Piotrowski <[EMAIL PROTECTED]> wrote:
> 
>> It's my lucky Friday, kernel hangs shortly after
>>
>> PM: Removing info for No Bus:vcsa1
>> PM: Adding info for No Bus:vcs1
>> PM: Adding info for No Bus:vcsa1
>> PM: Removing info for No Bus:vcs1
>> PM: Removing info for No Bus:vcsa1
>> PM: Adding info for No Bus:vcs1
>> PM: Adding info for No Bus:vcsa1
>> PM: Adding info for No Bus:rtc
>> Real Time Clock Driver v1.12ac
>>
>> due to
>>
>> GOOD
>> mm-only-hrtimers-debug-patch.patch
>> mm-only-hrtimers-debug-patch-fix.patch
>> BAD
>>
>> patches. Both patches works fine for me in vanilla tree.
> 
> hm. now that's a mystery ... Any way to figure out where it hangs? 
> nmi_watchdog=1/2, softlockup, etc?
> 
>   Ingo
> 

nmi_watchdog=1 boots fine

nmi_watchdog=2 shows this

BUG: NMI Watchdog detected LOCKUP on CPU0, eip c014ce9c, registers:
Modules linked in: ide_cd cdrom rtc unix
CPU:0
EIP:0060:[]Not tainted VLI
EFLAGS: 0093   (2.6.21-rc5-mm3 #10)
EIP is at read_pointer+0x49/0x2d8
eax: c7a8dd04   ebx:    ecx:    edx: c043d19c
esi: c043d184   edi: c043d19c   ebp: c7a8dbf4   esp: c7a8dbbc
ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
Process udevd (pid: 864, ti=c7a8c000 task=c97cd4d0 task.ti=c7a8c000)
Stack: 000b c7a8dc70 c7a8dbf4 c014d6d0 c7a8dd04 c043e454 c7a8dbf4 c011fdd1 
   c043e404 c043e454 c043d190 0005cd94 c043d184 c7a8dd04 c7a8dd14 c014dd3a 
       c7a8df44 c7a8dd74 c741eefb 0008 
Call Trace:
 [] unwind+0x414/0xfa2
 [] dump_trace_unwind+0xb4/0xe5
 [] unwind_init_running+0x25/0x2b
 [] dump_trace+0x63/0x1eb
 [] save_stack_trace+0x23/0x42
 [] update_cpu_base_expires_next+0x56/0x5a
 [] hrtimer_interrupt+0x17c/0x1b8
 [] smp_apic_timer_interrupt+0x72/0x85
 [] apic_timer_interrupt+0x33/0x38
 [] lock_release+0x1d2/0x1da
 [] up_read+0x19/0x2e
 [] do_page_fault+0x28f/0x55b
 [] error_code+0x79/0x80
 [] __put_user_4+0x12/0x18
DWARF2 unwinder stuck at __put_user_4+0x12/0x18
Leftover inexact backtrace:
 [] ret_from_fork+0x6/0x1c
 ===
Code: a8 47 83 c0 00 0f 84 a3 02 00 00 8b 55 d8 8b 02 89 7c 24 0c 89 44 24 08 
89 5c 24 04 c7 04 24 7c 54 3f c0 e9 75 02 00 00 8b 45 d8 <8b> 08 89 4d f0 89 d8 
83 e0 07 83 f8 01 74 7f 7f 04 85 c0 eb 08 

l *0xc014ce9c
0xc014ce9c is in read_pointer (/mnt/md0/devel/linux-mm/kernel/unwind.c:526).
521
522 if (ptrType < 0 || ptrType == DW_EH_PE_omit) {
523 dprintk(1, "Invalid pointer encoding %02X (%p,%p).", 
ptrType, *pLoc, end);
524 return 0;
525 }
526 ptr.p8 = *pLoc;
527 switch(ptrType & DW_EH_PE_FORM) {
528 case DW_EH_PE_data2:
529 if (end < (const void *)(ptr.p16u + 1)) {
530 dprintk(1, "Data16 overrun (%p,%p).", ptr.p8, 
end);

UNWIND_INFO stuff

BUG: NMI Watchdog detected LOCKUP<0>Kernel panic - not syncing: Aiee, killing 
interrupt handler!
 on CPU1, eip c014cd37, registers:
Modules linked in: ide_cd cdrom rtc unix
CPU:1
EIP:0060:[]Not tainted VLI
EFLAGS: 0012   (2.6.21-rc5-mm3 #10)
EIP is at cie_for_fde+0x45/0x65
eax: 0001c260   ebx: c04431f4   ecx: 0001c264   edx: 0010
esi: c04431f8   edi: c97f7da4   ebp: c97f7c94   esp: c97f7c8c
ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
Process udevd (pid: 843, ti=c97f6000 task=c97f2ac0 task.ti=c97f6000)
Stack: 0003aac0 c045f458 c97f7db4 c014dd93   c97f3014 01cc 
   c97f7f0c c97f7e14 c741eefb 0008 c97f7f0c c04431f8 c020c184 c97f7f0c 
   c97f7f44 c97f7f44  0008 c0834780  c97f7d34 c0142dc8 
Call Trace:
 [] unwind+0x46d/0xfa2
 [] dump_trace_unwind+0xb4/0xe5
 [] unwind_init_running+0x25/0x2b
 [] dump_trace+0x63/0x1eb
 [] save_stack_trace+0x23/0x42
 [] update_cpu_base_expires_next+0x56/0x5a
 [] hrtimer_interrupt+0x17c/0x1b8
 [] smp_apic_timer_interrupt+0x72/0x85
 [] apic_timer_interrupt+0x33/0x38
 [] __get_user_4+0x14/0x17
DWARF2 unwinder stuck at __get_user_4+0x14/0x17
Leftover inexact backtrace:
 [] do_execve+0xdd/0x210
 [] sys_execve+0x3f/0x62
 [] sysenter_past_esp+0x5f/0x99
 ===
Code: c9 74 42 f6 c1 03 75 3b b8 04 00 00 00 2b 42 10 01 d8 39 c1 77 2d 89 c8 
83 e0 fc 29 c3 8d 73 04 8b 53 04 83 fa 08 76 1b 8d 41 fc <39> c2 73 14 80 e2 03 
75 0f 83 7e 04 00 74 0b eb 07 be ac 47 83 

l *0xc014cd37
0xc014cd37 is in cie_for_fde (/mnt/md0/devel/linux-mm/kernel/unwind.c:498).
493 return ¬_fde; /* this is a CIE */
494 if ((fde[1] & (sizeof(*fde) - 1))
495 || fde[1] > (unsigned long)(fde + 1) - (unsigned 
long)table->address)
496 return NULL; /* this is not a valid FDE */
497 cie = fde + 1 - fde[1] / sizeof(*fde);
498 if (*cie <= sizeof(*cie) + 4
499 || *cie >= fde[1] - sizeof(*fde)
500 || (*cie & (sizeof(*cie) - 1))
501 || cie[1])
502 

Re: 2.6.21-rc5-mm3: fix e1000 compilation

2007-03-30 Thread Randy Dunlap
On Fri, 30 Mar 2007 10:01:04 -0700 Andrew Morton wrote:

> On Fri, 30 Mar 2007 07:39:04 -0700 "Kok, Auke" <[EMAIL PROTECTED]> wrote:
> 
> > Alexey Dobriyan wrote:
> > >   CC [M]  drivers/net/e1000/e1000_main.o
> > > drivers/net/e1000/e1000_main.c: In function 'e1000_tso':
> > > drivers/net/e1000/e1000_main.c:2968: error: dereferencing pointer to 
> > > incomplete type
> > >   ...
> > > 
> > 
> > can you send me your config? I'd like to see why nobody here didn't spot 
> > this on 
> > any of our tests.
> > 
> 
> test.kernel.org got thoroughly broken by e1000, but Alexey's patch fixed 
> things
> up.

My daily/nightly builds were also broken by it...

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3: fix e1000 compilation

2007-03-30 Thread Andrew Morton
On Fri, 30 Mar 2007 07:39:04 -0700 "Kok, Auke" <[EMAIL PROTECTED]> wrote:

> Alexey Dobriyan wrote:
> >   CC [M]  drivers/net/e1000/e1000_main.o
> > drivers/net/e1000/e1000_main.c: In function 'e1000_tso':
> > drivers/net/e1000/e1000_main.c:2968: error: dereferencing pointer to 
> > incomplete type
> > ...
> > 
> 
> can you send me your config? I'd like to see why nobody here didn't spot this 
> on 
> any of our tests.
> 

test.kernel.org got thoroughly broken by e1000, but Alexey's patch fixed things
up.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3

2007-03-30 Thread Andrew Morton
On Fri, 30 Mar 2007 12:38:11 -0400 "Dmitry Torokhov" <[EMAIL PROTECTED]> wrote:

> On 3/30/07, Andrew Morton <[EMAIL PROTECTED]> wrote:
> >
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc5/2.6.21-rc5-mm3/
> >
> > - git-cryptodev has things in it again
> >
> > - Re-added git-e1000: a large amount of e1000 driver work
> >
> > - git-net has a huge amount of material in it, but I dropped it because it
> >  went oops.
> >
> > - git-block is back, minus the problematic unplugging rework.
> >
> > - Lots of x86 updates.
> >
> > - lguest is being redone and has been dropped
> >
> > - The IDE development tree has been restored
> >
> 
> Andrew,
> 
> Did you drop git-input? I do not see it anywhere
> 

hm, odd, my git-input pull came up with a short changelog and no diff, so
it was decided that the tree was empty.  I don't know what could have
caused that.  Seems OK now though.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3

2007-03-30 Thread Ingo Molnar

* Michal Piotrowski <[EMAIL PROTECTED]> wrote:

> It's my lucky Friday, kernel hangs shortly after
> 
> PM: Removing info for No Bus:vcsa1
> PM: Adding info for No Bus:vcs1
> PM: Adding info for No Bus:vcsa1
> PM: Removing info for No Bus:vcs1
> PM: Removing info for No Bus:vcsa1
> PM: Adding info for No Bus:vcs1
> PM: Adding info for No Bus:vcsa1
> PM: Adding info for No Bus:rtc
> Real Time Clock Driver v1.12ac
> 
> due to
> 
> GOOD
> mm-only-hrtimers-debug-patch.patch
> mm-only-hrtimers-debug-patch-fix.patch
> BAD
> 
> patches. Both patches works fine for me in vanilla tree.

hm. now that's a mystery ... Any way to figure out where it hangs? 
nmi_watchdog=1/2, softlockup, etc?

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3

2007-03-30 Thread Dmitry Torokhov

On 3/30/07, Andrew Morton <[EMAIL PROTECTED]> wrote:


ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc5/2.6.21-rc5-mm3/

- git-cryptodev has things in it again

- Re-added git-e1000: a large amount of e1000 driver work

- git-net has a huge amount of material in it, but I dropped it because it
 went oops.

- git-block is back, minus the problematic unplugging rework.

- Lots of x86 updates.

- lguest is being redone and has been dropped

- The IDE development tree has been restored



Andrew,

Did you drop git-input? I do not see it anywhere

--
Dmitry
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3

2007-03-30 Thread Michal Piotrowski

On 30/03/07, Andrew Morton <[EMAIL PROTECTED]> wrote:


ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc5/2.6.21-rc5-mm3/



It's my lucky Friday, kernel hangs shortly after

PM: Removing info for No Bus:vcsa1
PM: Adding info for No Bus:vcs1
PM: Adding info for No Bus:vcsa1
PM: Removing info for No Bus:vcs1
PM: Removing info for No Bus:vcsa1
PM: Adding info for No Bus:vcs1
PM: Adding info for No Bus:vcsa1
PM: Adding info for No Bus:rtc
Real Time Clock Driver v1.12ac

due to

GOOD
mm-only-hrtimers-debug-patch.patch
mm-only-hrtimers-debug-patch-fix.patch
BAD

patches. Both patches works fine for me in vanilla tree.

http://www.stardust.webpages.pl/files/tbf/bitis-gabonica/2.6.21-rc5-mm3/mm-config
http://www.stardust.webpages.pl/files/tbf/bitis-gabonica/2.6.21-rc5-mm3/mm-console.log

Regards,
Michal

--
Michal K. K. Piotrowski
LTG - Linux Testers Group (PL)
(http://www.stardust.webpages.pl/ltg/)
LTG - Linux Testers Group (EN)
(http://www.stardust.webpages.pl/linux_testers_group_en/)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3: fix e1000 compilation

2007-03-30 Thread Alexey Dobriyan
On Fri, Mar 30, 2007 at 07:39:04AM -0700, Kok, Auke wrote:
> Alexey Dobriyan wrote:
> >  CC [M]  drivers/net/e1000/e1000_main.o
> >drivers/net/e1000/e1000_main.c: In function 'e1000_tso':
> >drivers/net/e1000/e1000_main.c:2968: error: dereferencing pointer to
> >incomplete type
> > ...
> >
>
> can you send me your config? I'd like to see why nobody here didn't spot
> this on any of our tests.

Sure...

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-rc5-mm3
# Fri Mar 30 13:00:57 2007
#
CONFIG_X86_32=y
CONFIG_GENERIC_TIME=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
# CONFIG_SWAP_PREFETCH is not set
CONFIG_SYSVIPC=y
CONFIG_IPC_NS=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
CONFIG_UTS_NS=y
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_SLAB=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_SLOB is not set
# CONFIG_PAGE_GROUP_BY_MOBILITY is not set

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y

#
# Process debugging support
#
CONFIG_UTRACE=y
CONFIG_PTRACE=y

#
# Block layer
#
CONFIG_BLOCK=y
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_AS is not set
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"

#
# Processor type and features
#
# CONFIG_TICK_ONESHOT is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
# CONFIG_SMP is not set
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_PARAVIRT is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MCORE2 is not set
CONFIG_MPENTIUM4=y
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
# CONFIG_X86_UP_APIC is not set
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
CONFIG_VM86=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_X86_REBOOTFIXUPS is not set
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
# CONFIG_X86_CPUID is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_PAGE_OFFSET=0xC000
CONFIG_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_M

Re: 2.6.21-rc5-mm3: fix e1000 compilation

2007-03-30 Thread Kok, Auke

Alexey Dobriyan wrote:

  CC [M]  drivers/net/e1000/e1000_main.o
drivers/net/e1000/e1000_main.c: In function 'e1000_tso':
drivers/net/e1000/e1000_main.c:2968: error: dereferencing pointer to incomplete 
type
...



can you send me your config? I'd like to see why nobody here didn't spot this on 
any of our tests.


thanks,

Auke



--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -32,6 +32,8 @@ #include 
 #include 
 #include 
 #include 
+#include 
+#include 
 #include 
 #include 
 #include 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm3

2007-03-30 Thread Rafael J. Wysocki
On Friday, 30 March 2007 10:05, Andrew Morton wrote:
> 
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc5/2.6.21-rc5-mm3/
> 
> - git-cryptodev has things in it again
> 
> - Re-added git-e1000: a large amount of e1000 driver work
> 
> - git-net has a huge amount of material in it, but I dropped it because it
>   went oops.
> 
> - git-block is back, minus the problematic unplugging rework.
> 
> - Lots of x86 updates.
> 
> - lguest is being redone and has been dropped
> 
> - The IDE development tree has been restored

On my system (x86_64) 'make install_modules' produces a lot of warning messages:

if [ -r System.map -a -x /sbin/depmod ]; then /sbin/depmod -ae -F System.map  
2.6.21-rc5-mm3; fi
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol __nf_ct_l4proto_find
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol nf_conntrack_find_get
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol nf_conntrack_l4proto_register
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol nf_conntrack_l4proto_udp6
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol nf_conntrack_checksum
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol __nfa_fill
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol nf_ct_get_tuple
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol __nf_ct_event_cache_init
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol nf_conntrack_l3proto_register
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol nf_ct_log_invalid
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol nf_conntrack_l4proto_tcp6
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol need_conntrack
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol nf_conntrack_l4proto_unregister
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol per_cpu__nf_conntrack_stat
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol __nf_conntrack_confirm
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol nf_ct_invert_tuple
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol per_cpu__nf_conntrack_ecache
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol nf_conntrack_l3proto_unregister
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol nf_ct_deliver_cached_events
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol __nf_ct_refresh_acct
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko 
needs unknown symbol nf_conntrack_in
WARNING: /lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/ip6t_rt.ko needs 
unknown symbol xt_register_match
WARNING: /lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/ip6t_rt.ko needs 
unknown symbol xt_unregister_match
WARNING: /lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/ip6t_owner.ko 
needs unknown symbol xt_register_match
WARNING: /lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/ip6t_owner.ko 
needs unknown symbol xt_unregister_match
WARNING: /lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/ip6t_mh.ko needs 
unknown symbol xt_register_match
WARNING: /lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/ip6t_mh.ko needs 
unknown symbol xt_unregister_match
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/ip6t_ipv6header.ko needs 
unknown symbol xt_register_match
WARNING: 
/lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/ip6t_ipv6header.ko needs 
unknown symbol xt_unregister_match
WARNING: /lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/ip6t_hl.ko needs 
unknown symbol xt_register_match
WARNING: /lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/ip6t_hl.ko needs 
unknown symbol xt_unregister_match
WARNING: /lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/ip6t_hbh.ko 
needs unknown symbol xt_unregister_matches
WARNING: /lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/ip6t_hbh.ko 
needs unknown symbol xt_register_matches
WARNING: /lib/modules/2.6.21-rc5-mm3/kernel/net/ipv6/netfilter/ip6t_frag.ko 
needs unknown symbol xt_register_match
WARNING: /l