summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-03-12v2.6.33-rt7v2.6.33-rt7Thomas Gleixner
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-03-12Revert "Loongson: add a new option FUJITSU_QUIRKS"Thomas Gleixner
This reverts commit 876c52cc046e00eaa2ffc5124dc187106ef57594. Breaks !MIPS Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-03-12v2.6.33-rt6v2.6.33-rt6Thomas Gleixner
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-03-12Merge branch 'rt-2.6.33-queue' of git://dev.lemote.com/rt4ls into rt/2.6.33Thomas Gleixner
2010-03-12v2.6.33-rt5v2.6.33-rt5Thomas Gleixner
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-03-11USB: Fix the mouse problem when copying large amounts of dataWu Zhangjin
When copying large amounts of data between the USB storage devices and the hard disk, the USB mouse will not work, this patch fixes it. [NOTE: This problem have been found in the Loongson family machines, not sure whether it is producible on other platforms] Signed-off-by: Hu Hongbing <huhb@lemote.com> Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-11Loongson: add a new option FUJITSU_QUIRKSWu Zhangjin
This option enables the quirks of fujitsu disk on some old FuLoong-2F series(6002, 6003), If you want to use the libata, this option must be enabled, otherwise, the kernel will report "IRQ #14 nobody cared". but for the old IDE driver, this option is not needed and for some new FuLoong-2F series(6004, 6005, 6014, 6015), this must be disabled to avoid the kernel hang on booting. Note: a better method is determining it through the machtype, but currently, the machtype only reflect the fuloong, yeeloong, not reflect the model of them, for example, fuloong-6002, fuloong-6003, in the future, this machtype should be improved. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-11Loongson: Lemote-2F: USB: Not Emulate Non-Posted WritesWu Zhangjin
Without this patch, when copying data between the USB storage devices and the hard disk, the USB device will disconnect regularly. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-11Loongson: Cleanup the comment of reset_cpu()Wu Zhangjin
Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-11Loongson: make _rdmsr, _wrmsr be atomicWu Zhangjin
The _rdmsr, _wrdmsr operation must be atomic to ensure accessing the right msr address we want. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-11tracing: Define pid functions for all config combinationsCarsten Emde
If CONFIG_MISSED_TIMER_OFFSETS_HIST was defined and CONFIG_WAKEUP_LATENCY_HIST was not, the pid-related functions remained undefined. Fix the erroneous #ifdef around the pid-related functions. Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-03-10vga console: Remove the CON_ATOMIC flagThomas Gleixner
vgacon_restore_screen() takes > 3ms in the worst case. !@#$%! Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-03-10x86: Fix 32bit HIGHMEM=n compileThomas Gleixner
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-03-10x86: highmem: Remove stale function prototypeThomas Gleixner
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-03-10RT: Loongson: add defconfig for YeeLoongWu Zhangjin
This is a minimal defconfig of PREEMTP_RT for the yeeloong2f netbook. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10RT: MIPS: Loongson: speedup the irq dispatchWu Zhangjin
This patch annotates the irq dispatch functions as inline, this may not be compiled with gcc 3.4.6, only tested with gcc 4.4.1. And also, this patch tries to tune the order of the interrupts to speedup the interrupts from northbright and sourthbrige. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10RT: MIPS: Un-thread several interruptsWu Zhangjin
This patch un-thread all of the interrupts whose handler is no_action, which can return quickly, and also, several other interrupts, such as bus error interrupt, halt interrupt, for they are urgent to the system, to un-thread them too. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10Loongson-2F: Fixup of problems introduced by -mfix-loongson2f-jump of ↵Wu Zhangjin
binutils 2.20.1 The -mfix-loongson2f-jump option provided by the binutils 2.20.1 have fixed the Out-of-order Issue of Loongson-2F described in Chapter 15 of "Loongson2F User Manual"[1,2], but introduced some problems. The option changes all of the jumping target to "addr & 0xcfffffff" through the at($1) register, but for the REBOOT address of loongson-2F: 0xbfc00000, this is totally wrong, so, this patch try to avoid the problem via telling the assembler not to use at($1) register. [1] Loongson2F User Manual(Chinese Version) http://www.loongson.cn/uploadfile/file/200808211 [2] English Version of Chapter 15: http://groups.google.com.hk/group/loongson-dev/msg/e0d2e220958f10a6?dmode=source Reported-and-tested-by: Liu Shiwei <liushiwei@gmail.com> Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10Loongson-2F: Enable fixups of binutils 2.20.1Wu Zhangjin
As the "Fixups of Loongson2F" patch[1] to binutils have been applied into binutils 2.20.1. It's time to enable the options provided by the patch to compile the kernel. Without these fixups, the system will hang unexpectedly for the bug of processor. To learn more about these fixups, please refer to the following references. [1] "Fixups of Loongson2F" patch for binutils(actually for gas) http://sourceware.org/ml/binutils/2009-11/msg00387.html [2] Chapter 15 of "Loongson2F User Manual"(Chinese Version) http://www.loongson.cn/uploadfile/file/200808211 [3] English Version of the above chapter 15 http://groups.google.com.hk/group/loongson-dev/msg/e0d2e220958f10a6?dmode=source Signed-off-by: Zhang Le <r0bertz@gentoo.org> Signed-off-by: Wu Zhangjin <wuzj@lemote.com>
2010-03-10Loongson-2F: Flush the branch target history such as BTB and RASWu Zhangjin
As the Chapter 15: "Errata: Issue of Out-of-order in loongson"[1] shows, to workaround the Issue of Loongson-2F,We need to do: "When switching from user model to kernel model, you should flush the branch target history such as BTB and RAS." This patch did clear BTB(branch target buffer), forbid RAS(row address strobe) via Loongson-2F's 64bit diagnostic register. [1] Chinese Version: http://www.loongson.cn/uploadfile/file/200808211 [2] English Version of Chapter 15: http://groups.google.com.hk/group/loongson-dev/msg/e0d2e220958f10a6?dmode=source Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10RT: MIPS: Loongson: make the MFGPT timer depends on !PREEMPT_RTWu Zhangjin
There is a MFGPT timer in Lemote-2F family of machines, which have low precision and not support oneshot mode, so, only let it be un-available in PREEMTPT_RT for we have an MIPS-builtin high-resolution timer: r4k timer. For we disable it for PREEMPT_RT, there is no need to convert the related lock to raw_ one. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10RT: MIPS: make cpufreq support depends on !PREEMTP_RTWu Zhangjin
The cpufreq support will change the cpu frequency dynamically, and also for most of the MIPS timer's frequency are relative to the cpu frequency, for example, in Loongson, the MIPS timer is half of the cpu frequency, if the cpu frequency changes all the time, the MIPS timer will be mussy. all of the above will make the whole system un-determinable, so, just disable the cpufreq support when PREEMPT_RT is used. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10RT: MIPS: Loongson: Un-thread cascade interruptsWu Zhangjin
There are two cascade interrupts in Loongson machines, one for bonito northbridge, another for the 8259A controller in the southbridge. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10RT: MIPS: check resched in do_signal()Wu Zhangjin
Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10RT: MIPS: Convert the schedule to __scheduleWu Zhangjin
There is a new __schedule() defined in the Preempt-rt patch, which should be called between local_irq_disble and local_irq_enable. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10RT: MIPS: Un-thread i8259A cascade interruptWu Zhangjin
This patch un-threads the i8259A cascade interrupts, and convert the related lock to raw_spinlock_t type. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10RT: kernel/sched.c: Fixup of "implicit declaration of function ↵Wu Zhangjin
'_finish_arch_switch'" This patch fixes the following error: kernel/sched.c: In function 'finish_task_switch': kernel/sched.c:2979: error: implicit declaration of function '_finish_arch_switch' The following archs have defined their finish_arch_switch: $ grep finish_arch_switch -ur arch/ arch/s390/include/asm/system.h:#define finish_arch_switch(prev) arch/sh/include/asm/system_32.h:#define finish_arch_switch(prev arch/avr32/include/asm/system.h:#define finish_arch_switch(prev) arch/mips/include/asm/system.h:#define finish_arch_switch(prev) Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10RT: MIPS: Make the die_lock be rawWu Zhangjin
Kernel is going to die, the lock must be raw to ensure nobody can preempt it at this urgent time. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10MIPS: r4k: Add a high resolution sched_clock()Wu Zhangjin
(v8 -> v9: O Make it depends on 64BIT for the current mips_sched_clock() only support 64bit currently. v7 -> v8: O Make it works with the exisiting clocksource_mips.mult, clocksource_mips.shift and copes with the 64bit calculation's overflow problem with the method introduced by David Daney in "MIPS: Octeon: Use non-overflowing arithmetic in sched_clock". To reduce the duplication, I have abstracted an inline mips_sched_clock() function to arch/mips/include/asm/time.h from arch/mips/cavium-octeon/csrc-octeon.c. v6 -> v7: O Make it depends on !CPU_FREQ and CPU_HAS_FIXED_C0_COUNT This sched_clock() is only available with the processor has fixed cp0 MIPS count register or even has dynamic cp0 MIPS count register but with CPU_FREQ disabled. NOTE: If your processor has fixed c0 count, please select CPU_HAS_FIXED_C0_COUNT for it and send a related patch to Ralf. v5 -> v6: o hard-codes the cycle2ns_scale_factor as 8 for 30(cs->shift) is too big. With 30, the return value of sched_clock() will also overflow quickly. o moves the sched_clock() back into csrc-r4k.c as David and Sergei recommended. o inits c0 count as zero for PRINTK_TIME=y. o drops the HR_SCHED_CLCOK option for the current sched_clock() is stable enough to replace the jiffies based one. ) This patch adds a cnt32_to_63() and MIPS c0 count based sched_clock(), which provides high resolution. Without it, the Ftrace for MIPS will give useless timestamp information. Because cnt32_to_63() needs to be called at least once per half period to work properly, Differ from the old version, this v2 revision set up a kernel timer to ensure the requirement of some MIPSs which have short c0 count period. And also, we init the c0 count as ZERO(just as jiffies does) in time_init() before plat_time_init(), without it, PRINTK_TIME=y will get wrong timestamp information. (NOTE: some platforms have initiazlied c0 count as zero, but some not, this may introduce some duplication, perhaps a new patch is needed to remove the initialized of c0 count in the platforms later?) This is originally from arch/arm/plat-orion/time.c This revision works well for function graph tracer now, and also, PRINTK_TIME=y will get normal timestamp informatin. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10MIPS: cavium-octeon: rewrite the sched_clock() based on mips_sched_clock()Wu Zhangjin
The commit "MIPS: add a common mips_sched_clock()" have abstracted the solution of the 64bit calculation's overflow problem into a common mips_sched_clock() function in arch/mips/include/asm/time.h, This patch just rewrites the sched_clock() for cavium-octeon on it. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10MIPS: add a common mips_sched_clock()Wu Zhangjin
Because the high resolution sched_clock() for r4k has the same overflow problem and solution mentioned in "MIPS: Octeon: Use non-overflowing arithmetic in sched_clock". "With typical mult and shift values, the calculation for Octeon's sched_clock overflows when using 64-bit arithmetic. Use 128-bit calculations instead." To reduce the duplication, This patch abstracts the solution into an inline funciton mips_sched_clock() into arch/mips/include/asm/time.h from arch/mips/cavium-octeon/csrc-octeon.c. Two patches for Cavium and R4K will be sent out respectively to use this common function. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-10MIPS: Don't trace irqsoff for idleWu Zhangjin
As the X86 platform did in arch/x86/kernel/{process_32.c,process_64.c}, we also don't trace irqsoff for idle. If "There's no useful work to be done", we don't care about the irqsoff duration. If we trace for idle, the max duration of irqsoff will be always as the idle time and eventually make the irqsoff tracer out of action. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
2010-03-07mm: highmem: Fix stale BUG_ON conditionThomas Gleixner
Fixup the leftover of the highmem rewrite. Reported-by: Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-02-27v2.6.33-rt4v2.6.33-rt4Thomas Gleixner
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-02-27rt: trivial fix to REMINDER block in init/main.cClark Williams
I noticed during testing that I was getting an empty REMINDER block in dmesg. Looks like STACK_TRACER got dropped. Signed-off-by: Clark Williams <williams@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-02-27tracing: Convert max_trace_lock to be a raw spinlockArnaldo Carvalho de Melo
Needs to be taken in atomic contexts. Pointed-out-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Acked-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-02-26v2.6.33-rt3v2.6.33-rt3Thomas Gleixner
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-02-26Merge branch 'rt/head' into rt/2.6.33Thomas Gleixner
Conflicts: Makefile Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-02-26mmc: omap_hsmmc: Fix the locking messThomas Gleixner
Conditional locking on (!in_interrupt()) is broken by design and there is no reason to keep the host->irq_lock across the call to mmc_request_done(). Also the host->protect_card magic hack does not depend on the context Fix the mess by dropping host->irq_lock before calling mmc_request_done(). Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-02-26highmem, -rt: Implement pfn and prot kmapsPeter Zijlstra
iomap_32 uses kmap_atomic_prot_pfn() for its maps, but on -rt we have to use kmap() for such mappings, so teach kmap about pfn and prot thingies. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-02-26x86: pci: Prevent mmconfig memory corruptionThomas Gleixner
commit ff097ddd4 (x86/PCI: MMCONFIG: manage pci_mmcfg_region as a list, not a table) introduced a nasty memory corruption when pci_mmcfg_list is empty. pci_mmcfg_check_end_bus_number() dereferences pci_mmcfg_list.prev even when the list is empty. The following write hits some variable near to pci_mmcfg_list. Further down a similar problem exists, where cfg->list.next is dereferenced unconditionally and a comparison with some variable near to pci_mmcfg_list happens. Add a check for the last element into the for_each_entry() loop and remove all the other crappy logic which is just a leftover of the old array based code which was replaced by the list conversion. Reported-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Yinghai Lu <yinghai@kernel.org> Cc: Bjorn Helgaas <bjorn.helgaas@hp.com> LKML-Reference: <alpine.LFD.2.00.1002251638230.4245@localhost.localdomain> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2010-02-25Merge branch 'linus' into rt/headThomas Gleixner
Conflicts: Makefile Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-02-25security: fix error return path in ima_inode_allocXiaotian Feng
If radix_tree_preload is failed in ima_inode_alloc, we don't need radix_tree_preload_end because kernel is alread preempt enabled Signed-off-by: Xiaotian Feng <dfeng@redhat.com> Signed-off-by: Mimi Zohar <zohar@us.ibm.com> Signed-off-by: James Morris <jmorris@namei.org>
2010-02-24Linux 2.6.33v2.6.33Linus Torvalds
2010-02-24Merge branch 'urgent' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 * 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: parisc: Set PCI CLS early in boot.
2010-02-24Merge branch 'release' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix broken sn2 build
2010-02-24parisc: Set PCI CLS early in boot.Carlos O'Donell
Set the PCI CLS early in the boot process to prevent device failures. In pcibios_set_master use the new pci_cache_line_size instead of a hard-coded value. Signed-off-by: Carlos O'Donell <carlos@codesourcery.com> Reviewed-by: Grant Grundler <grundler@google.com> Signed-off-by: Kyle McMartin <kyle@redhat.com>
2010-02-24v2.6.33-rc8-rt2v2.6.33-rc8-rt2Thomas Gleixner
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-02-24Merge branch 'rt/head' into rt/2.6.33Thomas Gleixner
Conflicts: Makefile Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2010-02-24kvm: make_all_cpus_request() needs preempt_disable() on RTThomas Gleixner
smp_call_function_many() needs to be called with preemption disabled, but on RT spin_lock(&kvm->requests_lock) is not doing that. Explicitely disable preemption on RT for the smp_call_function_many() call. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>