11 Sep, 2007

8 commits

  • * 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev:
    m32r: Rename STI/CLI macros
    m32r: build fix of entry.S
    m32r: Separate syscall table from entry.S
    m32r: Cosmetic updates of arch/m32r/kernel/entry.S
    m32r: Exit ei_handler directly for no IRQ case or IPI operations
    m32r: Simplify ei_handler code
    m32r: Define symbols to unify platform-dependent ICU checks
    m32r: Move dot.gdbinit files
    m32r: Rearrange platform-dependent codes
    m32r: Add defconfig file for the usrv platform.
    m32r: Update defconfig files for 2.6.23-rc1
    m32r: Move defconfig files to arch/m32r/configs/

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
    sched: fix ideal_runtime calculations for reniced tasks
    sched: improve prev_sum_exec_runtime setting
    sched: simplify __check_preempt_curr_fair()
    sched: fix xtensa build warning
    sched: debug: fix sum_exec_runtime clearing
    sched: debug: fix cfs_rq->wait_runtime accounting
    sched: fix niced_granularity() shift
    sched: fix MC/HT scheduler optimization, without breaking the FUZZ logic.

    Linus Torvalds
     
  • * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6:
    [XFS] fix nasty quota hashtable allocation bug
    [XFS] fix sparse shadowed variable warnings
    [XFS] fix ASSERT and ASSERT_ALWAYS
    [XFS] Fix sparse warning in kmem_shake_allow
    [XFS] Fix sparse NULL vs 0 warnings
    [XFS] Set filestreams object timeout to something sane.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup:
    [x86 setup] Work around bug in Xen HVM

    Linus Torvalds
     
  • Previously, ibmebus derived a device's bus_id from its location code.
    The location code is not guaranteed to be unique, so we might get bus_id
    collisions if two devices share the same location code. The OFDT
    full_name, however, is unique, so we use that instead (truncating it
    on the left if it is too long).

    Signed-off-by: Joachim Fenkes
    Signed-off-by: Paul Mackerras

    Joachim Fenkes
     
  • On PS3, A storage device may show up in the repository before the hypervisor
    has finished probing:
    - If its type is not yet known, it shows up as PS3_DEV_TYPE_STOR_DUMMY,
    - If its regions are being probed, it shows up as having zero regions.
    If any of these happen, consider the device not yet present. The storage
    probe thread will retry later.

    This fixes the timing-dependent problem where a kernel booted from FLASH ROM
    sometimes cannot find the hard disk.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Geoff Levand
    Signed-off-by: Paul Mackerras

    Geert Uytterhoeven
     
  • At present, running any SPE program on the ps3 will trigger a BUG_ON
    when spufs_run_spu tries to clear the master run control bit, as lv1
    does not make the master run control available to Linux.

    This change makes SPE apps work again by disabling changes to the
    master run control on PS3. Although we don't have the facility to
    disable a SPE with supervisor-level privileges, it's better than
    hitting the BUG_ON unconditionally.

    Signed-off-by: Jeremy Kerr
    Acked-by: Masato Noguchi
    Signed-off-by: Paul Mackerras

    Jeremy Kerr
     
  • The Cell BE Architecture spec states that the SPU MFC Class 0 interrupt
    is edge-triggered. The current spu interrupt handler assumes this
    behavior and does not clear the interrupt status.

    The PS3 hypervisor visualizes all SPU interrupts as level, and on return
    from the interrupt handler the hypervisor will deliver a new virtual
    interrupt for any unmasked interrupts which for which the status has not
    been cleared. This fix clears the interrupt status in the interrupt
    handler.

    Signed-off-by: Masato Noguchi
    Signed-off-by: Geoff Levand
    Signed-off-by: Jeremy Kerr
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Masato Noguchi
     

06 Sep, 2007

