Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > cf93d8a8acdcc6fe2225039da0502495 > files > 2235

kernel-doc-2.6.32-131.17.1.el6.centos.plus.noarch.rpm

<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>Glossary</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="Unreliable Guide To Locking" /><link rel="up" href="index.html" title="Unreliable Guide To Locking" /><link rel="prev" href="ch12.html" title="Chapter&#160;12.&#160;Thanks" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Glossary</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch12.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;</td></tr></table><hr /></div><div class="glossary" title="Glossary"><div class="titlepage"><div><div><h2 class="title"><a id="glossary"></a>Glossary</h2></div></div></div><dl><dt><a id="gloss-preemption"></a>preemption</dt><dd><p>
        Prior to 2.5, or when <span class="symbol">CONFIG_PREEMPT</span> is
        unset, processes in user context inside the kernel would not
        preempt each other (ie. you had that CPU until you gave it up,
        except for interrupts).  With the addition of
        <span class="symbol">CONFIG_PREEMPT</span> in 2.5.4, this changed: when
        in user context, higher priority tasks can "cut in": spinlocks
        were changed to disable preemption, even on UP.
     </p></dd><dt><a id="gloss-bh"></a>bh</dt><dd><p>
        Bottom Half: for historical reasons, functions with
        '_bh' in them often now refer to any software interrupt, e.g.
        <code class="function">spin_lock_bh()</code> blocks any software interrupt 
        on the current CPU.  Bottom halves are deprecated, and will 
        eventually be replaced by tasklets.  Only one bottom half will be 
        running at any time.
     </p></dd><dt><a id="gloss-hwinterrupt"></a>Hardware Interrupt / Hardware IRQ</dt><dd><p>
       Hardware interrupt request.  <code class="function">in_irq()</code> returns 
       <span class="returnvalue">true</span> in a hardware interrupt handler.
     </p></dd><dt><a id="gloss-interruptcontext"></a>Interrupt Context</dt><dd><p>
       Not user context: processing a hardware irq or software irq.
       Indicated by the <code class="function">in_interrupt()</code> macro 
       returning <span class="returnvalue">true</span>.
     </p></dd><dt><a id="gloss-smp"></a><acronym class="acronym">SMP</acronym></dt><dd><p>
       Symmetric Multi-Processor: kernels compiled for multiple-CPU
       machines.  (CONFIG_SMP=y).
     </p></dd><dt><a id="gloss-softirq"></a>Software Interrupt / softirq</dt><dd><p>
       Software interrupt handler.  <code class="function">in_irq()</code> returns
       <span class="returnvalue">false</span>; <code class="function">in_softirq()</code>
       returns <span class="returnvalue">true</span>.  Tasklets and softirqs
	both fall into the category of 'software interrupts'.
     </p><p>
       Strictly speaking a softirq is one of up to 32 enumerated software
       interrupts which can run on multiple CPUs at once.
       Sometimes used to refer to tasklets as
       well (ie. all software interrupts).
     </p></dd><dt><a id="gloss-tasklet"></a>tasklet</dt><dd><p>
       A dynamically-registrable software interrupt,
       which is guaranteed to only run on one CPU at a time.
     </p></dd><dt><a id="gloss-timers"></a>timer</dt><dd><p>
       A dynamically-registrable software interrupt, which is run at
       (or close to) a given time.  When running, it is just like a
       tasklet (in fact, they are called from the TIMER_SOFTIRQ).
     </p></dd><dt><a id="gloss-up"></a><acronym class="acronym">UP</acronym></dt><dd><p>
       Uni-Processor: Non-SMP.  (CONFIG_SMP=n).
     </p></dd><dt><a id="gloss-usercontext"></a>User Context</dt><dd><p>
       The kernel executing on behalf of a particular process (ie. a
       system call or trap) or kernel thread.  You can tell which
       process with the <span class="symbol">current</span> macro.)  Not to
       be confused with userspace.  Can be interrupted by software or
       hardware interrupts.
     </p></dd><dt><a id="gloss-userspace"></a>Userspace</dt><dd><p>
       A process executing its own code outside the kernel.
     </p></dd></dl></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch12.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;</td></tr><tr><td width="40%" align="left" valign="top">Chapter&#160;12.&#160;Thanks&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;</td></tr></table></div></body></html>