17 Aug, 2008

1 commit

  • I noticed that sysctl_check.o was the largest object file in
    a allnoconfig build in kernel/*.

    36243 0 0 36243 8d93 kernel/sysctl_check.o

    This is because it was default y and && EMBEDDED. But I don't
    really see a need for a non kernel developer to have their
    sysctls checked all the time.

    So move the Kconfig into the kernel debugging section and
    also drop the default y and the EMBEDDED check.

    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     

12 Aug, 2008

1 commit

  • The kernel has this really nice facility where if you put "initcall_debug"
    on the kernel commandline, it'll print which function it's going to
    execute just before calling an initcall, and then after the call completes
    it will

    1) print if it had an error code

    2) checks for a few simple bugs (like leaving irqs off)
    and

    3) print how long the init call took in milliseconds.

    While trying to optimize the boot speed of my laptop, I have been loving
    number 3 to figure out what to optimize... ... and then I wished that
    the same thing was done for module loading.

    This patch makes the module loader use this exact same functionality; it's
    a logical extension in my view (since modules are just sort of late
    binding initcalls anyway) and so far I've found it quite useful in finding
    where things are too slow in my boot.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Rusty Russell

    Arjan van de Ven
     

07 Aug, 2008

1 commit


06 Aug, 2008

1 commit


02 Aug, 2008

2 commits


01 Aug, 2008

1 commit


31 Jul, 2008

1 commit

  • commit fb6624ebd912e3d6907ca6490248e73368223da9 (initrd: Fix virtual/physical
    mix-up in overwrite test) introduced the compiler warning below on mips,
    as its virt_to_page() doesn't cast the passed address to unsigned long
    internally, unlike on most other architectures:

    init/main.c: In function `start_kernel':
    init/main.c:633: warning: passing argument 1 of `virt_to_phys' makes pointer from integer without a cast
    init/main.c:636: warning: passing argument 1 of `virt_to_phys' makes pointer from integer without a cast

    For now, kill the warning by explicitly casting initrd_start to `void *', as
    that's the type it should really be.

    Reported-by: Atsushi Nemoto
    Signed-off-by: Geert Uytterhoeven
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     

29 Jul, 2008

2 commits


28 Jul, 2008

2 commits

  • Rabin Vincent noticed that there's a stray in BogoMIPS printk:

    > Remove the extra KERN_INFO which causes this:
    > Calibrating delay loop... 179.40 BogoMIPS (lpj=897024)
    > - printk(KERN_INFO "%lu.%02lu BogoMIPS (lpj=%lu)\n",
    > - loops_per_jiffy/(500000/HZ),
    > - (loops_per_jiffy/(5000/HZ)) % 100, loops_per_jiffy);
    > + printk("%lu.%02lu BogoMIPS (lpj=%lu)\n",
    > + loops_per_jiffy/(500000/HZ),
    > + (loops_per_jiffy/(5000/HZ)) % 100, loops_per_jiffy);
    > }

    How about just using KERN_CONT and leaving the whitespace
    for a patch that does the entire file?

    Reported-by: Rabin Vincent

    Joe Perches
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (25 commits)
    setlocalversion: do not describe if there is nothing to describe
    kconfig: fix typos: "Suport" -> "Support"
    kconfig: make defconfig is no longer chatty
    kconfig: make oldconfig is now less chatty
    kconfig: speed up all*config + randconfig
    kconfig: set all new symbols automatically
    kconfig: add diffconfig utility
    kbuild: remove Module.markers during mrproper
    kbuild: sparse needs CF not CHECKFLAGS
    kernel-doc: handle/strip __init
    vmlinux.lds: move __attribute__((__cold__)) functions back into final .text section
    init: fix URL of "The GNU Accounting Utilities"
    kbuild: add arch/$ARCH/include to search path
    kbuild: asm symlink support for arch/$ARCH/include
    kbuild: support arch/$ARCH/include for tags, cscope
    kbuild: prepare headers_* for arch/$ARCH/include
    kbuild: install all headers when arch is changed
    kbuild: make clean removes *.o.* as well
    kbuild: optimize headers_* targets
    kbuild: only one call for include/ in make headers_*
    ...

    Linus Torvalds
     

27 Jul, 2008

3 commits

  • This patch makes the needlessly global root_device_name static.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • A previous patch added the early_initcall(), to allow a cleaner hooking of
    pre-SMP initcalls. Now we remove the older interface, converting all
    existing users to the new one.

    [akpm@linux-foundation.org: cleanups]
    [akpm@linux-foundation.org: build fix]
    [kosaki.motohiro@jp.fujitsu.com: warning fix]
    [kosaki.motohiro@jp.fujitsu.com: warning fix]
    Signed-off-by: Eduard - Gabriel Munteanu
    Cc: Tom Zanussi
    Signed-off-by: KOSAKI Motohiro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eduard - Gabriel Munteanu
     
  • Added early initcall (pre-SMP) support, using an identical interface to
    that of regular initcalls. Functions called from do_pre_smp_initcalls()
    could be converted to use this cleaner interface.

    This is required by CPU hotplug, because early users have to register
    notifiers before going SMP. One such CPU hotplug user is the relay
    interface with buffer-only channels, which needs to register such a
    notifier, to be usable in early code. This in turn is used by kmemtrace.

    Signed-off-by: Eduard - Gabriel Munteanu
    Cc: Tom Zanussi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eduard - Gabriel Munteanu
     

26 Jul, 2008

8 commits

  • Signed-off-by: Heikki Orsila
    Signed-off-by: Sam Ravnborg

    Heikki Orsila
     
  • Following patch corrects URL of "The GNU Accounting Utilities" in init/Kconfig.

    Noticed by: Bart Van Assche"

    Signed-off-by: S.Çağlar Onur
    Signed-off-by: Sam Ravnborg

    S.Çağlar Onur
     
  • This patch adds proper prototypes for pid{hash,map}_init() in
    include/linux/pid_namespace.h

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • int Version_* is only used with ksymoops, which is only needed (according
    to README and Documentation/Changes) if CONFIG_KALLSYMS is NOT defined.
    Therefore this patch defines version_string only if CONFIG_KALLSYMS is not
    defined.

    Signed-off-by: Daniel Guilak
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Guilak
     
  • Signed-off-by: Daniel Guilak
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Guilak
     
  • Inflate requires some dynamic memory allocation very early in the boot
    process and this is provided with a set of four functions:
    malloc/free/gzip_mark/gzip_release.

    The old inflate code used a mark/release strategy rather than implement
    free. This new version instead keeps a count on the number of outstanding
    allocations and when it hits zero, it resets the malloc arena.

    This allows removing all the mark and release implementations and unifying
    all the malloc/free implementations.

    The architecture-dependent code must define two addresses:
    - free_mem_ptr, the address of the beginning of the area in which
    allocations should be made
    - free_mem_end_ptr, the address of the end of the area in which
    allocations should be made. If set to 0, then no check is made on
    the number of allocations, it just grows as much as needed

    The architecture-dependent code can also provide an arch_decomp_wdog()
    function call. This function will be called several times during the
    decompression process, and allow to notify the watchdog that the system is
    still running. If an architecture provides such a call, then it must
    define ARCH_HAS_DECOMP_WDOG so that the generic inflate code calls
    arch_decomp_wdog().

    Work initially done by Matt Mackall, updated to a recent version of the
    kernel and improved by me.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Thomas Petazzoni
    Cc: Matt Mackall
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Mikael Starvik
    Cc: Jesper Nilsson
    Cc: Haavard Skinnemoen
    Cc: David Howells
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Andi Kleen
    Cc: "H. Peter Anvin"
    Acked-by: Paul Mundt
    Acked-by: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Petazzoni
     
  • There seems to be little point in explicitly setting, then testing the macro
    BUILD_CRAMDISK within the context of a single source file.

    Signed-off-by: Robert P. J. Day
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • Every file should include the headers containing the externs for its
    global code (in this case for rd_doload).

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     

24 Jul, 2008

1 commit

  • * 'sched/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: hrtick_enabled() should use cpu_active()
    sched, x86: clean up hrtick implementation
    sched: fix build error, provide partition_sched_domains() unconditionally
    sched: fix warning in inc_rt_tasks() to not declare variable 'rq' if it's not needed
    cpu hotplug: Make cpu_active_map synchronization dependency clear
    cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2)
    sched: rework of "prioritize non-migratable tasks over migratable ones"
    sched: reduce stack size in isolated_cpu_setup()
    Revert parts of "ftrace: do not trace scheduler functions"

    Fixed up conflicts in include/asm-x86/thread_info.h (due to the
    TIF_SINGLESTEP unification vs TIF_HRTICK_RESCHED removal) and
    kernel/sched_fair.c (due to cpu_active_map vs for_each_cpu_mask_nr()
    introduction).

    Linus Torvalds
     

22 Jul, 2008

2 commits

  • ... as preparation for removing it completely, make it an
    invisible bool defaulting to yes.

    Signed-off-by: Johannes Berg
    Signed-off-by: Rusty Russell

    Johannes Berg
     
  • module.c and module.h conatains code for finding
    exported symbols which are declared with EXPORT_UNUSED_SYMBOL,
    and this code is compiled in even if CONFIG_UNUSED_SYMBOLS is not set
    and thus there can be no EXPORT_UNUSED_SYMBOLs in modules anyway
    (because EXPORT_UNUSED_SYMBOL(x) are compiled out to nothing then).

    This patch adds required #ifdefs.

    Signed-off-by: Denys Vlasenko
    Signed-off-by: Rusty Russell

    Denys Vlasenko
     

21 Jul, 2008

1 commit

  • On recent kernels, I get the following error when using an initrd:

    | initrd overwritten (0x00b78000 < 0x07668000) - disabling it.

    My Amiga 4000 has 12 MiB of RAM at physical address 0x07400000 (virtual
    0x00000000).
    The initrd is located at the end of RAM: 0x00b78000 - 0x00c00000 (virtual).
    The overwrite test compares the (virtual) initrd location to the (physical)
    first available memory location, which fails.

    This patch converts initrd_start to a page frame number, so it can safely be
    compared with min_low_pfn.

    Before the introduction of discontiguous memory support on m68k
    (12d810c1b8c2b913d48e629e2b5c01d105029839), min_low_pfn was just left
    untouched by the m68k-specific code (zero, I guess), and everything worked
    fine.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     

19 Jul, 2008

1 commit


18 Jul, 2008

1 commit

  • This is based on Linus' idea of creating cpu_active_map that prevents
    scheduler load balancer from migrating tasks to the cpu that is going
    down.

    It allows us to simplify domain management code and avoid unecessary
    domain rebuilds during cpu hotplug event handling.

    Please ignore the cpusets part for now. It needs some more work in order
    to avoid crazy lock nesting. Although I did simplfy and unify domain
    reinitialization logic. We now simply call partition_sched_domains() in
    all the cases. This means that we're using exact same code paths as in
    cpusets case and hence the test below cover cpusets too.
    Cpuset changes to make rebuild_sched_domains() callable from various
    contexts are in the separate patch (right next after this one).

    This not only boots but also easily handles
    while true; do make clean; make -j 8; done
    and
    while true; do on-off-cpu 1; done
    at the same time.
    (on-off-cpu 1 simple does echo 0/1 > /sys/.../cpu1/online thing).

    Suprisingly the box (dual-core Core2) is quite usable. In fact I'm typing
    this on right now in gnome-terminal and things are moving just fine.

    Also this is running with most of the debug features enabled (lockdep,
    mutex, etc) no BUG_ONs or lockdep complaints so far.

    I believe I addressed all of the Dmitry's comments for original Linus'
    version. I changed both fair and rt balancer to mask out non-active cpus.
    And replaced cpu_is_offline() with !cpu_active() in the main scheduler
    code where it made sense (to me).

    Signed-off-by: Max Krasnyanskiy
    Acked-by: Linus Torvalds
    Acked-by: Peter Zijlstra
    Acked-by: Gregory Haskins
    Cc: dmitry.adamushko@gmail.com
    Cc: pj@sgi.com
    Signed-off-by: Ingo Molnar

    Max Krasnyansky
     

17 Jul, 2008

1 commit


16 Jul, 2008

3 commits

  • …l/git/tip/linux-2.6-tip

    * 'generic-ipi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (22 commits)
    generic-ipi: more merge fallout
    generic-ipi: merge fix
    x86, visws: use mach-default/entry_arch.h
    x86, visws: fix generic-ipi build
    generic-ipi: fixlet
    generic-ipi: fix s390 build bug
    generic-ipi: fix linux-next tree build failure
    fix: "smp_call_function: get rid of the unused nonatomic/retry argument"
    fix: "smp_call_function: get rid of the unused nonatomic/retry argument"
    fix "smp_call_function: get rid of the unused nonatomic/retry argument"
    on_each_cpu(): kill unused 'retry' parameter
    smp_call_function: get rid of the unused nonatomic/retry argument
    sh: convert to generic helpers for IPI function calls
    parisc: convert to generic helpers for IPI function calls
    mips: convert to generic helpers for IPI function calls
    m32r: convert to generic helpers for IPI function calls
    arm: convert to generic helpers for IPI function calls
    alpha: convert to generic helpers for IPI function calls
    ia64: convert to generic helpers for IPI function calls
    powerpc: convert to generic helpers for IPI function calls
    ...

    Fix trivial conflicts due to rcu updates in kernel/rcupdate.c manually

    Linus Torvalds
     
  • Conflicts:

    arch/powerpc/Kconfig
    arch/s390/kernel/time.c
    arch/x86/kernel/apic_32.c
    arch/x86/kernel/cpu/perfctr-watchdog.c
    arch/x86/kernel/i8259_64.c
    arch/x86/kernel/ldt.c
    arch/x86/kernel/nmi_64.c
    arch/x86/kernel/smpboot.c
    arch/x86/xen/smp.c
    include/asm-x86/hw_irq_32.h
    include/asm-x86/hw_irq_64.h
    include/asm-x86/mach-default/irq_vectors.h
    include/asm-x86/mach-voyager/irq_vectors.h
    include/asm-x86/smp.h
    kernel/Makefile

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Ingo Molnar
     

15 Jul, 2008

1 commit


30 Jun, 2008

1 commit


26 Jun, 2008

1 commit

  • This adds kernel/smp.c which contains helpers for IPI function calls. In
    addition to supporting the existing smp_call_function() in a more efficient
    manner, it also adds a more scalable variant called smp_call_function_single()
    for calling a given function on a single CPU only.

    The core of this is based on the x86-64 patch from Nick Piggin, lots of
    changes since then. "Alan D. Brunelle" has
    contributed lots of fixes and suggestions as well. Also thanks to
    Paul E. McKenney for reviewing RCU usage
    and getting rid of the data allocation fallback deadlock.

    Acked-by: Ingo Molnar
    Reviewed-by: Paul E. McKenney
    Signed-off-by: Jens Axboe

    Jens Axboe
     

24 Jun, 2008

2 commits

  • As suggested by Ingo, remove all references to tsc from init/calibrate.c

    TSC is x86 specific, and using tsc in variable names in a generic file should
    be avoided. lpj_tsc is now called lpj_fine, since it is related to fine tuning
    of lpj value. Also tsc_rate_* is called timer_rate_*

    Signed-off-by: Alok N Kataria
    Cc: Arjan van de Ven
    Cc: Daniel Hecht
    Cc: Tim Mann
    Cc: Zach Amsden
    Cc: Sahil Rihan
    Signed-off-by: Ingo Molnar

    Alok Kataria
     
  • On the x86 platform we can use the value of tsc_khz computed during tsc
    calibration to calculate the loops_per_jiffy value. Its very important
    to keep the error in lpj values to minimum as any error in that may
    result in kernel panic in check_timer. In virtualization environment, On
    a highly overloaded host the guest delay calibration may sometimes
    result in errors beyond the ~50% that timer_irq_works can handle,
    resulting in the guest panicking.

    Does some formating changes to lpj_setup code to now have a single
    printk to print the bogomips value.

    We do this only for the boot processor because the AP's can have
    different base frequencies or the BIOS might boot a AP at a different
    frequency.

    Signed-off-by: Alok N Kataria
    Cc: Arjan van de Ven
    Cc: Daniel Hecht
    Cc: Tim Mann
    Cc: Zach Amsden
    Cc: Sahil Rihan
    Signed-off-by: Ingo Molnar

    Alok Kataria
     

16 Jun, 2008

1 commit


26 May, 2008

1 commit

  • init/Kconfig contains a list of configs that are searched
    for if 'make *config' are used with no .config present.
    Extend this list to look at the config identified by
    ARCH_DEFCONFIG.

    With this change we now try the defconfig targets last.

    This fixes a regression reported
    by: Linus Torvalds

    Signed-off-by: Sam Ravnborg
    Cc: Linus Torvalds
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"

    Sam Ravnborg