summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] mm: gfp_atomic commentsPaul Jackson2006-01-111-0/+1
| | | | | | | | | Clarify in comments that GFP_ATOMIC means both "don't sleep" and "use emergency pools", hence both ALLOC_HARDER and ALLOC_HIGH. Signed-off-by: Paul Jackson <pj@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Fix mutex_trylock() copy-and-paste bug (x86, x86-64, generic mutex-dec.h)Linus Torvalds2006-01-113-3/+3
| | | | | | | | | Noticed by Arjan originally on x86-64, then Ingo on x86, and finally me grepping for it in the generic version. Bad parenthesis nesting. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-mergeLinus Torvalds2006-01-116-5/+92
|\
| * powerpc/32: Fix compile error caused by pud_t/pgt_t confusionPaul Mackerras2006-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | PPC32 is still using asm-generic/4level-fixup.h, but asm-powerpc/page.h was defining pud_t and pgd_t. Depending on the order in which files got included, this could result in a compilation error. Tweak the ifdef so that page.h doesn't try to define pud_t on ppc32 (which uses 2-level page tables). Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc/64: per cpu data optimisationsAnton Blanchard2006-01-112-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current ppc64 per cpu data implementation is quite slow. eg: lhz 11,18(13) /* smp_processor_id() */ ld 9,.LC63-.LCTOC1(30) /* per_cpu__variable_name */ ld 8,.LC61-.LCTOC1(30) /* __per_cpu_offset */ sldi 11,11,3 /* form index into __per_cpu_offset */ mr 10,9 ldx 9,11,8 /* __per_cpu_offset[smp_processor_id()] */ ldx 0,10,9 /* load per cpu data */ 5 loads for something that is supposed to be fast, pretty awful. One reason for the large number of loads is that we have to synthesize 2 64bit constants (per_cpu__variable_name and __per_cpu_offset). By putting __per_cpu_offset into the paca we can avoid the 2 loads associated with it: ld 11,56(13) /* paca->data_offset */ ld 9,.LC59-.LCTOC1(30) /* per_cpu__variable_name */ ldx 0,9,11 /* load per cpu data Longer term we can should be able to do even better than 3 loads. If per_cpu__variable_name wasnt a 64bit constant and paca->data_offset was in a register we could cut it down to one load. A suggestion from Rusty is to use gcc's __thread extension here. In order to do this we would need to free up r13 (the __thread register and where the paca currently is). So far Ive had a few unsuccessful attempts at doing that :) The patch also allocates per cpu memory node local on NUMA machines. This patch from Rusty has been sitting in my queue _forever_ but stalled when I hit the compiler bug. Sorry about that. Finally I also only allocate per cpu data for possible cpus, which comes straight out of the x86-64 port. On a pseries kernel (with NR_CPUS == 128) and 4 possible cpus we see some nice gains: total used free shared buffers cached Mem: 4012228 212860 3799368 0 0 162424 total used free shared buffers cached Mem: 4016200 212984 3803216 0 0 162424 A saving of 3.75MB. Quite nice for smaller machines. Note: we now have to be careful of per cpu users that touch data for !possible cpus. At this stage it might be worth making the NUMA and possible cpu optimisations generic, but per cpu init is done so early we have to be careful that all architectures have their possible map setup correctly. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: parallel port init fixMichael Neuling2006-01-111-2/+26
| | | | | | | | | | | | | | This stops parport from accessing nonexistent parallel ports. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Make early debugging configurable via KconfigMichael Ellerman2006-01-112-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds Kconfig entries to control the early debugging options, currently in setup_64.c. Doing this via Kconfig rather than #defines means you can have one source tree, which is buildable for multiple platforms - and you can enable the correct early debug option for each platform via .config. I made udbg_early_init() a static inline because otherwise GCC is to daft to optimise it away when debugging is off. Now that we have udbg_init_rtas() we can make call_rtas_display_status* static. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] fix/simplify mutex debugging codeDavid Woodhouse2006-01-113-3/+3
| | | | | | | | | | | | | | | | | | | | Let's switch mutex_debug_check_no_locks_freed() to take (addr, len) as arguments instead, since all its callers were just calculating the 'to' address for themselves anyway... (and sometimes doing so badly). Signed-off-by: David Woodhouse <dwmw2@infradead.org> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [MUTEX]: linux/mutex.h needs linux/linkage.h tooDavid S. Miller2006-01-111-0/+1
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6Linus Torvalds2006-01-107-16/+30
|\ \
| * | [PARISC] Use C99 initializers in asm-parisc/processor.hAlexey Dobriyan2006-01-101-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup asm-parisc/processor.h to use C99 initializers in INIT_THREAD(). Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| * | [PARISC] Make PCI_HOST_ADDR and PCI_BUS_ADDR symmetricalGrant Grundler2006-01-101-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | Change to asm-parisc/pci.h makes the define of PCI_HOST_ADDR symmetrical with PCI_BUS_ADDR. Also add a comment about PA_VIEW and LMMIO/ELMMIO/GMMIO. Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| * | [PARISC] Add __iomem to __raw_check_addr()Alexey Dobriyan2006-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add __iomem to __raw_check_addr(), which nukes ~13809 sparse warnings on allmodconfig. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| * | [PARISC] Add some defines for HugeTLB pagesHelge Deller2006-01-101-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Define some constants for HugeTLB pages, not that parisc-linux supports it yet. Signed-off-by: Helge Deller <deller@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| * | [PARISC] Make local cache flushes take a void *Matthew Wilcox2006-01-102-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make flush_data_cache_local, flush_instruction_cache_local and flush_tlb_all_local take a void * so they don't have to be cast when using on_each_cpu(). This becomes a problem when on_each_cpu is a macro (as it is in current -mm). Also move the prototype of flush_tlb_all_local into tlbflush.h and remove its declaration from .c files. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| * | [PARISC] Add __read_mostly section for pariscHelge Deller2006-01-101-1/+1
| |/ | | | | | | | | | | | | | | Flag a whole bunch of things as __read_mostly on parisc. Also flag a few branches as unlikely() and cleanup a bit of code. Signed-off-by: Helge Deller <deller@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
* | asm-powerpc: header included twiceNicolas Kaiser2006-01-111-1/+0
|/ | | | | | | Header included twice. Signed-off-by: Nicolas Kaiser <nikai@nikai.net> Signed-off-by: Adrian Bunk <bunk@stusta.de>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds2006-01-103-9/+7
|\
| * [NETFILTER]: Remove unused function from NAT protocol helpersPatrick McHardy2006-01-101-7/+0
| | | | | | | | | | | | | | ->print and ->print_range are not used (and apparently never were). Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NETFILTER]: net/ipv[46]/netfilter.c cleanupsPatrick McHardy2006-01-101-0/+5
| | | | | | | | | | | | | | | | Don't wrap entire file in #ifdef CONFIG_NETFILTER, remove a few unneccessary includes. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [INET]: congestion and af_ops can be constStephen Hemminger2006-01-101-2/+2
| | | | | | | | | | | | | | | | | | The congestion ops and af_ops in the inet_connection_sock can be const. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* | [PATCH] fix i386 mutex fastpath on FRAME_POINTER && !DEBUG_MUTEXESIngo Molnar2006-01-101-2/+14
|/ | | | | | | | | Call the mutex slowpath more conservatively - e.g. FRAME_POINTERS can change the calling convention, in which case a direct branch to the slowpath becomes illegal. Bug found by Hugh Dickins. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: save reg a5 on context changeGreg Ungerer2006-01-101-0/+1
| | | | | | | | Fix a5 register corruption when processing user space signals handlers. We need to save a5 through each contenxt change. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: fix find_next_zero_bit in bitops.hGreg Ungerer2006-01-101-1/+1
| | | | | | | | | | | | | | | | | | We're starting a number of big applications (memory footprint app. 1MByte) on our Arcturus uC5272. Therefore memory fragmentation is a real pain for us. We've switched to uClinux-2.4.27-uc1 and found that page_alloc2 fragments the memory heavily. Digging into it we found a bug in the find_next_zero_bit function in the m68knommu/bitops.h file. if the size isn't a multiple of 32 than the upper bits of the last word to be searched should be masked. But the functions masks the lower bits of the last word because it uses a right shift instead of a left shift operator. Patch submitted by Sascha Smejkal <s.smejkal@centersystems.at> Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds2006-01-1029-58/+128
|\
| * MIPS: R2: Try to bulletproof instruction_hazard against miss-compilation.Ralf Baechle2006-01-101-5/+15
| | | | | | | | | | | | | | | | | | | | | | Gcc has a tradition of misscompiling the previous construct using the address of a label as argument to inline assembler. Gas otoh has the annoying difference between la and dla which are only usable for 32-bit rsp. 64-bit code, so can't be used without conditional compilation. The alterantive is switching the assembler to 64-bit code which happens to work right even for 32-bit code ... Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: R2: Fix local_irq_save()Maxime Bizon2006-01-101-0/+1
| | | | | | | | | | | | | | | | | | local_irq_restore uses di which saves the whole status content, not just the IE bit resulting in local_irq_restore() to fail. This only happens if both CONFIG_CPU_MIPSR2 and CONFIG_IRQ_CPU are enabled. Signed-off-by: Maxime Bizon <mbizon@freebox.fr> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: Namespace pollution: dump_regs() -> elf_dump_regs()Al Viro2006-01-101-2/+2
| | | | | | | | | | | | | | | | | | dump_regs() is used by a bunch of drivers for their internal stuff; renamed mips instance (one that is seen in system-wide headers) to elf_dump_regs() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: Au1550: Fix OHCI memory map sizeSergei Shtylyov2006-01-101-2/+5
| | | | | | | | | | | | | | | | | | | | USB OpenHCI host controller on Au1550 only decodes memory addresses from 0x14020000 to 0x1407FFFF according to the databook, which gives 0x60000 (on the prior Au1x00 chips the map size was 1MB). Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Acked-by: Jordan Crouse <jordan.crouse@amd.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * Update Yoichi Yuasa's email address.Ralf Baechle2006-01-1011-11/+11
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: Reorganize ISA constants strictly as bitmasks.Ralf Baechle2006-01-102-31/+31
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@ongar.mips.com>
| * MIPS: Introduce machinery for testing for MIPSxxR1/2.Ralf Baechle2006-01-109-1/+62
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: Rename MIPS_CPU_ISA_M{32,64} -> MIPS_CPU_ISA_M{32,64}R1.Ralf Baechle2006-01-101-10/+7
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: Get rid of atomic_lock.Ralf Baechle2006-01-101-22/+21
| | | | | | | | | | | | It was resulting in build errors for some configurations. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: DSP: Put mask field into the right place.Ralf Baechle2006-01-101-1/+1
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: DSP: Set all register masks to 0x3ff.Ralf Baechle2006-01-101-3/+3
| | | | | | | | | | | | | | 0x2ff was a typo and the value 0x1f of DSP_MASK was refering to an old version of the documentation. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: Fix mdelay(1) for 64bit kernel with HZ == 1000Atsushi Nemoto2006-01-101-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | mdelay(1) (i.e. udelay(1000)) does not work correctly due to overflow. 1000 * 0x004189374BC6A7f0 = 0x10000000000000180 (>= 2**64) 0x004189374BC6A7ef (0x004189374BC6A7f0 - 1) is OK and it is exactly same as catchall case (0x8000000000000000UL / (500000 / HZ)). Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: DSP: eleminate used_dsp.Ralf Baechle2006-01-101-1/+0
| | | | | | | | | | | | | | | | | | used_dsp was meant to be used like used_math - but since the FPU context is small and lazy context switching is a stupid idea on multiprocessors this idea only got halfway implemented and those bits are were now breaking ptrace. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: DSP: Context switch the DSPcontrol register also.Ralf Baechle2006-01-101-0/+2
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* | [PATCH] rcu: join rcu_ctrlblk and rcu_stateOleg Nesterov2006-01-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | This patch moves rcu_state into the rcu_ctrlblk. I think there are no reasons why we should have 2 different variables to control rcu state. Every user of rcu_state has also "rcu_ctrlblk *rcp" in the parameter list. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Acked-by: Paul E. McKenney <paulmck@us.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] Work around ppc64 compiler bugAnton Blanchard2006-01-101-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the process of optimising our per cpu data code, I found a ppc64 compiler bug that has been around forever. Basically the current RELOC_HIDE can end up trashing r30. Details of the bug can be found at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25572 This bug is present in all compilers before 4.1. It is masked by the fact that our current per cpu data code is inefficient and causes other loads that end up marking r30 as used. A workaround identified by Alan Modra is to use the =r asm constraint instead of =g. Signed-off-by: Anton Blanchard <anton@samba.org> [ Verified that this makes no real difference on x86[-64] */ Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2006-01-101-0/+2
|\ \
| * | [MUTEX]: linux/mutex-debug.h needs linux/linkage.hDavid S. Miller2006-01-091-0/+2
| |/ | | | | | | | | | | For FASTCALL() define. Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-mergeLinus Torvalds2006-01-105-10/+41
|\ \
| * | powerpc: Introduce a new config symbol to control 16550 early debug codePaul Mackerras2006-01-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous change by Kumar Gala in this area led to legacy_serial.c and udbg_16550.c being built as modules when CONFIG_SERIAL_8250=m. Fix this by introducing a new symbol, CONFIG_PPC_UDBG_16550, to control whether these files get built, and arrange for it to be selected for those platforms that need it. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] powerpc: Save device BARs much earlier in the boot sequenceLinas Vepstas2006-01-102-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 241-eeh-save-bars-earlier.patch Save the PCI device bars *before* any PCI probing is done. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> (cherry picked from 76c902b919098860f3d4e125f847abcc4cb1782a commit)
| * | [PATCH] powerpc: Don't continue with PCI Error recovery if slot reset failed.Linas Vepstas2006-01-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 238-eeh-stop-if-reset_failed.patch If the firmware is unable to reset the PCI slot for some reason, then don't attempt any further recovery steps after that point. Instead, mark the device as permanently failed. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> (cherry picked from e06b942521eb2cdaf232726f45a820d5837acb12 commit)
| * | [PATCH] powerpc: Remove duplicate codeLinas Vepstas2006-01-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 234-eeh-find-pe.patch The find_device_pe() routine is duplicated in two files. Remove one of the two copies, declare the other extern. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> (cherry picked from 48408e708282d4d0269136ff27ea5acbd9410b5a commit)
| * | [PATCH] powerpc: Add "partitionable endpoint" supportLinas Vepstas2006-01-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 26-eeh-partition-endpoint.patch New versions of firmware introduce a new method by which the "partitionable endpoint" (the point at which the pci bus is cut) should be located. This code adds the support for this (mandatory) new feature. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> (cherry picked from 9fcfb5d35b5294659f9299aa9cae6fd16325c07e commit)
| * | [PATCH] powerpc: Split out PCI address cache to its own fileLinas Vepstas2006-01-101-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 25-pci-address-cache.patch The core EEH file is rather large. This patch splits out a self-contained chunk of it into its own file. This is the chunk that performes the caching and lookup of pci devices based on the i/o addresses of thier resoures. This code is almos architecture-independent and could be used by any system that wanted to find a pci device based only on the i/o address used by the device. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> (cherry picked from b0b291d59906d4a9a89ed9e34d9fd684c7188924 commit)
OpenPOWER on IntegriCloud