06 May, 2008

36 commits

  • Jiri Kosina
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    mlx4_core: Support creation of FMRs with pages smaller than 4K
    IB/ehca: Fix function return types
    RDMA/cxgb3: Bump up the MPA connection setup timeout.
    RDMA/cxgb3: Silently ignore close reply after abort.
    RDMA/cxgb3: QP flush fixes
    IB/ipoib: Fix transmit queue stalling forever
    IB/mlx4: Fix off-by-one errors in calls to mlx4_ib_free_cq_buf()

    Linus Torvalds
     
  • …linux-2.6-sched-fixes

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes:
    sched: default to n for GROUP_SCHED and FAIR_GROUP_SCHED
    sched: add optional support for CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
    sched, x86: add HAVE_UNSTABLE_SCHED_CLOCK
    sched: fix cpu clock
    sched: fair-group: fix a Div0 error of the fair group scheduler
    sched: fix missing locking in sched_domains code
    sched: make clock sync tunable by architecture code
    sched: fix debugging
    sched: fix sched_info_switch not being called according to documentation
    sched: fix hrtick_start_fair and CPU-Hotplug
    sched: fix SCHED_FAIR wake-idle logic error
    sched: fix RT task-wakeup logic
    sched: add statics, don't return void expressions
    sched: add debug checks to idle functions
    sched: remove old sched doc
    sched: make rt_sched_class, idle_sched_class static
    sched: optimize calc_delta_mine()
    sched: fix normalized sleeper

    Linus Torvalds
     
  • Don't hard code a test against a minimum page shift of 12, since the
    device may support smaller pages. Test against the actual smallest
    page size from the device capabilities.

    Signed-off-by: Oren Duer
    Signed-off-by: Jack Morgenstein
    Signed-off-by: Roland Dreier

    Oren Duer
     
  • Also remove duplicate assignment of local_ca_ack_delay and change
    min_t check for local_ca_ack_delay to u8 instead of int.

    Signed-off-by: Stefan Roscher
    Signed-off-by: Roland Dreier

    Stefan Roscher
     
  • * 'powerpc-next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
    [POWERPC] Assign PDE->data before gluing PDE into /proc tree
    [POWERPC] devres: Add devm_ioremap_prot()
    [POWERPC] macintosh: ADB driver: adb_handler_sem semaphore to mutex
    [POWERPC] macintosh: windfarm_smu_sat: semaphore to mutex
    [POWERPC] macintosh: therm_pm72: driver_lock semaphore to mutex

    Linus Torvalds
     
  • Commit 06916639e2fed9ee475efef2747a1b7429f8fe76 ("driver-core: add
    dev_name() to help transition away from using bus_id") added a static
    inline dev_name() and used it in dev_printk.

    Unfortunately, drivers/edac/edac_core.h defines a macro called
    dev_name(). Rename the latter.

    Diagnosis by Tony Breeds and Michael Ellerman.

    Signed-off-by: Stephen Rothwell
    Acked-by: Doug Thompson
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • GROUP_SCHED is confirmed to cause unacceptable latencies, see:

    http://lkml.org/lkml/2008/5/2/370.

    Mark it EXPERIMENTAL and default to no for now.

    Signed-off-by: Parag Warudkar
    Signed-off-by: Ingo Molnar

    Parag Warudkar
     
  • this replaces the rq->clock stuff (and possibly cpu_clock()).

    - architectures that have an 'imperfect' hardware clock can set
    CONFIG_HAVE_UNSTABLE_SCHED_CLOCK

    - the 'jiffie' window might be superfulous when we update tick_gtod
    before the __update_sched_clock() call in sched_clock_tick()

    - cpu_clock() might be implemented as:

    sched_clock_cpu(smp_processor_id())

    if the accuracy proves good enough - how far can TSC drift in a
    single jiffie when considering the filtering and idle hooks?

    [ mingo@elte.hu: various fixes and cleanups ]

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • add the HAVE_UNSTABLE_SCHED_CLOCK, for architectures to select.

    the next change utilizes it.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • David Miller pointed it out that nothing in cpu_clock() sets
    prev_cpu_time. This caused __sync_cpu_clock() to be called
    all the time - against the intention of this code.

    The result was that in practice we hit a global spinlock every
    time cpu_clock() is called - which - even though cpu_clock()
    is used for tracing and debugging, is suboptimal.

    While at it, also:

    - move the irq disabling to the outest layer,
    this should make cpu_clock() warp-free when called with irqs
    enabled.

    - use long long instead of cycles_t - for platforms where cycles_t
    is 32-bit.

    Reported-by: David Miller
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • When I echoed 0 into the "cpu.shares" file, a Div0 error occured.

    We found it is caused by the following calling.

    sched_group_set_shares(tg, shares)
    set_se_shares(tg->se[i], shares/nr_cpu_ids)
    __set_se_shares(se, shares)
    div64_64((1ULL<
    Acked-by: Peter Zijlstra
    Signed-off-by: Ingo Molnar

    Miao Xie
     
  • Concurrent calls to detach_destroy_domains and arch_init_sched_domains
    were prevented by the old scheduler subsystem cpu hotplug mutex. When
    this got converted to get_online_cpus() the locking got broken.
    Unlike before now several processes can concurrently enter the critical
    sections that were protected by the old lock.

    So use the already present doms_cur_mutex to protect these sections again.

    Cc: Gautham R Shenoy
    Cc: Paul Jackson
    Signed-off-by: Heiko Carstens
    Signed-off-by: Ingo Molnar

    Heiko Carstens
     
  • make time_sync_thresh tunable to architecture code.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Revert debugging commit 7ba2e74ab5a0518bc953042952dd165724bc70c9.
    print_cfs_rq_tasks() can induce live-lock if a task is dequeued
    during list traversal.

    Signed-off-by: Mike Galbraith
    Signed-off-by: Ingo Molnar

    Mike Galbraith
     
  • http://bugzilla.kernel.org/show_bug.cgi?id=10545

    sched_stats.h says that __sched_info_switch is "called when prev !=
    next" in the comment. sched.c should therefore do that.

    Signed-off-by: Ingo Molnar

    David Simner
     
  • Gautham R Shenoy reported:

    > While running the usual CPU-Hotplug stress tests on linux-2.6.25,
    > I noticed the following in the console logs.
    >
    > This is a wee bit difficult to reproduce. In the past 10 runs I hit this
    > only once.
    >
    > ------------[ cut here ]------------
    >
    > WARNING: at kernel/sched.c:962 hrtick+0x2e/0x65()
    >
    > Just wondering if we are doing a good job at handling the cancellation
    > of any per-cpu scheduler timers during CPU-Hotplug.

    This looks like its indeed not cancelled at all and migrates the it to
    another cpu. Fix it via a proper hotplug notifier mechanism.

    Reported-by: Gautham R Shenoy
    Signed-off-by: Peter Zijlstra
    Cc: stable@kernel.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • We currently use an optimization to skip the overhead of wake-idle
    processing if more than one task is assigned to a run-queue. The
    assumption is that the system must already be load-balanced or we
    wouldnt be overloaded to begin with.

    The problem is that we are looking at rq->nr_running, which may include
    RT tasks in addition to CFS tasks. Since the presence of RT tasks
    really has no bearing on the balance status of CFS tasks, this throws
    the calculation off.

    This patch changes the logic to only consider the number of CFS tasks
    when making the decision to optimze the wake-idle.

    Signed-off-by: Gregory Haskins
    CC: Peter Zijlstra
    Signed-off-by: Ingo Molnar

    Gregory Haskins
     
  • Dmitry Adamushko pointed out a logic error in task_wake_up_rt() where we
    will always evaluate to "true". You can find the thread here:

    http://lkml.org/lkml/2008/4/22/296

    In reality, we only want to try to push tasks away when a wake up request is
    not going to preempt the current task. So lets fix it.

    Note: We introduce test_tsk_need_resched() instead of open-coding the flag
    check so that the merge-conflict with -rt should help remind us that we
    may need to support NEEDS_RESCHED_DELAYED in the future, too.

    Signed-off-by: Gregory Haskins
    CC: Dmitry Adamushko
    CC: Steven Rostedt
    Signed-off-by: Ingo Molnar

    Gregory Haskins
     
  • Noticed by sparse:
    kernel/sched.c:760:20: warning: symbol 'sched_feat_names' was not declared. Should it be static?
    kernel/sched.c:767:5: warning: symbol 'sched_feat_open' was not declared. Should it be static?
    kernel/sched_fair.c:845:3: warning: returning void-valued expression
    kernel/sched.c:4386:3: warning: returning void-valued expression

    Signed-off-by: Harvey Harrison
    Signed-off-by: Ingo Molnar

    Harvey Harrison
     
  • Cc: Venkatesh Pallipadi
    Cc: "Justin Mattock"
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar

    Andrew Morton
     
  • Fabio Checconi noticed that Documentation/scheduler/sched-design.txt was
    a stale copy of the old scheduler. Remove it.

    Reported-by: Fabio Checconi
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • The C files are included directly in sched.c, so they are
    effectively static.

    Signed-off-by: Harvey Harrison
    Acked-by: Peter Zijlstra
    Signed-off-by: Ingo Molnar

    Harvey Harrison
     
  • Joel noticed that the !lw->inv_weight contition isn't unlikely anymore so
    remove the unlikely annotation. Also, remove the two div64_u64() inv_weight
    calculations, which makes them rely on the calc_delta_mine() path as well.

    Signed-off-by: Peter Zijlstra
    CC: Joel Schopp
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Normalized sleeper uses calc_delta*() which requires that the rq load is
    already updated, so move account_entity_enqueue() before place_entity()

    Tested-by: Frans Pop
    Signed-off-by: Peter Zijlstra
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    x86 PCI: call dmi_check_pciprobe()
    x86/pci: add pci=skip_isa_align command lines.
    x86/pci: remove flag in pci_cfg_space_size_ext
    x86: fix section mismatch in pci_scan_bus

    Linus Torvalds
     
  • The new mac_esp scsi driver needs CONFIG_SCSI_SPI_ATTRS, just like all other
    drivers using the new esp_scsi core.

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

    Geert Uytterhoeven
     
  • Remove the rest of the old mac_esp driver. Also ditch the rest of the
    machw mechanism, it needs to be replaced by a fake openfirmware tree.

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

    Finn Thain
     
  • Fix 68040 bus fault handling, so the standard kernel exception handling
    can be used for i/o probing.

    Contrary to normal access faults there is nothing to fix, but at least
    we have to disable writebacks to avoid recursive faults.

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

    Roman Zippel
     
  • drivers/input/serio/hp_sdc.c: In function 'hp_sdc_take':
    drivers/input/serio/hp_sdc.c:198: error: implicit declaration of function 'up'

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

    Geert Uytterhoeven
     
  • commit a5b08c66194fba02a865b397579b7204688bcb1e
    Author: Alan Cox
    Date: Wed Apr 30 00:54:05 2008 -0700

    serial167: switch to int put_char method

    missed one case when adding return values.

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

    Geert Uytterhoeven
     
  • commit 9567b349f7e7dd7e2483db99ee8e4a6fe0caca38
    Author: Bartlomiej Zolnierkiewicz
    Date: Mon Apr 28 23:44:36 2008 +0200

    ide: merge ->atapi_*put_bytes and ->ata_*put_data methods

    introduced a typo (`data_adr' instead of `data_addr'), leading to a compile
    failure.

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

    Geert Uytterhoeven
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
    kgdb: kconfig fix xconfig/menuconfig element
    kgdb: fix signedness mixmatches, add statics, add declaration to header
    kgdb: 1000 loops for the single step test in kgdbts
    kgdb: trivial sparse fixes in kgdb test-suite
    kgdb: minor documentation fixes

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    [ALSA] soc - fix S3C2410 i2s programming error
    [ALSA] soc - fix s3c2410 PCM breakage
    [ALSA] ac97 - Add a workaround for broken quirk for VT1617A codec
    [ALSA] Revert migration to alc_set_pin_output() in alc861_auto_set_output_and_unmute()
    [ALSA] fm801 - Fix kconfig dependency mess of fm801-tea575x
    [ALSA] hda - Support IDT 92HD206 codec
    [ALSA] pcsp: Fix build with CONFIG_PM=n

    Linus Torvalds
     
  • this change:

    | commit 08f1c192c3c32797068bfe97738babb3295bbf42
    | Author: Muli Ben-Yehuda
    | Date: Sun Jul 22 00:23:39 2007 +0300
    |
    | x86-64: introduce struct pci_sysdata to facilitate sharing of ->sysdata
    |
    | This patch introduces struct pci_sysdata to x86 and x86-64, and
    | converts the existing two users (NUMA, Calgary) to use it.
    |
    | This lays the groundwork for having other users of sysdata, such as
    | the PCI domains work.
    |
    | The Calgary bits are tested, the NUMA bits just look ok.

    replaces pcibios_scan_root with pci_scan_bus_parented...

    but in pcibios_scan_root we have a DMI check:

    dmi_check_system(pciprobe_dmi_table);

    when when have several peer root buses this could be called multiple
    times (which is bad), so move that call to pci_access_init().

    Signed-off-by: Yinghai Lu
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Jesse Barnes

    Yinghai Lu
     
  • so we don't align the io port start address for pci cards.

    also move out dmi check out acpi.c, because it has nothing to do with acpi.
    it could spare some calling when we have several peer root buses.

    Signed-off-by: Yinghai Lu
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Jesse Barnes

    Yinghai Lu
     

05 May, 2008

4 commits

  • Since FUTEX_FD was scheduled for removal in June 2007 lets remove it.

    Google Code search found no users for it and NGPT was abandoned in 2003
    according to IBM. futex.h is left untouched to make sure the id does
    not get reassigned. Since queue_me() has no users left it is commented
    out to avoid a warning, i didnt remove it completely since it is part of
    the internal api (matching unqueue_me())

    Signed-off-by: Eric Sesterhenn
    Signed-off-by: Rusty Russell (removed rest)
    Acked-by: Thomas Gleixner
    Signed-off-by: Linus Torvalds

    Eric Sesterhenn
     
  • Kconfig.kgdb: fix menuconfig element

    Signed-off-by: Jan Engelhardt
    Signed-off-by: Jason Wessel

    Jan Engelhardt
     
  • Noticed by sparse:
    arch/x86/kernel/kgdb.c:556:15: warning: symbol 'kgdb_arch_pc' was not declared. Should it be static?
    kernel/kgdb.c:149:8: warning: symbol 'kgdb_do_roundup' was not declared. Should it be static?
    kernel/kgdb.c:193:22: warning: symbol 'kgdb_arch_pc' was not declared. Should it be static?
    kernel/kgdb.c:712:5: warning: symbol 'remove_all_break' was not declared. Should it be static?

    Related to kgdb_hex2long:
    arch/x86/kernel/kgdb.c:371:28: warning: incorrect type in argument 2 (different signedness)
    arch/x86/kernel/kgdb.c:371:28: expected long *long_val
    arch/x86/kernel/kgdb.c:371:28: got unsigned long *
    kernel/kgdb.c:469:27: warning: incorrect type in argument 2 (different signedness)
    kernel/kgdb.c:469:27: expected long *long_val
    kernel/kgdb.c:469:27: got unsigned long *
    kernel/kgdb.c:470:27: warning: incorrect type in argument 2 (different signedness)
    kernel/kgdb.c:470:27: expected long *long_val
    kernel/kgdb.c:470:27: got unsigned long *
    kernel/kgdb.c:894:27: warning: incorrect type in argument 2 (different signedness)
    kernel/kgdb.c:894:27: expected long *long_val
    kernel/kgdb.c:894:27: got unsigned long *
    kernel/kgdb.c:895:27: warning: incorrect type in argument 2 (different signedness)
    kernel/kgdb.c:895:27: expected long *long_val
    kernel/kgdb.c:895:27: got unsigned long *
    kernel/kgdb.c:1127:28: warning: incorrect type in argument 2 (different signedness)
    kernel/kgdb.c:1127:28: expected long *long_val
    kernel/kgdb.c:1127:28: got unsigned long *
    kernel/kgdb.c:1132:25: warning: incorrect type in argument 2 (different signedness)
    kernel/kgdb.c:1132:25: expected long *long_val
    kernel/kgdb.c:1132:25: got unsigned long *

    Signed-off-by: Harvey Harrison
    Signed-off-by: Jason Wessel

    Harvey Harrison
     
  • The single step test is not terribly costly and it should be able to
    pass at 1000 loops successfully in under 1 second. A non-kgdb timing
    regression was found using this test, but it did not occur frequently
    because by default the test was only executed a single time.

    This patch changes the default for the single step test to 1000
    iterations and allows for individual configuration of the single step
    test to further exercise the kgdb subsystem when needed.

    Signed-off-by: Jason Wessel

    Jason Wessel