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/ -
* 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. -
* '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. -
* '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 -
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 -
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 -
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 -
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
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
-
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 1Signed-off-by: Hirokazu Takata
Cc: Adrian Bunk
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.afterSigned-off-by: Peter Zijlstra
Signed-off-by: Ingo Molnar -
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.afterSigned-off-by: Peter Zijlstra
Signed-off-by: Ingo Molnar -
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.afterfunctionality is unchanged.
Signed-off-by: Peter Zijlstra
Signed-off-by: Ingo Molnar -
rename RSR to SRR - 'RSR' is already defined on xtensa.
found by Adrian Bunk.
Signed-off-by: Ingo Molnar
-
when cleaning sched-stats also clear prev_sum_exec_runtime.
Signed-off-by: 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.afterSigned-off-by: Ingo Molnar
Signed-off-by: Peter Zijlstra -
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
-
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 -
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:29354aSigned-off-by: Eric Sandeen
Signed-off-by: David Chinner
Signed-off-by: Tim Shimmin -
- 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:29311aSigned-off-by: Christoph Hellwig
Signed-off-by: David Chinner
Signed-off-by: Tim Shimmin -
- 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:29310aSigned-off-by: Christoph Hellwig
Signed-off-by: David Chinner
Signed-off-by: Tim Shimmin -
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:29309aSigned-off-by: Christoph Hellwig
Signed-off-by: David Chinner
Signed-off-by: Tim Shimmin -
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:29308aSigned-off-by: Christoph Hellwig
Signed-off-by: David Chinner
Signed-off-by: Tim Shimmin -
SGI-PV: 968554
SGI-Modid: xfs-linux-melb:xfs-kern:29303aSigned-off-by: David Chinner
Signed-off-by: Christoph Hellwig
Signed-off-by: Tim Shimmin -
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
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
-
- Remove unused symbols *_MASK
- Change indentation of comments, etc.Signed-off-by: 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 -
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 -
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 -
Move dot.gdbinit files from arch/m32r/{platforms}/dot.gdbinit*
to arch/m32r/platforms/{platform}/.Signed-off-by: Hirokazu Takata
-
Rearrange platform-dependent codes from arch/m32r/kernel/*.c
to arch/m32r/platforms/{platform}/.Signed-off-by: Hirokazu Takata
-
Add usrv_defcofig file for the usrv (M32R MicroServer) platform.
platform defconfig Note
---------- ---------------------- ---------------------------
usrv usrv_defconfig SMPSigned-off-by: Hirokazu Takata
-
Update defconfig files for 2.6.23-rc1 in arch/m32r/configs/.
Signed-off-by: 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 UPSigned-off-by: Hirokazu Takata