01 Aug, 2007

1 commit

  • Fix kernel-doc warnings in sched.c:

    Warning(linux-2623-rc1g4//kernel/sched.c:1685): No description found for parameter 'notifier'
    Warning(linux-2623-rc1g4//kernel/sched.c:1696): No description found for parameter 'notifier'
    Warning(linux-2623-rc1g4//kernel/sched.c:1750): No description found for parameter 'prev'

    Signed-off-by: Randy Dunlap
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

31 Jul, 2007

1 commit


30 Jul, 2007

3 commits

  • Restore the 2.6.22 CONFIG_ACPI_SLEEP build option, but now shadowing the
    new CONFIG_PM_SLEEP option.

    Signed-off-by: Len Brown
    [ Modified to work with the PM config setup changes. ]
    Signed-off-by: Linus Torvalds

    Len Brown
     
  • Introduce CONFIG_SUSPEND representing the ability to enter system sleep
    states, such as the ACPI S3 state, and allow the user to choose SUSPEND
    and HIBERNATION independently of each other.

    Make HOTPLUG_CPU be selected automatically if SUSPEND or HIBERNATION has
    been chosen and the kernel is intended for SMP systems.

    Also, introduce CONFIG_PM_SLEEP which is automatically selected if
    CONFIG_SUSPEND or CONFIG_HIBERNATION is set and use it to select the
    code needed for both suspend and hibernation.

    The top-level power management headers and the ACPI code related to
    suspend and hibernation are modified to use the new definitions (the
    changes in drivers/acpi/sleep/main.c are, mostly, moving code to reduce
    the number of ifdefs).

    There are many other files in which CONFIG_PM can be replaced with
    CONFIG_PM_SLEEP or even with CONFIG_SUSPEND, but they can be updated in
    the future.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION to avoid
    confusion (among other things, with CONFIG_SUSPEND introduced in the
    next patch).

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

29 Jul, 2007

2 commits


27 Jul, 2007

3 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
    [PATCH] sched: debug feature - make the sched-domains tree runtime-tweakable
    [PATCH] sched: add above_background_load() function
    [PATCH] sched: update Documentation/sched-stats.txt
    [PATCH] sched: mark sysrq_sched_debug_show() static
    [PATCH] sched: make cpu_clock() not use the rq clock
    [PATCH] sched: remove unused rq->load_balance_class
    [PATCH] sched: arch preempt notifier mechanism
    [PATCH] sched: increase SCHED_LOAD_SCALE_FUZZ

    Linus Torvalds
     
  • Commit bd804eba1c8597cbb7cd5a5f9fe886aae16a079a ("PM: Introduce
    pm_power_off_prepare") caused problems in the poweroff path, as reported by
    YOSHIFUJI Hideaki / 吉藤英明.

    Generally, sysdev_shutdown() should be called after the ACPI preparation for
    powering the system off. To make it happen, we can separate sysdev_shutdown()
    from device_shutdown() and call it directly wherever necessary.

    Signed-off-by: Rafael J. Wysocki
    Tested-by: YOSHIFUJI Hideaki / 吉藤英明
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • Fix kmod.c:
    Warning(linux-2.6.23-rc1//kernel/kmod.c:364): No description found for parameter 'envp'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

26 Jul, 2007

8 commits

  • debugging feature: make the sched-domains tree runtime-tweakable.

    Signed-off-by: Andrew Morton
    [ mingo@elte.hu: made it depend on CONFIG_SCHED_DEBUG & small updates ]
    Signed-off-by: Ingo Molnar

    Nick Piggin
     
  • Only sched.c uses sysrq_sched_debug_show, and sched.c includes sched_debug.c,
    so all uses of sysrq_sched_debug_show occur in the same source file.

    Eliminates a sparse warning:
    warning: symbol 'sysrq_sched_debug_show' was not declared. Should it be static?

    Signed-off-by: Josh Triplett
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar

    Josh Triplett
     
  • it is enough to disable interrupts to get the precise rq-clock
    of the local CPU.

    this also solves an NMI watchdog regression: the NMI watchdog
    calls touch_softlockup_watchdog(), which might deadlock on
    rq->lock if the NMI hits an rq-locked critical section.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Remove unused rq->load_balance_class.

    Signed-off-by: Satoru Takeuchi
    Signed-off-by: Ingo Molnar

    Satoru Takeuchi
     
  • This adds a general mechanism whereby a task can request the scheduler to
    notify it whenever it is preempted or scheduled back in. This allows the
    task to swap any special-purpose registers like the fpu or Intel's VT
    registers.

    Signed-off-by: Avi Kivity
    [ mingo@elte.hu: fixes, cleanups ]
    Signed-off-by: Ingo Molnar

    Avi Kivity
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
    ACPI: Kconfig: remove CONFIG_ACPI_SLEEP from source
    ACPI: quiet ACPI Exceptions due to no _PTC or _TSS
    ACPI: Remove references to ACPI_STATE_S2 from acpi_pm_enter
    ACPI: Kconfig: always enable CONFIG_ACPI_SLEEP on X86
    ACPI: Kconfig: fold /proc/acpi/sleep under CONFIG_ACPI_PROCFS
    ACPI: Kconfig: CONFIG_ACPI_PROCFS now defaults to N
    ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers
    ACPI: autoload modules - Create ACPI alias interface
    ACPI: autoload modules - ACPICA modifications
    ACPI: asus-laptop: Fix failure exits
    ACPI: fix oops due to typo in new throttling code
    ACPI: ignore _PSx method for hotplugable PCI devices
    ACPI: Use ACPI methods to select PCI device suspend state
    ACPI, PNP: hook ACPI D-state to PNP suspend/resume
    ACPI: Add acpi_pm_device_sleep_state helper routine
    ACPI: Implement the set_target() callback from pm_ops

    Linus Torvalds
     
  • This avoids xtime lag seen with dynticks, because while 'xtime' itself
    is still not updated often, we keep a 'xtime_cache' variable around that
    contains the approximate real-time that _is_ updated each time we do a
    'update_wall_time()', and is thus never off by more than one tick.

    IOW, this restores the original semantics for 'xtime' users, as long as
    you use the proper abstraction functions (ie 'current_kernel_time()' or
    'get_seconds()' depending on whether you want a timespec or just the
    seconds field).

    [ Updated Patch. As penance for my sins I've also yanked another #ifdef
    that was added to avoid the xtime lag w/ hrtimers. ]

    Signed-off-by: John Stultz
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Linus Torvalds

    john stultz
     
  • This avoids use of the kernel-internal "xtime" variable directly outside
    of the actual time-related functions. Instead, use the helper functions
    that we already have available to us.

    This doesn't actually change any behaviour, but this will allow us to
    fix the fact that "xtime" isn't updated very often with CONFIG_NO_HZ
    (because much of the realtime information is maintained as separate
    offsets to 'xtime'), which has caused interfaces that use xtime directly
    to get a time that is out of sync with the real-time clock by up to a
    third of a second or so.

    Signed-off-by: John Stultz
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Linus Torvalds

    john stultz
     

25 Jul, 2007

1 commit


23 Jul, 2007

2 commits

  • * 'audit.b39' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
    [PATCH] get rid of AVC_PATH postponed treatment
    [PATCH] allow audit filtering on bit & operations
    [PATCH] audit: fix broken class-based syscall audit
    [PATCH] Make IPC mode consistent

    Linus Torvalds
     
  • This patch makes the i386 behave the same way that x86_64 does when a
    segfault happens. A line gets printed to the kernel log so that tools
    that need to check for failures can behave more uniformly between
    debug.show_unhandled_signals sysctl variable to 0 (or by doing echo 0 >
    /proc/sys/debug/exception-trace)

    Also, all of the lines being printed are now using printk_ratelimit() to
    deny the ability of DoS from a local user with a program like the
    following:

    main()
    {
    while (1)
    if (!fork()) *(int *)0 = 0;
    }

    This new revision also includes the fix that Andrew did which got rid of
    new sysctl that was added to the system in earlier versions of this.
    Also, 'show-unhandled-signals' sysctl has been renamed back to the old
    'exception-trace' to avoid breakage of people's scripts.

    AK: Enabling by default for i386 will be likely controversal, but let's see what happens
    AK: Really folks, before complaining just fix your segfaults
    AK: I bet this will find a lot of silent issues

    Signed-off-by: Masoud Sharbiani
    Signed-off-by: Andi Kleen
    [ Personally, I've found the complaints useful on x86-64, so I'm all for
    this. That said, I wonder if we could do it more prettily.. -Linus ]
    Signed-off-by: Linus Torvalds

    Masoud Asgharifard Sharbiani
     

22 Jul, 2007

12 commits

  • Selinux folks had been complaining about the lack of AVC_PATH
    records when audit is disabled. I must admit my stupidity - I assumed
    that avc_audit() really couldn't use audit_log_d_path() because of
    deadlocks (== could be called with dcache_lock or vfsmount_lock held).
    Shouldn't have made that assumption - it never gets called that way.
    It _is_ called under spinlocks, but not those.

    Since audit_log_d_path() uses ab->gfp_mask for allocations,
    kmalloc() in there is not a problem. IOW, the simple fix is sufficient:
    let's rip AUDIT_AVC_PATH out and simply generate pathname as part of main
    record. It's trivial to do.

    Signed-off-by: Al Viro
    Acked-by: James Morris

    Al Viro
     
  • Right now the audit filter can match on = != > < >= blah blah blah.
    This allow the filter to also look at bitwise AND operations, &

    Signed-off-by: Eric Paris
    Signed-off-by: Al Viro

    Eric Paris
     
  • The sanity check in audit_match_class() is wrong. We are able to audit
    2048 syscalls but in audit_match_class() we were accidentally using
    sizeof(_u32) instead of number of bits in _u32 when deciding how many
    syscalls were valid. On ia64 in particular we were hitting syscall
    numbers over the (wrong) limit of 256. Fixing the audit_match_class
    check takes care of the problem.

    Signed-off-by: Klaus Weidner
    Signed-off-by: Al Viro

    Klaus Weidner
     
  • The mode fields for IPC records are not consistent. Some are hex, others are
    octal. This patch makes them all octal.

    Signed-off-by: Steve Grubb
    Signed-off-by: Al Viro

    Steve Grubb
     
  • Signed-off-by: Nigel Cunningham
    Cc: Randy Dunlap
    Cc: "Rafael J. Wysocki"
    Cc: Pavel Machek
    Acked-by: Linus Torvalds
    Signed-off-by: Andrew Morton
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Nigel Cunningham
     
  • Otherwise smp_affinity would only update after the next interrupt
    on x86 systems.

    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • i386 and sparc64 have the identical code to update the cmos clock. Move it
    into kernel/time/ntp.c as there are other architectures coming along with the
    same requirements.

    [akpm@linux-foundation.org: build fixes]
    Signed-off-by: Thomas Gleixner
    Cc: Chris Wright
    Cc: Ingo Molnar
    Cc: john stultz
    Cc: David Miller
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • Speedup hrtimer_enqueue by evaluating the rbtree insertion result.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner
    Cc: john stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • Add some more debug information to the hrtimer and clock events code.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner
    Cc: john stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • After discussing w/ Thomas over IRC, it seems the issue is the sched tick
    fires on every cpu at the same time, causing extra lock contention.

    This smaller change, adds an extra offset per cpu so the ticks don't line up.
    This patch also drops the idle latency from 40us down to under 20us.

    Signed-off-by: john stultz
    Signed-off-by: Thomas Gleixner
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    john stultz
     
  • When a device is replaced by a better rated device, then the broadcast
    mode needs to be evaluated again. When the new device has no requirement
    for broadcasting, then the broadcast bits for the CPU must be cleared.

    Signed-off-by: Thomas Gleixner
    Cc: john stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • We need to make sure, that the clockevent devices are resumed, before
    the tick is resumed. The current resume logic does not guarantee this.

    Add CLOCK_EVT_MODE_RESUME and call the set mode functions of the clock
    event devices before resuming the tick / oneshot functionality.

    Fixup the existing users.

    Thanks to Nigel Cunningham for tracking down a long standing thinko,
    which affected the jinxed VAIO.

    [akpm@linux-foundation.org: xen build fix]
    Signed-off-by: Thomas Gleixner
    Cc: john stultz
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     

21 Jul, 2007

5 commits

  • This basically reverts commit 4e44f3497d41db4c3b9051c61410dee8ae4fb49c,
    while waiting for it to be re-done more completely. There are cases of
    people mixing "time()" with higher-resolution time sources, and we need
    to take the nanosecond offsets into account.

    Ingo has a patch that does that, but it's still under some discussion.
    In the meantime, just revert back to the old simple situation of just
    doing the whole exact timesource calculations.

    But rather than using do_gettimeofday(), use the internal nanosecond
    resolution getnstimeofday(), which at least avoids one unnecessary
    conversion (since we really don't care about whether the fractional
    seconds are nanoseconds or microseconds - we'll just throw them away).

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] Prevent people from directly including .
    [IA64] remove time interpolator
    [IA64] Convert to generic timekeeping/clocksource
    [IA64] refresh some config files for 64K pagesize
    [IA64] Delete iosapic_free_rte()
    [IA64] fallocate system call
    [IA64] Enable percpu vector domain for IA64_DIG
    [IA64] Enable percpu vector domain for IA64_GENERIC
    [IA64] Support irq migration across domain
    [IA64] Add support for vector domain
    [IA64] Add mapping table between irq and vector
    [IA64] Check if irq is sharable
    [IA64] Fix invalid irq vector assumption for iosapic
    [IA64] Use dynamic irq for iosapic interrupts
    [IA64] Use per iosapic lock for indirect iosapic register access
    [IA64] Cleanup lock order in iosapic_register_intr
    [IA64] Remove duplicated members in iosapic_rte_info
    [IA64] Remove block structure for locking in iosapic.c

    Linus Torvalds
     
  • Make it possible to use __start_notes and __stop_notes without getting a GPREL
    overflow error from the FRV linker.

    Small variables that would otherwise be in .data or .bss may, depending on the
    arch, be placed in special sections (.sdata or .sbss) that permit single
    instruction references on fixed instruction width machines.

    __start_notes and __stop_notes aren't really char variables, and certainly
    don't refer to data in .data or .bss. Making them type "void" fools the
    compiler into not assuming anything about them.

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     
  • Tony Luck
     
  • Remove time_interpolator code (This is generic code, but
    only user was ia64. It has been superseded by the
    CONFIG_GENERIC_TIME code).

    Signed-off-by: Bob Picco
    Signed-off-by: John Stultz
    Signed-off-by: Peter Keilty
    Signed-off-by: Tony Luck

    Bob Picco
     

20 Jul, 2007

2 commits

  • Slab destructors were no longer supported after Christoph's
    c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been
    BUGs for both slab and slub, and slob never supported them
    either.

    This rips out support for the dtor pointer from kmem_cache_create()
    completely and fixes up every single callsite in the kernel (there were
    about 224, not including the slab allocator definitions themselves,
    or the documentation references).

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • Implement the cpu_clock(cpu) interface for kernel-internal use:
    high-speed (but slightly incorrect) per-cpu clock constructed from
    sched_clock().

    This API, unused at the moment, will be used in the future by blktrace,
    by the softlockup-watchdog, by printk and by lockstat.

    Signed-off-by: Ingo Molnar

    Ingo Molnar