summaryrefslogtreecommitdiff
path: root/Documentation/IRQ.txt
blob: 1011e717502162c63a04245169ac05d8f96a895a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
What is an IRQ?

An IRQ is an interrupt request from a device.
Currently they can come in over a pin, or over a packet.
Several devices may be connected to the same pin thus
sharing an IRQ.

An IRQ number is a kernel identifier used to talk about a hardware
interrupt source.  Typically this is an index into the global irq_desc
array, but except for what linux/interrupt.h implements the details
are architecture specific.

An IRQ number is an enumeration of the possible interrupt sources on a
machine.  Typically what is enumerated is the number of input pins on
all of the interrupt controller in the system.  In the case of ISA
what is enumerated are the 16 input pins on the two i8259 interrupt
controllers.

Architectures can assign additional meaning to the IRQ numbers, and
are encouraged to in the case  where there is any manual configuration
of the hardware involved.  The ISA IRQs are a classic example of
assigning this kind of additional meaning.
it/include/linux/mutex.h?h=mcbin&id=7b4ff1adb57ad96d8f12a05d8c661a3d8c4d2be1'>mutex, futex: adjust kernel-doc markups to generate ReSTMauro Carvalho Chehab 2017-02-20Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds 2017-01-14locking/mutex, sched/wait: Fix the mutex_lock_io_nested() defineIngo Molnar 2017-01-14locking/mutex, sched/wait: Add mutex_lock_io()Tejun Heo 2017-01-14locking/ww_mutex: Add waiters in stamp orderNicolai Hähnle 2017-01-14locking/mutex: Fix mutex handoffPeter Zijlstra 2016-11-16locking/mutex: Don't mark mutex_trylock_recursive() as deprecated, temporarilyIngo Molnar 2016-11-15locking/mutex, drm: Introduce mutex_trylock_recursive()Peter Zijlstra 2016-10-25locking/mutex: Rework mutex::ownerPeter Zijlstra 2015-02-14mutex: remove unused field "name" in debug modeAdrien Schildknecht 2014-08-13locking/Documentation: Move locking related docs into Documentation/locking/Davidlohr Bueso 2014-08-13locking/mutexes: Use MUTEX_SPIN_ON_OWNER when appropriateDavidlohr Bueso 2014-07-17arch, locking: Ciao arch_mutex_cpu_relax()Davidlohr Bueso 2014-07-16locking/spinlocks/mcs: Convert osq lock to atomic_t to reduce overheadJason Low 2014-07-16locking/spinlocks/mcs: Rename optimistic_spin_queue() to optimistic_spin_node()Jason Low 2014-03-11locking/mutexes: Introduce cancelable MCS lock for adaptive spinningPeter Zijlstra 2014-01-28locking/mutexes/mcs: Restructure the MCS lock defines and locking code into i...Tim Chen 2013-11-11locking/doc: Update references to kernel/mutex.cPeter Zijlstra 2013-09-28mutex: replace CONFIG_HAVE_ARCH_MUTEX_CPU_RELAX with simple ifdefHeiko Carstens 2013-07-12mutex: Move ww_mutex definitions to ww_mutex.hMaarten Lankhorst 2013-06-26mutex: Add w/w mutex slowpath debuggingDaniel Vetter 2013-06-26mutex: Add support for wound/wait style locksMaarten Lankhorst 2013-04-19mutex: Queue mutex spinners with MCS lock to reduce cacheline contentionWaiman Long 2011-07-26atomic: use <linux/atomic.h>Arun Sharma 2011-07-21mutex: Make mutex_destroy() an inline functionJean Delvare 2011-05-25lockdep, mutex: provide mutex_lock_nest_lockPeter Zijlstra 2011-04-14mutex: Use p->on_cpu for the adaptive spinPeter Zijlstra 2010-11-26mutexes, sched: Introduce arch_mutex_cpu_relax()Gerald Schaefer 2010-09-03mutex: Fix annotations to include it in kernel-locking docbookRandy Dunlap