aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/softirq.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix emacs local variable block to use correct C style variable.David Vrabel2013-02-211-1/+1
| | | | | | | The emacs variable to set the C style from a local variable block is c-file-style, not c-set-style. Signed-off-by: David Vrabel <david.vrabel@citrix.com
* xen: Introduce ASSERT_NOT_IN_ATOMIC() to give more info on in_atomic() crash.Keir Fraser2013-01-141-1/+1
| | | | Signed-off-by: Keir Fraser <keir@xen.org>
* eliminate first_cpu() etcJan Beulich2011-11-081-1/+1
| | | | | | | | This includes the conversion from for_each_cpu_mask() to for_each-cpu(). Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
* eliminate cpumask accessors referencing NR_CPUSJan Beulich2011-10-211-2/+3
| | | | | | | ... in favor of using the new, nr_cpumask_bits-based ones. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* convert more literal uses of cpumask_t to pointersJan Beulich2011-09-181-5/+6
| | | | | | | This is particularly relevant as the number of CPUs to be supported increases (as recently happened for the default thereof). Signed-off-by: Jan Beulich <jbeulich@suse.com>
* Define Linux-style <preempt.h> interface.Keir Fraser2010-11-181-0/+1
| | | | | | Use it to disable sleeping in spinlock and rcu-read regions. Signed-off-by: Keir Fraser <keir@xen.org>
* Add locking-depth debugging, introduce in_atomic() boolean.Keir Fraser2010-11-161-0/+1
| | | | | | | This will be useful for debugging use of sleep-in-hypervisor primitives. Signed-off-by: Keir Fraser <keir@xen.org>
* Some cleanups to cpu offline handling.Keir Fraser2010-05-141-1/+2
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Move tasklet implementation into its own source files.Keir Fraser2010-04-191-138/+0
| | | | | | | | This is preparation for implementing tasklets in vcpu context rather than softirq context. There is no change to the implementation of tasklets in this patch. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Fix tasklet_action() to notify correct cpu when running tasklet is rescheduled.Keir Fraser2010-04-151-1/+1
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Per-cpu tasklet lists.Keir Fraser2010-04-141-18/+59
| | | | | Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Replace process_pending_timers() with process_pending_softirqs().Keir Fraser2009-12-221-2/+14
| | | | | | | | | This ensures that any critical softirqs are handled in a timely manner (e.g., TIME_CALIBRATE_SOFTIRQ) while still avoiding being preempted by the scheduler (by SCHEDULE_SOFTIRQ), which is the reason for avoiding use of do_softirq() directly. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* passthrough: use tasklet to deliver interruptsKeir Fraser2009-07-281-0/+22
| | | | | | | | | This patch enables delivery of interrupts even if the VCPU#0 is halted. Note: the changes to softirq.{ch} are needed for ia64 build. Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
* softirq: Add sanity assertion about NR_SOFTIRQS.Keir Fraser2008-08-281-0/+1
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Tasklet bug fixes.Keir Fraser2008-04-151-22/+39
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Change tasklet implementation so that tasklet_kill() does not have toKeir Fraser2008-04-151-25/+36
| | | | | | | | busy-wait for softirq work to start. This reduces the possibility of deadlocks, but the implementation is now less efficient. For the current few users of tasklets this does not matter. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Support tasklets in Xen as a more dynamic alternative to softirqs.Keir Fraser2008-04-111-0/+74
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Add RCU support to Xen.kaf24@localhost.localdomain2007-01-261-0/+5
| | | | Signed-off-by: Jose Renato Santos <jsantos@hpl.hp.com>
* [XEN] Various softirq cleanups. Main one is to alwayskfraser@dhcp93.uk.xensource.com2006-06-301-5/+11
| | | | | | | | | | call smp_processor_id() after any softirq, as rescheduling may cause us to move to another processor on ia64 (spotted by Isaku Yamahata). Also get rid of many direct callers of do_softirq() by creating new function process_pending_timers(). Signed-off-by: Keir Fraser <keir@xensource.com>
* Various softirq cleanups:kaf24@firebug.cl.cam.ac.uk2006-03-311-2/+3
| | | | | | | | | | | | | | 1. Make __softirq_pending a long, since PPC borrows the file hardirq.h from us and they only do atomic ops on longs. 2. do_softirq() explicitly takes a void param list. 3. Remove idle_timestamp field from irq_cpustat. It's unused and lets us simplify the idle loop a little bit. Part 1 based on a patch from Hollis Blanchard at IBM. Signed-off-by: Keir Fraser <keir@xensource.com>
* bitkeeper revision 1.1236.1.58 (42288505tf22vxeNSISpP2B48DpV5A)kaf24@scramble.cl.cam.ac.uk2005-03-041-0/+1
| | | | | | Fix the Emacs 'local variables' block to include required end stmt. Signed-off-by: Keir Fraser <keir.fraser@cl.cam.ac.uk>
* bitkeeper revision 1.1236.1.14 (421db08d6LIbanwxXMIaE6u0X5DIbQ)kaf24@scramble.cl.cam.ac.uk2005-02-241-1/+9
| | | | | | Move Emacs mode lines to end of files, out of the way. Signed-off-by: Keir Fraser <keir.fraser@cl.cam.ac.uk>
* bitkeeper revision 1.1159.212.95 (4204aa0ee0re5Xx1zWrJ9ejxzgRs3w)kaf24@scramble.cl.cam.ac.uk2005-02-051-0/+1
| | | | | | | Various cleanups. Remove PDB pending simpler GDB stub and/or NetBSD debugger. Force emacs mode to appropriate tabbing in various files. Signed-off-by: keir.fraser@cl.cam.ac.uk
* bitkeeper revision 1.1159.223.12 (41f14d3cE4GADmEAEr6XE9nXX4dyGw)kaf24@scramble.cl.cam.ac.uk2005-01-211-0/+2
| | | | | | Common-code cleanups. Moved arch-specific code out into arch/x86 and asm-x86.
* bitkeeper revision 1.1159.183.1 (41a0fd5c_SO-Z8P4u52CN53Q0eDzqg)kaf24@scramble.cl.cam.ac.uk2004-11-211-1/+1
| | | | | | Clean up cacheline-alignment attribute usage. Also add an extra byte to the TSS I/O bitmap as required by the arch manual.
* bitkeeper revision 1.1159.1.326 (418677bearNwfvI3AaLxMG1OKQfO9A)kaf24@freefall.cl.cam.ac.uk2004-11-011-3/+5
| | | | | | Better do_softirq(). We know that there is at least one softirq pending on entry, so we cget rid of the initial test for zero.
* bitkeeper revision 1.1159.1.320 (4186495166A8XLekEbNixl7hWUA08w)kaf24@freefall.cl.cam.ac.uk2004-11-011-11/+5
| | | | | | Clean up softirq handling. All debug keypresses are now deferred to a softirq handler.
* bitkeeper revision 1.983 (40d46e62pNngJp16CZ2sqZwmplr_Kw)kaf24@scramble.cl.cam.ac.uk2004-06-191-16/+2
| | | | | More cleanups.
* bitkeeper revision 1.982 (40d300456_XUbFFOMxRh4MjyB7AfJA)kaf24@scramble.cl.cam.ac.uk2004-06-181-155/+10
| | | | | | | | | Hacked the scheduler interfaces in Xen. We now have synchronous pause. Suspend/death VIRQs have gone away; replace by dom-controller msgs. Xen no longer knows about PS/2 keyboard/mouse; DOM0 can go straight at them.
* bitkeeper revision 1.970 (40d07ec6txkdBLgbvygm7O1rxKCY1A)kaf24@scramble.cl.cam.ac.uk2004-06-161-78/+0
| | | | | Cleanups allowed by new ngio world.
* bitkeeper revision 1.914 (40ab6d61x-o8a0EkAPFPNgH58cGauQ)kaf24@scramble.cl.cam.ac.uk2004-05-191-1/+1
| | | | | More TLB flush fixes.
* bitkeeper revision 1.821 (406007d6uu0vZYDxa9P1ZfNO9kF_Cg)kaf24@scramble.cl.cam.ac.uk2004-03-231-6/+6
| | | | | | | | | | | | Many files: xeno -> xen renames. ide-xen.c: Rename: xen/drivers/ide/ide-xeno.c -> xen/drivers/ide/ide-xen.c xen.lds: Rename: xen/arch/i386/xeno.lds -> xen/arch/i386/xen.lds Many files: mvdir
* bitkeeper revision 1.635 (3fc28bc1lCtZ5EmJM-IipOV5JESnng)kaf24@scramble.cl.cam.ac.uk2003-11-241-77/+56
| | | | | | softirq.h, softirq.c: Cleanups.
* bitkeeper revision 1.596.1.3 (3fb3b41eWUoRU0H8A0jEX5roXjxKkA)kaf24@scramble.cl.cam.ac.uk2003-11-131-33/+9
| | | | | | Many files: Greatly simplified Xen softirqs. They are now only executed in outermost Xen activation; they are never called within an irq context.
* bitkeeper revision 1.479 (3f813947vLCvbxYLugd4rI8gd1R05Q)kaf24@scramble.cl.cam.ac.uk2003-10-061-8/+3
| | | | | | sched.h, softirq.c, schedule.c, event.c, domain.c, process.c: Cleanups to new scheduler world.
* bitkeeper revision 1.147 (3e78b275x-BoAnufenNxz28sriWdcQ)kaf24@scramble.cl.cam.ac.uk2003-03-191-184/+182
| | | | | | interrupt.h, ac_timer.h, softirq.c, schedule.c, ac_timer.c, time.c: Fixes to timer and softirq code. Can now update timers on remote CPUs.
* bitkeeper revision 1.94 (3e5a4f5fzVaxemjfCt0N0OH8PYPiuw)iap10@labyrinth.cl.cam.ac.uk2003-02-241-0/+332
Rename xen-2.4.16 to just "xen" to reflect that it hasn't got any relation to the Linux kernel version.