OSDN Git Service
Ingo Molnar [Tue, 28 Aug 2007 10:53:24 +0000 (12:53 +0200)]
sched: clean up task_new_fair()
cleanup: we have the 'se' and 'curr' entity-pointers already,
no need to use p->se and current->se.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Ingo Molnar [Tue, 28 Aug 2007 10:53:24 +0000 (12:53 +0200)]
sched: small schedstat fix
small schedstat fix: the cfs_rq->wait_runtime 'sum of all runtimes'
statistics counters missed newly forked tasks and thus had a constant
negative skew. Fix this.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Ingo Molnar [Tue, 28 Aug 2007 10:53:24 +0000 (12:53 +0200)]
sched: fix wait_start_fair condition in update_stats_wait_end()
Peter Zijlstra noticed the following bug in SCHED_FEAT_SKIP_INITIAL (which
is disabled by default at the moment): it relies on se.wait_start_fair
being 0 while update_stats_wait_end() did not recognize a 0 value,
so instead of 'skipping' the initial interval we gave the new child
a maximum boost of +runtime-limit ...
(No impact on the default kernel, but nice to fix for completeness.)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Ting Yang [Tue, 28 Aug 2007 10:53:24 +0000 (12:53 +0200)]
sched: call update_curr() in task_tick_fair()
update the fair-clock before using it for the key value.
[ mingo@elte.hu: small cleanups. ]
Signed-off-by: Ting Yang <tingy@cs.umass.edu>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Ingo Molnar [Tue, 28 Aug 2007 10:53:24 +0000 (12:53 +0200)]
sched: make the scheduler converge to the ideal latency
de-HZ-ification of the granularity defaults unearthed a pre-existing
property of CFS: while it correctly converges to the granularity goal,
it does not prevent run-time fluctuations in the range of
[-gran ... 0 ... +gran].
With the increase of the granularity due to the removal of HZ
dependencies, this becomes visible in chew-max output (with 5 tasks
running):
out: 28 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 37 . 40
out: 27 . 27. 32 | flu: 0 . 0 | ran: 17 . 13 | per: 44 . 40
out: 27 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 36 . 40
out: 29 . 27. 32 | flu: 2 . 0 | ran: 17 . 13 | per: 46 . 40
out: 28 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 37 . 40
out: 29 . 27. 32 | flu: 0 . 0 | ran: 18 . 13 | per: 47 . 40
out: 28 . 27. 32 | flu: 0 . 0 | ran: 9 . 13 | per: 37 . 40
average slice is the ideal 13 msecs and the period is picture-perfect 40
msecs. But the 'ran' field fluctuates around 13.33 msecs and there's no
mechanism in CFS to keep that from happening: it's a perfectly valid
solution that CFS finds.
to fix this we add a granularity/preemption rule that knows about
the "target latency", which makes tasks that run longer than the ideal
latency run a bit less. The simplest approach is to simply decrease the
preemption granularity when a task overruns its ideal latency. For this
we have to track how much the task executed since its last preemption.
( this adds a new field to task_struct, but we can eliminate that
overhead in 2.6.24 by putting all the scheduler timestamps into an
anonymous union. )
with this change in place, chew-max output is fluctuation-less all
around:
out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40
out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40
out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40
out: 28 . 27. 39 | flu: 0 . 2 | ran: 13 . 13 | per: 41 . 40
out: 28 . 27. 39 | flu: 0 . 1 | ran: 13 . 13 | per: 41 . 40
out: 28 . 27. 39 | flu: 0 . 1 | ran: 13 . 13 | per: 41 . 40
this patch has no impact on any fastpath or on any globally observable
scheduling property. (unless you have sharp enough eyes to see
millisecond-level ruckles in glxgears smoothness :-)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Mike Galbraith [Tue, 28 Aug 2007 10:53:24 +0000 (12:53 +0200)]
sched: fix sleeper bonus limit
There is an Amarok song switch time increase (regression) under
hefty load.
What is happening is that sleeper_bonus is never consumed, and only
rarely goes below runtime_limit, so for the most part, Amarok isn't
getting any bonus at all. We're keeping sleeper_bonus right at
runtime_limit (sched_latency == sched_runtime_limit == 40ms) forever, ie
we don't consume if we're lower that that, and don't add if we're above
it. One Amarok thread waking (or anybody else) will push us past the
threshold, so the next thread waking gets nada, but will reap pain from
the previous thread waking until we drop back to runtime_limit. It
looks to me like under load, some random task gets a bonus, and
everybody else pays, whether deserving or not.
This diff fixed the regression for me at any load rate.
Signed-off-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Linus Torvalds [Tue, 28 Aug 2007 01:32:35 +0000 (18:32 -0700)]
Linux 2.6.23-rc4
Andrew Vasquez [Mon, 27 Aug 2007 22:25:01 +0000 (15:25 -0700)]
dm-mpath-rdac: don't stomp on a requests transfer bit
Without this, we get qla2xxx complaining about "ISP System Error".
What's happening here is the firmware is detecting a Xfer-ready from the
storage when in fact the data-direction for a mode-select should be a
write (DATA_OUT).
The following patch fixes the problem (typo). Verified by Brian, as
well.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Verified-by: Brian De Wolf <bldewolf@csupomona.edu>
Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Mon, 27 Aug 2007 22:06:28 +0000 (15:06 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC32]: Make flush_tlb_kernel_range() an inline function.
[SERIAL]: Fix 32-bit warnings in sunzilog.c and sunsu.c
[SPARC32]: Kill unused vars and macros from prom/console.c
[SPARC32]: Add __cmpdi2() libcall implementation ala. MIPS.
[VIDEO]: Do not prom_halt() in cg3 and bw2 device probe.
[SUNVDC]: Use slice 0xff on VD_DISK_TYPE_DISK.
Linus Torvalds [Mon, 27 Aug 2007 22:06:01 +0000 (15:06 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[NET]: Mark Paul Moore as maintainer of labelled networking.
[VLAN/BRIDGE]: Fix "skb_pull_rcsum - Fatal exception in interrupt"
[ISDN]: Get rid of some pointless allocation casts in common and bsd comp.
[NET]: Avoid pointless allocation casts in BSD compression module
[IRDA]: Do not do pointless kmalloc return value cast in KingSun driver
[NET]: Fix crash in dev_mc_sync()/dev_mc_unsync()
[PPPOL2TP]: Fix endianness annotations.
[IOAT]: ioatdma needs to to play nice in a multi-dma-client world
[SLIP]: trivial sparse warning fix
[EQL]: sparse warning fix
[NET]: is_power_of_2 in net/core/neighbour.c
[TCP]: Describe tcp_init_cwnd() thoroughly in a comment.
[NET]: Fix IP_ADD/DROP_MEMBERSHIP to handle only connectionless
[KBUILD]: Sanitize tc_ematch headers.
[IPSEC] AH4: Update IPv4 options handling to conform to RFC 4302.
Hugh Dickins [Mon, 27 Aug 2007 15:06:19 +0000 (16:06 +0100)]
fix bogus hotplug cpu warning
Fix bogus DEBUG_PREEMPT warning on x86_64, when cpu brought online after
bootup: current_is_keventd is right to note its use of smp_processor_id
is preempt-safe, but should use raw_smp_processor_id to avoid the warning.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Hugh Dickins [Mon, 27 Aug 2007 15:04:39 +0000 (16:04 +0100)]
reverse CONFIG_ACPI_PROC_EVENT default
Sigh. Again an ACPI assault on the Thinkpad's Fn+F4 to suspend to RAM.
The default and text for CONFIG_THINKPAD_ACPI_INPUT_ENABLED were fixed
in -rc3, but now commit
14e04fb34ffa82ee61ae69f98d8fca12d2e8e31c ("ACPI:
Schedule /proc/acpi/event for removal") introduces the ACPI_PROC_EVENT
config entry, and defaults it to 'n' to disable it again.
Change default to y, and add comment to make it clearer that n is for
future distros.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Len Brown <len.brown@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Hugh Dickins [Mon, 27 Aug 2007 15:02:12 +0000 (16:02 +0100)]
fix maxcpus=N parsing
Commit
61ec7567db103d537329b0db9a887db570431ff4 ('ACPI: boot correctly
with "nosmp" or "maxcpus=0"') broke 'maxcpus=' handling on x86[-64].
maxcpus=N is now having no effect on x86_64, and freezing bootup on i386
(because of inconsistency with the separate maxcpus parsing down in
arch/i386, I guess). That's because early_param parsing is a little
different from __setup parsing, and needs the "=" omitted: then it seems
to work as the original commit intended (no mention of IO-APIC in
/proc/interrupts when maxcpus=0).
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Len Brown <len.brown@intel.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Mon, 27 Aug 2007 16:42:43 +0000 (09:42 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (60 commits)
[MIPS] Fulong doesn't need ISA DMA.
[MIPS] IP27: intr_sconnect_level: don't disable interrupts.
[MIPS] IP27: startup_bridge_irq: connect interrupt.
[MIPS] IP27: shutdown_bridge_irq: don't free irq.
[MIPS] Sort out handling of ISA-less PCI systems.
[MIPS] Add __cmpdi2
[MIPS] HOTPLUG: Make register_pci_controller __devinit.
[MIPS] PCI: Remove __devinit attribute from pcibios_fixup_bus.
[MIPS] PCI: Remove __devinit attribute from pcibios_fixup_bus.
[MIPS] Delete duplicate inclusion of <linux/delay.h>.
[MIPS] Polish <asm/edac.h>.
[MIPS] IP22: Export sgi_gfxaddr for use by the Newport console driver.
[MIPS] Maintain si_code field properly for FP exceptions
[MIPS] SMTC: Fix duplicate status dumps on NMI
[MIPS] Unconditionally writeback and invalidate caches on kexec.
[PATCH] rtc: Make rtc-rs5c348 driver hotplug-aware
[MIPS] Fix gcc 3.3 warning.
[MIPS] Fix invalid semicolon after if statement
[MIPS] Update Cobalt defconfig
[MIPS] Update workpad_defconfig
...
Linus Torvalds [Mon, 27 Aug 2007 16:42:21 +0000 (09:42 -0700)]
Merge branch 'merge' of git://git./linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
[POWERPC] Fix SLB initialization at boot time
[POWERPC] Fix undefined reference to device_power_up/resume
[POWERPC] cell: Update cell_defconfig for 2.6.23
[POWERPC] axonram: Do not delete gendisks queue in error path
[POWERPC] axonram: Module modification for latest firmware API changes
[POWERPC] cell: Support pinhole-reset on IBM cell blades
[POWERPC] spu_manage: Use newer physical-id attribute
[POWERPC] pasemi: Another IOMMU bugfix for 64K PAGE_SIZE
Linus Torvalds [Mon, 27 Aug 2007 16:30:52 +0000 (09:30 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/kyle/parisc-2.6
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6:
[PARISC] Add NOTES section
[PARISC] Use compat_sys_getdents
[PARISC] Do not allow STI_CONSOLE to be modular
[PARISC] Clean up sti_flush
[PARISC] Add dummy isa_(bus|virt)_to_(virt|bus) inlines
[PARISC] Add empty <asm-parisc/vga.h>
Kyle McMartin [Mon, 27 Aug 2007 03:28:34 +0000 (23:28 -0400)]
[PARISC] Add NOTES section
Bisected bizarre kernel-space nullptr dereference in udev to commit
18991197b4b588255ccabf472ebc84db7b66a19c, adding the NOTES section fixes
it.
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Kyle McMartin [Fri, 29 Jun 2007 07:38:10 +0000 (03:38 -0400)]
[PARISC] Use compat_sys_getdents
Switch to using the generic compat_sys_getdents instead of a
homebrew one.
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Kyle McMartin [Fri, 29 Jun 2007 06:15:12 +0000 (02:15 -0400)]
[PARISC] Do not allow STI_CONSOLE to be modular
It doesn't really make much sense, anyways, and would need a pile of
symbols exported.
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Kyle McMartin [Fri, 29 Jun 2007 06:17:50 +0000 (02:17 -0400)]
[PARISC] Clean up sti_flush
sti_flush is supposed to flush the caches so we can execute the STI rom
we copied to memory. Anything more than flush_icache_range is overkill.
Fixes a missing symbol when built as a module.
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Kyle McMartin [Fri, 29 Jun 2007 06:21:03 +0000 (02:21 -0400)]
[PARISC] Add dummy isa_(bus|virt)_to_(virt|bus) inlines
Less painful than fixing up the Kconfig for a pile of drivers to only build
on X86 && ARM && MIPS...
Just make them BUG(), as defining them to be 1:1 with physical memory will
likely HPMC the box anyways.
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Kyle McMartin [Thu, 28 Jun 2007 16:12:39 +0000 (12:12 -0400)]
[PARISC] Add empty <asm-parisc/vga.h>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
David S. Miller [Sat, 25 Aug 2007 22:21:51 +0000 (15:21 -0700)]
[SPARC32]: Make flush_tlb_kernel_range() an inline function.
This avoids unused variable warnings in places like mm/vmalloc.c:
mm/vmalloc.c: In function ‘unmap_kernel_range’:
mm/vmalloc.c:75: warning: unused variable ‘start’
caused by it previously being a macro.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 25 Aug 2007 22:17:31 +0000 (15:17 -0700)]
[SERIAL]: Fix 32-bit warnings in sunzilog.c and sunsu.c
resource_size_t can be either a u64 or a u32, and we can't
really know for sure, so when printing such a value out
always use long-long printf formatting and cast the argument
to that type.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 25 Aug 2007 22:12:32 +0000 (15:12 -0700)]
[SPARC32]: Kill unused vars and macros from prom/console.c
This should have been removed during the of_console_device
changes.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 25 Aug 2007 22:10:44 +0000 (15:10 -0700)]
[SPARC32]: Add __cmpdi2() libcall implementation ala. MIPS.
Device mapper generates calls to this with recent versions
of gcc.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 25 Aug 2007 05:33:15 +0000 (22:33 -0700)]
[VIDEO]: Do not prom_halt() in cg3 and bw2 device probe.
Just give a normal kernel log message of the problem and
return failure.
Based upon a patch from Mark Fortescue.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 25 Aug 2007 05:05:44 +0000 (22:05 -0700)]
[SUNVDC]: Use slice 0xff on VD_DISK_TYPE_DISK.
While debugging issues with the VDS server I made the
driver use partition 2 to get at the whole disk since
this is the "whole disk" partition in the Sun disk
label.
We really should use slice 0xff which really means
the whole physical disk in the VIO disk protocol.
Otherwise things won't work well on a disk image
that doesn't have a proper disk label on it.
Signed-off-by: David S. Miller <davem@davemloft.net>
James Morris [Sat, 25 Aug 2007 21:41:28 +0000 (14:41 -0700)]
[NET]: Mark Paul Moore as maintainer of labelled networking.
Signed-off-by: James Morris <jmorris@namei.org>
Acked-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Evgeniy Polyakov [Sat, 25 Aug 2007 06:36:29 +0000 (23:36 -0700)]
[VLAN/BRIDGE]: Fix "skb_pull_rcsum - Fatal exception in interrupt"
I tried to preserve bridging code as it was before, but logic is quite
strange - I think we should free skb on error, since it is already
unshared and thus will just leak.
Herbert Xu states:
> + if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL)
> + goto out;
If this happens it'll be a double-free on skb since we'll
return NF_DROP which makes the caller free it too.
We could return NF_STOLEN to prevent that but I'm not sure
whether that's correct netfilter semantics. Patrick, could
you please make a call on this?
Patrick McHardy states:
NF_STOLEN should work fine here.
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jesper Juhl [Sat, 25 Aug 2007 06:25:33 +0000 (23:25 -0700)]
[ISDN]: Get rid of some pointless allocation casts in common and bsd comp.
vmalloc() returns a void pointer - no need to cast the return value.
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jesper Juhl [Sat, 25 Aug 2007 06:24:43 +0000 (23:24 -0700)]
[NET]: Avoid pointless allocation casts in BSD compression module
The general kernel memory allocation functions return void pointers
and there is no need to cast their return values.
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jesper Juhl [Sat, 25 Aug 2007 06:23:41 +0000 (23:23 -0700)]
[IRDA]: Do not do pointless kmalloc return value cast in KingSun driver
kmalloc() returns a void pointer, so there is no need to cast it in
drivers/net/irda/kingsun-sir.c::kingsun_probe().
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Benjamin Thery [Sat, 25 Aug 2007 06:12:08 +0000 (23:12 -0700)]
[NET]: Fix crash in dev_mc_sync()/dev_mc_unsync()
This patch fixes a crash that may occur when the routine dev_mc_sync()
deletes an address from the list it is currently going through. It
saves the pointer to the next element before deleting the current one.
The problem may also exist in dev_mc_unsync().
Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Al Viro [Sat, 25 Aug 2007 06:04:18 +0000 (23:04 -0700)]
[PPPOL2TP]: Fix endianness annotations.
{s,d}_{session,tunnel} in pppol2tp_addr are actually host-endian
everywhere. We might switch them to net-endian, of course, but
that structure is exposed to userland via getname...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Shannon Nelson [Sat, 25 Aug 2007 06:02:53 +0000 (23:02 -0700)]
[IOAT]: ioatdma needs to to play nice in a multi-dma-client world
Now that the DMA engine has a multi-client interface, fix the ioatdma
driver to play along. At the same time, remove a couple of unnecessary
reads and writes.
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Sat, 25 Aug 2007 05:38:26 +0000 (22:38 -0700)]
[SLIP]: trivial sparse warning fix
Function declared static in forward declaration, but not in actual code.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Sat, 25 Aug 2007 05:37:49 +0000 (22:37 -0700)]
[EQL]: sparse warning fix
More noodlin on long flights, patch bin. Sparse warning fix for eql.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
vignesh babu [Sat, 25 Aug 2007 05:27:55 +0000 (22:27 -0700)]
[NET]: is_power_of_2 in net/core/neighbour.c
Replacing n & (n - 1) for power of 2 check by is_power_of_2(n)
Signed-off-by: vignesh babu <vignesh.babu@wipro.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 25 Aug 2007 05:21:50 +0000 (22:21 -0700)]
[TCP]: Describe tcp_init_cwnd() thoroughly in a comment.
People often get tripped up by this function and think that
it does not implemented the prescribed algorithms from
RFC2414 and RFC3390, even though it does.
So add a comment to head off such misunderstandings in the
future.
Signed-off-by: David S. Miller <davem@davemloft.net>
Flavio Leitner [Sat, 25 Aug 2007 05:16:39 +0000 (22:16 -0700)]
[NET]: Fix IP_ADD/DROP_MEMBERSHIP to handle only connectionless
Fix IP[V6]_ADD_MEMBERSHIP and IP[V6]_DROP_MEMBERSHIP to
return -EPROTO for connection oriented sockets.
Signed-off-by: Flavio Leitner <fleitner@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Wed, 22 Aug 2007 19:36:01 +0000 (12:36 -0700)]
[KBUILD]: Sanitize tc_ematch headers.
The headers in tc_ematch are used by iproute2, so these headers should
be processed.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Nick Bowler [Wed, 22 Aug 2007 19:33:51 +0000 (12:33 -0700)]
[IPSEC] AH4: Update IPv4 options handling to conform to RFC 4302.
In testing our ESP/AH offload hardware, I discovered an issue with how
AH handles mutable fields in IPv4. RFC 4302 (AH) states the following
on the subject:
For IPv4, the entire option is viewed as a unit; so even
though the type and length fields within most options are immutable
in transit, if an option is classified as mutable, the entire option
is zeroed for ICV computation purposes.
The current implementation does not zero the type and length fields,
resulting in authentication failures when communicating with hosts
that do (i.e. FreeBSD).
I have tested record route and timestamp options (ping -R and ping -T)
on a small network involving Windows XP, FreeBSD 6.2, and Linux hosts,
with one router. In the presence of these options, the FreeBSD and
Linux hosts (with the patch or with the hardware) can communicate.
The Windows XP host simply fails to accept these packets with or
without the patch.
I have also been trying to test source routing options (using
traceroute -g), but haven't had much luck getting this option to work
*without* AH, let alone with.
Signed-off-by: Nick Bowler <nbowler@ellipticsemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ralf Baechle [Fri, 24 Aug 2007 15:49:23 +0000 (16:49 +0100)]
[MIPS] Fulong doesn't need ISA DMA.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Sun, 26 Aug 2007 23:29:11 +0000 (00:29 +0100)]
[MIPS] IP27: intr_sconnect_level: don't disable interrupts.
There is no reason to.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Sun, 26 Aug 2007 23:26:58 +0000 (00:26 +0100)]
[MIPS] IP27: startup_bridge_irq: connect interrupt.
shutdown_bridge_irq disconnects the irq so we need to connect the irq or
requesting the same irq a send time will fail. This used to make
things like ifconfig eth0 down; ifconfig eth0 up fail on IP27.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Sun, 26 Aug 2007 23:19:21 +0000 (00:19 +0100)]
[MIPS] IP27: shutdown_bridge_irq: don't free irq.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Fri, 24 Aug 2007 15:48:30 +0000 (16:48 +0100)]
[MIPS] Sort out handling of ISA-less PCI systems.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Fri, 24 Aug 2007 12:47:45 +0000 (13:47 +0100)]
[MIPS] Add __cmpdi2
Certain 32-bit kernel configurations seem to be able to cause references,
this was observed with gcc 4.1.2.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Fri, 24 Aug 2007 01:13:33 +0000 (02:13 +0100)]
[MIPS] HOTPLUG: Make register_pci_controller __devinit.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Thu, 23 Aug 2007 13:17:14 +0000 (14:17 +0100)]
[MIPS] PCI: Remove __devinit attribute from pcibios_fixup_bus.
Since
96bde06a2df1b363206d3cdef53134b84ff37813 several callers of
pcibios_resource_to_bus are no longer marked __devinit resulting in a
pile of modpost warnings if PCI && !HOTPLUG:
MODPOST vmlinux.o
WARNING: vmlinux.o(.text+0x15dde8): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_map_rom' and 'pci_map_rom_copy')
WARNING: vmlinux.o(.text+0x15e140): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_update_resource' and 'pci_claim_resource')
WARNING: vmlinux.o(.text+0x15f0cc): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'pci_bus_assign_resources')
WARNING: vmlinux.o(.text+0x15f0f0): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'pci_bus_assign_resources')
WARNING: vmlinux.o(.text+0x15f114): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'pci_bus_assign_resources')
WARNING: vmlinux.o(.text+0x15f138): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'pci_bus_assign_resources')
WARNING: vmlinux.o(.text+0x15f438): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_bus_assign_resources' and 'pbus_size_mem')
WARNING: vmlinux.o(.text+0x15f4f4): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_bus_assign_resources' and 'pbus_size_mem')
Removing __devinit from pcibios_resource_to_bus make the same necessary
for pcibios_fixup_device_resources as well.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Thu, 23 Aug 2007 13:12:56 +0000 (14:12 +0100)]
[MIPS] PCI: Remove __devinit attribute from pcibios_fixup_bus.
Since
96bde06a2df1b363206d3cdef53134b84ff37813 pcibios_fixup_bus's caller
pci_scan_child_bus is no longer marked __devinit resulting in this modpost
warning if PCI && !HOTPLUG:
MODPOST vmlinux.o
WARNING: vmlinux.o(.text+0x158b9c): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bus_parented')
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Wed, 22 Aug 2007 21:48:08 +0000 (22:48 +0100)]
[MIPS] Delete duplicate inclusion of <linux/delay.h>.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Wed, 22 Aug 2007 21:42:18 +0000 (22:42 +0100)]
[MIPS] Polish <asm/edac.h>.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Wed, 22 Aug 2007 15:29:56 +0000 (16:29 +0100)]
[MIPS] IP22: Export sgi_gfxaddr for use by the Newport console driver.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Thiemo Seufer [Wed, 22 Aug 2007 00:42:04 +0000 (01:42 +0100)]
[MIPS] Maintain si_code field properly for FP exceptions
The appended patch adds code to update siginfo_t's si_code field. It
fixes e.g. a floating point overflow regression in the SBCL testsuite.
Signed-off-By: Thiemo Seufer <ths@linux-mips.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Thiemo Seufer [Mon, 20 Aug 2007 22:43:49 +0000 (23:43 +0100)]
[MIPS] SMTC: Fix duplicate status dumps on NMI
Also removes the while(1); loop by propagating the ATTRIB_NORET of die()
to nmi_exception_handler.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Nicolas Schichan [Mon, 20 Aug 2007 13:57:38 +0000 (15:57 +0200)]
[MIPS] Unconditionally writeback and invalidate caches on kexec.
Signed-off-by: Nicolas Schichan <nschichan@freebox.fr>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Atsushi Nemoto [Sun, 19 Aug 2007 13:32:10 +0000 (22:32 +0900)]
[PATCH] rtc: Make rtc-rs5c348 driver hotplug-aware
The rtc-rs5c348 SPI driver name doesn't match its module name, which
prevents it from properly hotplugging. There is only one in-tree user
of its driver, which is fixed by this patch too.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Acked-by: David Brownell <david-b@pacbell.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Thu, 16 Aug 2007 11:10:16 +0000 (12:10 +0100)]
[MIPS] Fix gcc 3.3 warning.
CC arch/mips/kernel/cpu-bugs64.o
arch/mips/kernel/cpu-bugs64.c: In function 'align_mod':
arch/mips/kernel/cpu-bugs64.c:23: warning: asm operand 0 probably doesn't match constraints
arch/mips/kernel/cpu-bugs64.c:23: warning: asm operand 1 probably doesn't match constraints
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ilpo Järvinen [Wed, 15 Aug 2007 22:03:01 +0000 (01:03 +0300)]
[MIPS] Fix invalid semicolon after if statement
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Tue, 7 Aug 2007 14:20:21 +0000 (23:20 +0900)]
[MIPS] Update Cobalt defconfig
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Tue, 14 Aug 2007 11:34:52 +0000 (20:34 +0900)]
[MIPS] Update workpad_defconfig
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Tue, 14 Aug 2007 11:33:54 +0000 (20:33 +0900)]
[MIPS] Update tb0287_defconfig
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Tue, 14 Aug 2007 11:32:47 +0000 (20:32 +0900)]
[MIPS] Update tb0226_defconfig
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Tue, 14 Aug 2007 11:31:35 +0000 (20:31 +0900)]
[MIPS] Update tb0219_defconfig
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Tue, 14 Aug 2007 11:30:21 +0000 (20:30 +0900)]
[MIPS] Update mpc30x_defconfig
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Tue, 14 Aug 2007 11:29:02 +0000 (20:29 +0900)]
[MIPS] Update e55_defconfig
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Tue, 14 Aug 2007 11:27:47 +0000 (20:27 +0900)]
[MIPS] Update capcella_defconfig
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Mon, 13 Aug 2007 11:47:17 +0000 (12:47 +0100)]
[MIPS] IP22: Fix modpost warning.
MODPOST vmlinux.o
WARNING: vmlinux.o(.text+0xc70): Section mismatch: reference to .init.text:add_memory_region (between 'probe_memory' and 'enable_local0_irq')
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Mon, 13 Aug 2007 11:44:41 +0000 (12:44 +0100)]
[MIPS] Gcc 3.3 build fixes.
Work around gcc 3.3's unability to evaluate that certain expressions indeed
are constant.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Fri, 10 Aug 2007 17:30:57 +0000 (18:30 +0100)]
[MIPS] MT: Use kallsyms in CPU state dump
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 7 Aug 2007 17:40:06 +0000 (18:40 +0100)]
[MIPS] MIPSsim: Delete old file that survived moving around in the tree.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 7 Aug 2007 16:30:58 +0000 (17:30 +0100)]
[MIPS] unwind_stack should return a value ...
And gcc 3.4 doesn't even warn out this, grrr.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 7 Aug 2007 16:18:28 +0000 (17:18 +0100)]
[MIPS] SMTC: Fix crash on bootup with idebus= command line argument.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 7 Aug 2007 14:02:55 +0000 (15:02 +0100)]
[MIPS] Fix build error if CONFIG_KALLSYMS is undefined.
CC arch/mips/kernel/traps.o
arch/mips/kernel/traps.c: In function 'show_backtrace':
arch/mips/kernel/traps.c:110: warning: unused variable 'ra'
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 7 Aug 2007 13:55:47 +0000 (14:55 +0100)]
[MIPS] Excite: disable 64-bit kernel support.
CC arch/mips/basler/excite/excite_prom.o
arch/mips/basler/excite/excite_prom.c:136:3: #error 64 bit support not implemented
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 7 Aug 2007 13:52:17 +0000 (14:52 +0100)]
[MIPS] Kconfig: Fix configuration warning by hardwiring HOTPLUG_CPU to n.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 7 Aug 2007 12:05:27 +0000 (13:05 +0100)]
[MIPS] Update a few defconfigs.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Mon, 6 Aug 2007 15:35:23 +0000 (16:35 +0100)]
[MIPS] SMTC: Move MIPS_CPU_IPI_IRQ definition into header.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Mon, 6 Aug 2007 15:32:20 +0000 (16:32 +0100)]
[MIPS] Malta: Include <linux/irq.h for cp0_compare_irq / cp0_perfcount_irq.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Mon, 6 Aug 2007 13:02:12 +0000 (14:02 +0100)]
[MIPS] SMP: Scatter __cpuinit over the code as needed.
MIPS doesn't do CPU hotplugging yet but since many of the functions don't
even have an __init let's fix this right.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Mon, 6 Aug 2007 09:02:07 +0000 (10:02 +0100)]
[MIPS] SEAD: Don't mark as experimental.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Sat, 4 Aug 2007 14:35:47 +0000 (23:35 +0900)]
[MIPS] remove unused marvell.h
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Sat, 4 Aug 2007 14:34:17 +0000 (23:34 +0900)]
[MIPS] remove unused gt64240.h
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Sat, 4 Aug 2007 14:26:53 +0000 (23:26 +0900)]
[MIPS] SNI: remove unused pcimt_scache.c
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Sat, 4 Aug 2007 14:24:51 +0000 (23:24 +0900)]
[MIPS] SNI: Remove unneeded sni_machine_halt
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Atsushi Nemoto [Fri, 3 Aug 2007 14:33:38 +0000 (23:33 +0900)]
[MIPS] Remove dead code from irq_txx9.c
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Daniel Jacobowitz [Fri, 3 Aug 2007 15:43:01 +0000 (11:43 -0400)]
[MIPS] Do not discard extra debugging sections.
Leaving these sections is useful to some tools that look at the image, and
none of them are loaded into memory. The .mdebug.abi64 section, in
particular, lets GDB recognize vmlinux.32 as an N64 program instead of
guessing that it is O32.
Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Atsushi Nemoto [Thu, 2 Aug 2007 14:36:26 +0000 (23:36 +0900)]
[MIPS] Update defconfigs for TX39/TX49
Update defconfigs, disabling CONFIG_EXPERIMENTAL.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Atsushi Nemoto [Thu, 2 Aug 2007 14:36:17 +0000 (23:36 +0900)]
[MIPS] Use -Werror on TX39/TX49 boards
Now these directories can be built cleanly.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Atsushi Nemoto [Thu, 2 Aug 2007 14:36:11 +0000 (23:36 +0900)]
[MIPS] Drop unneeded config options for RBTX4938
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Atsushi Nemoto [Thu, 2 Aug 2007 14:36:02 +0000 (23:36 +0900)]
[MIPS] Cleanup TX39/TX49 irq code
Cleanup jmr3927, tx4927 and tx4938 irq codes, using common IRQ_CPU,
I8259 and IRQ_TXX9 irq routines.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Atsushi Nemoto [Thu, 2 Aug 2007 14:35:53 +0000 (23:35 +0900)]
[MIPS] The irq_chip for TX39/TX49 SoCs
Add generic irq_chip for TX39/TX49 SoCs. This can be replace
jmr3927_irq_irc, tx4927_irq_pic_type and tx4938_irq_pic_type.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Thu, 2 Aug 2007 11:08:32 +0000 (12:08 +0100)]
[MIPS] Sibyte: CONFIG_SIBYTE_SB1250_DUART -> CONFIG_SERIAL_SB1250_DUART
This is needed since the Sibyte serial driver was exchanged.
Issue report by Imre Kaloz <kaloz@openwrt.org>.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Thu, 2 Aug 2007 03:48:00 +0000 (12:48 +0900)]
[MIPS] Fix au1xxx_gpio_direction_* return value
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Thu, 2 Aug 2007 03:44:44 +0000 (12:44 +0900)]
[MIPS] Remove unused pnx8550 Kconfig
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Wed, 1 Aug 2007 23:36:08 +0000 (00:36 +0100)]
[MIPS] Kconfig: Enable 64BIT_PHYS_ADDR only through select.
The user should not have to have any clue about this setting.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Wed, 1 Aug 2007 18:42:37 +0000 (19:42 +0100)]
[MIPS] SMTC: Fix secondary VPE interrupt mask initialization.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Wed, 1 Aug 2007 14:46:18 +0000 (15:46 +0100)]
[MIPS] Compute PGD_ORDER from the select page size.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>