2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-27 22:53:55 +08:00
linux-next/arch/powerpc/platforms/cell
Ingo Molnar 74019224ac timers: add mod_timer_pending()
Impact: new timer API

Based on an idea from Martin Josefsson with the help of
Patrick McHardy and Stephen Hemminger:

introduce the mod_timer_pending() API which is a mod_timer()
offspring that is an invariant on already removed timers.

(regular mod_timer() re-activates non-pending timers.)

This is useful for the networking code in that it can
allow unserialized mod_timer_pending() timer-forwarding
calls, but a single del_timer*() will stop the timer
from being reactivated again.

Also while at it:

- optimize the regular mod_timer() path some more, the
  timer-stat and a debug check was needlessly duplicated
  in __mod_timer().

- make the exports come straight after the function, as
  most other exports in timer.c already did.

- eliminate __mod_timer() as an external API, change the
  users to mod_timer().

The regular mod_timer() code path is not impacted
significantly, due to inlining optimizations and due to
the simplifications.

Based-on-patch-from: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Patrick McHardy <kaber@trash.net>
Cc: netdev@vger.kernel.org
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-02-18 19:26:33 +01:00
..
spufs timers: add mod_timer_pending() 2009-02-18 19:26:33 +01:00
axon_msi.c powerpc/cell/axon-msi: Fix MSI after kexec 2008-12-16 13:48:18 +11:00
beat_htab.c powerpc/cell: Use correct types in beat files 2009-01-08 16:25:16 +11:00
beat_hvCall.S [POWERPC] celleb: Move files for Beat hvcall interfaces 2008-04-24 21:08:13 +10:00
beat_interrupt.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
beat_interrupt.h [POWERPC] celleb: Move miscellaneous files for Beat 2008-04-24 21:08:14 +10:00
beat_iommu.c [POWERPC] celleb: Move files for Beat mmu and iommu 2008-04-24 21:08:13 +10:00
beat_smp.c [POWERPC] celleb: Move miscellaneous files for Beat 2008-04-24 21:08:14 +10:00
beat_spu_priv1.c [POWERPC] celleb: Move a file for SPU on Beat 2008-04-24 21:08:13 +10:00
beat_syscall.h [POWERPC] celleb: Move files for Beat hvcall interfaces 2008-04-24 21:08:13 +10:00
beat_udbg.c powerpc/cell: Use correct types in beat files 2009-01-08 16:25:16 +11:00
beat_wrapper.h [POWERPC] celleb: Move files for Beat hvcall interfaces 2008-04-24 21:08:13 +10:00
beat.c [POWERPC] celleb: Move miscellaneous files for Beat 2008-04-24 21:08:14 +10:00
beat.h [POWERPC] celleb: Move miscellaneous files for Beat 2008-04-24 21:08:14 +10:00
cbe_cpufreq_pervasive.c powerpc/cell: local_irq_save takes an unsigned long 2009-01-08 16:25:13 +11:00
cbe_cpufreq_pmi.c cpufreq acpi: only call _PPC after cpufreq ACPI init funcs got called already 2008-07-30 09:41:43 -07:00
cbe_cpufreq.c powerpc: Fix cpufreq drivers after cpufreq core changes 2009-01-11 21:32:01 -08:00
cbe_cpufreq.h [CELL] cbe_cpufreq: reorganize code 2007-07-20 21:41:38 +02:00
cbe_powerbutton.c powerpc/cell: Add support for power button of future IBM cell blades 2008-07-22 10:39:32 +10:00
cbe_regs.c [POWERPC] cell/cbe_regs.c: Add missing of_node_put 2007-12-20 17:13:51 +11:00
cbe_thermal.c sysdev: Pass the attribute to the low level sysdev show/store function 2008-07-21 21:55:02 -07:00
celleb_pci.c [POWERPC] celleb: Add support for PCI Express 2008-04-24 21:08:14 +10:00
celleb_pci.h [POWERPC] celleb: Add support for PCI Express 2008-04-24 21:08:14 +10:00
celleb_scc_epci.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
celleb_scc_pciex.c dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
celleb_scc_sio.c [POWERPC] celleb: Move the SCC related code for celleb 2008-04-24 21:08:13 +10:00
celleb_scc_uhc.c [POWERPC] celleb: Move the SCC related code for celleb 2008-04-24 21:08:13 +10:00
celleb_scc.h [POWERPC] celleb: Add support for PCI Express 2008-04-24 21:08:14 +10:00
celleb_setup.c powerpc: Remove default kexec/crash_kernel ops assignments 2008-12-23 15:13:28 +11:00
cpufreq_spudemand.c powerpc: Fix cpufreq drivers after cpufreq core changes 2009-01-11 21:32:01 -08:00
interrupt.c powerpc/cell: Fix some u64 vs. long types 2009-01-08 16:25:16 +11:00
interrupt.h [POWERPC] cell: Add routines for managing PMU interrupts 2006-12-04 20:40:12 +11:00
io-workarounds.c powerpc/cell: Fix some u64 vs. long types 2009-01-08 16:25:16 +11:00
io-workarounds.h [POWERPC] cell: Fix section mismatches in io-workarounds code 2008-05-15 20:49:57 +10:00
iommu.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
Kconfig powerpc/cell: add QPACE as a separate Cell platform 2008-12-22 22:19:19 +01:00
Makefile powerpc/cell: add QPACE as a separate Cell platform 2008-12-22 22:19:19 +01:00
pervasive.c powerpc/cell: Cleanup sysreset_hack for IBM cell blades 2008-07-22 10:39:31 +10:00
pervasive.h powerpc/cell: Cleanup sysreset_hack for IBM cell blades 2008-07-22 10:39:31 +10:00
pmu.c [POWERPC] cell: Use machine_*_initcall() hooks in platform code 2008-01-17 14:57:15 +11:00
qpace_setup.c powerpc/cell: add QPACE as a separate Cell platform 2008-12-22 22:19:19 +01:00
ras.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
ras.h [POWERPC] cell: add RAS support 2006-06-21 15:01:29 +10:00
setup.c powerpc: Remove default kexec/crash_kernel ops assignments 2008-12-23 15:13:28 +11:00
smp.c powerpc/cell: Fix GDB watchpoints, again 2008-12-01 09:40:18 +11:00
spider-pci.c dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
spider-pic.c powerpc: Fix irq_alloc_host() reference counting and callers 2008-06-09 13:51:16 +10:00
spu_base.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
spu_callbacks.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
spu_fault.c [POWERPC] spufs: move fault, lscsa_alloc and switch code to spufs module 2007-12-21 19:46:19 +11:00
spu_manage.c [POWERPC] Replace remaining __FUNCTION__ occurrences 2008-04-01 20:43:09 +11:00
spu_notify.c [POWERPC] Oprofile: Remove dependency on spufs module 2007-12-28 15:07:52 +11:00
spu_priv1_mmio.c cpumask: powerpc: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask 2008-12-26 22:23:39 +10:30
spu_priv1_mmio.h [POWERPC] cell: abstract spu management routines 2006-12-04 20:40:39 +11:00
spu_syscalls.c [POWERPC] Oprofile: Remove dependency on spufs module 2007-12-28 15:07:52 +11:00