2 commits

  • The names of STI and CLI macros were derived from i386 arch historically,
    but their name are incomprehensible.
    So, for easy to understand, rename these macros to ENABLE_INTERRUPTS
    and DISABLE_INTERRUPTS, respectively.

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • This patch fixes the following compile error:

    ...
    AS arch/m32r/kernel/entry.o
    /home/bunk/linux/kernel-2.6/linux-2.6.23-rc3-mm1/arch/m32r/kernel/entry.S: Assembler messages:
    /home/bunk/linux/kernel-2.6/linux-2.6.23-rc3-mm1/arch/m32r/kernel/entry.S:358: Error: bad instruction `addi r0,#(((((0)+(64))+(32))+(32)))'
    make[2]: *** [arch/m32r/kernel/entry.o] Error 1

    Signed-off-by: Hirokazu Takata
    Cc: Adrian Bunk

    Hirokazu Takata
     

05 Sep, 2007

15 commits

  • fix ideal_runtime:

    - do not scale it using niced_granularity()
    it is against sum_exec_delta, so its wall-time, not fair-time.

    - move the whole check into __check_preempt_curr_fair()
    so that wakeup preemption can also benefit from the new logic.

    this also results in code size reduction:

    text data bss dec hex filename
    13391 228 1204 14823 39e7 sched.o.before
    13369 228 1204 14801 39d1 sched.o.after

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

    Peter Zijlstra
     
  • Second preparatory patch for fix-ideal runtime:

    Mark prev_sum_exec_runtime at the beginning of our run, the same spot
    that adds our wait period to wait_runtime. This seems a more natural
    location to do this, and it also reduces the code a bit:

    text data bss dec hex filename
    13397 228 1204 14829 39ed sched.o.before
    13391 228 1204 14823 39e7 sched.o.after

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

    Peter Zijlstra
     
  • Preparatory patch for fix-ideal-runtime:

    simplify __check_preempt_curr_fair(): get rid of the integer return.

    text data bss dec hex filename
    13404 228 1204 14836 39f4 sched.o.before
    13393 228 1204 14825 39e9 sched.o.after

    functionality is unchanged.

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

    Peter Zijlstra
     
  • rename RSR to SRR - 'RSR' is already defined on xtensa.

    found by Adrian Bunk.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • when cleaning sched-stats also clear prev_sum_exec_runtime.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • the cfs_rq->wait_runtime debug/statistics counter was not maintained
    properly - fix this.

    this also removes some code:

    text data bss dec hex filename
    13420 228 1204 14852 3a04 sched.o.before
    13404 228 1204 14836 39f4 sched.o.after

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

    Ingo Molnar
     
  • fix niced_granularity(). This resulted in under-scheduling for
    CPU-bound negative nice level tasks (and this in turn caused
    higher than necessary latencies in nice-0 tasks).

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • First fix the check
    if (*imbalance + SCHED_LOAD_SCALE_FUZZ < busiest_load_per_task)
    with this
    if (*imbalance < busiest_load_per_task)

    As the current check is always false for nice 0 tasks (as
    SCHED_LOAD_SCALE_FUZZ is same as busiest_load_per_task for nice 0
    tasks).

    With the above change, imbalance was getting reset to 0 in the corner
    case condition, making the FUZZ logic fail. Fix it by not corrupting the
    imbalance and change the imbalance, only when it finds that the HT/MC
    optimization is needed.

    Signed-off-by: Suresh Siddha
    Signed-off-by: Ingo Molnar

    Suresh Siddha
     
  • This git mod: 77e4635ae191774526ed695482a151ac986f3806
    converted to a "greedy" allocation interface, but for the quota hashtables
    it switched from allocating XFS_QM_HASHSIZE (nr of elements)
    xfs_dqhash_t's to allocating only XFS_QM_HASHSIZE *bytes* - quite a lot
    smaller! Then when we converted hsize "back" to nr of elements (the
    division line) hsize went to 0. This was leading to oopses when running
    any quota tests on the Fedora 8 test kernel, but the problem has been
    there for almost a year.

    SGI-PV: 968837
    SGI-Modid: xfs-linux-melb:xfs-kern:29354a

    Signed-off-by: Eric Sandeen
    Signed-off-by: David Chinner
    Signed-off-by: Tim Shimmin

    Eric Sandeen
     
  • - in xfs_probe_cluster rename the inner len to pg_len. There's no harm
    here because the outer len isn't used after the inner len comes into
    existence but it keeps the code clean.
    - in xfs_da_do_buf remove the inner i because they don't overlap
    and they are both the same type.

    SGI-PV: 968555
    SGI-Modid: xfs-linux-melb:xfs-kern:29311a

    Signed-off-by: Christoph Hellwig
    Signed-off-by: David Chinner
    Signed-off-by: Tim Shimmin

    Christoph Hellwig
     
  • - remove the != 0 inside the unlikely in ASSERT_ALWAYS because sparse now
    complains about comparisons between pointers and 0
    - add a standalone ASSERT implementation because defining it to
    ASSERT_ALWAYS means the string is expanded before the token passing
    stringification. This way we get the actual content of the
    assertion in the assfail message and don't overflow sparse's
    stringification buffer leading to sparse error messages.

    SGI-PV: 968555
    SGI-Modid: xfs-linux-melb:xfs-kern:29310a

    Signed-off-by: Christoph Hellwig
    Signed-off-by: David Chinner
    Signed-off-by: Tim Shimmin

    Christoph Hellwig
     
  • We can't return a masked result of a __bitwise type. Compare it to 0 first
    to keep the behaviour without the warning.

    SGI-PV: 968555
    SGI-Modid: xfs-linux-melb:xfs-kern:29309a

    Signed-off-by: Christoph Hellwig
    Signed-off-by: David Chinner
    Signed-off-by: Tim Shimmin

    Christoph Hellwig
     
  • Sparse now warns about comparing pointers to 0, so change all instance
    where that happens to NULL instead.

    SGI-PV: 968555
    SGI-Modid: xfs-linux-melb:xfs-kern:29308a

    Signed-off-by: Christoph Hellwig
    Signed-off-by: David Chinner
    Signed-off-by: Tim Shimmin

    Christoph Hellwig
     
  • SGI-PV: 968554
    SGI-Modid: xfs-linux-melb:xfs-kern:29303a

    Signed-off-by: David Chinner
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Tim Shimmin

    David Chinner
     
  • Apparently XEN does not keep the contents of the 48-bit gdt_48 data
    structure that is passed to lgdt in the XEN machine state. Instead it
    appears to save the _address_ of the 48-bit descriptor
    somewhere. Unfortunately this data happens to reside on the stack and
    is probably no longer availiable at the time of the actual protected
    mode jump.

    This is Xen bug but given that there is a one-line patch to work
    around this problem, the linux kernel should probably do this. My fix
    is to make the gdt_48 description in setup_gdt static (in setup_idt
    this is already the case). This allows the kernel to boot under
    Xen HVM again.

    Signed-off-by: Christian Ehrhardt
    Signed-off-by: H. Peter Anvin

    Christian Ehrhardt
     

04 Sep, 2007

5 commits


03 Sep, 2007

10 commits

  • - Separate sys_call_table from arch/m32r/kernel/entry.S and
    move it to arch/m32r/kernel/system_call.S.
    - Change sys_call_table section from .data to .rodata.

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • - Remove unused symbols *_MASK
    - Change indentation of comments, etc.

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • If no IRQ request is found in the IRQ check of ei_handler,
    we can exit directly by jumping "restore_all", instead of via
    "ret_from_intr".

    This modification is also likely effective for IPI operations,
    because scheduler call never happen at the exit of IPIs.

    Signed-off-by: Hitoshi Yamamoto
    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • Simplify and clean up messy ei_handler code in arch/m32r/kernel/entry.S.
    - Remove ifdef's for CONFIG_CHIP_* configulations.
    - Rearrange the M32700 workaround code.
    - Remove the messy platform-dependent interrupt check routines and
    consolidate them to common INT0/INT1/INT2 check routines for all
    platforms with cascaded interrupt controllers.

    Signed-off-by: Hitoshi Yamamoto
    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • On some m32r platforms, cascaded ICUs are used.
    This patch is required to simplify ei_handler and consolidate platform-
    dependent ICU check routines.

    platform ICU/INT1 ICU/INT0 ICU/INT2
    -------------- -------- -------- --------
    m32104ut o - -
    m32700ut o o o
    opsput o o o
    usrv o - -
    (others) - - -

    Signed-off-by: Hitoshi Yamamoto
    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • Move dot.gdbinit files from arch/m32r/{platforms}/dot.gdbinit*
    to arch/m32r/platforms/{platform}/.

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • Rearrange platform-dependent codes from arch/m32r/kernel/*.c
    to arch/m32r/platforms/{platform}/.

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • Add usrv_defcofig file for the usrv (M32R MicroServer) platform.

    platform defconfig Note
    ---------- ---------------------- ---------------------------
    usrv usrv_defconfig SMP

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • Update defconfig files for 2.6.23-rc1 in arch/m32r/configs/.

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • Change defconfig file's location from arch/m32r/{platform}/defconfig*
    to arch/m32r/configs/{platform}_defconfig.

    Applying this patch, we can use defconfig file for each m32r platform
    easily, like other architectures.

    ex. Setup defconfig for cross-building
    $ make ARCH=m32r CROSS_COMPILE=m32r-linux-gnu- {platform}_defconfig.

    platform defconfig Note
    ---------- ---------------------- ---------------------------
    m32104ut m32104ut_defconfig MMU-less
    m32700ut m32700ut.smp_defconfig SMP
    m32700ut m32700ut.up_defconfig UP
    mappi mappi.smp_defconfig SMP
    mappi mappi.up_defconfig UP
    mappi mappi.nommu_defconfig MMU-less
    mappi2 mappi2.opsp_defconfig FPGA env. (CPU Core: OPSP)
    mappi2 mappi2.vdec2_defconfig FPGA env. (CPU Core: VDEC2)
    mappi3 imappi3.smp_defconfig SMP
    oaks32r oaks32r_defconfig MMU-less
    opsput opsput_defconfig UP

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata