<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/lib/Makefile, branch v2.6.15.4</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/lib/Makefile?h=v2.6.15.4</id>
<link rel='self' href='https://git.amat.us/linux/atom/lib/Makefile?h=v2.6.15.4'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2005-09-29T21:42:42Z</updated>
<entry>
<title>[PATCH] swiotlb: move from arch/ia64/lib/ to lib/</title>
<updated>2005-09-29T21:42:42Z</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2005-09-29T21:42:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6c654b5fdf093cd05f35f7c9c2a00182fa5636dc'/>
<id>urn:sha1:6c654b5fdf093cd05f35f7c9c2a00182fa5636dc</id>
<content type='text'>
The swiotlb implementation is shared by both IA-64 and EM64T. However,
the source itself lives under arch/ia64. This patch moves swiotlb.c
from arch/ia64/lib to lib/ and fixes-up the appropriate Makefile and
Kconfig files. No actual changes are made to swiotlb.c.

Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
<entry>
<title>[PATCH] spinlock consolidation</title>
<updated>2005-09-10T17:06:21Z</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@elte.hu</email>
</author>
<published>2005-09-10T07:25:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fb1c8f93d869b34cacb8b8932e2b83d96a19d720'/>
<id>urn:sha1:fb1c8f93d869b34cacb8b8932e2b83d96a19d720</id>
<content type='text'>
This patch (written by me and also containing many suggestions of Arjan van
de Ven) does a major cleanup of the spinlock code.  It does the following
things:

 - consolidates and enhances the spinlock/rwlock debugging code

 - simplifies the asm/spinlock.h files

 - encapsulates the raw spinlock type and moves generic spinlock
   features (such as -&gt;break_lock) into the generic code.

 - cleans up the spinlock code hierarchy to get rid of the spaghetti.

Most notably there's now only a single variant of the debugging code,
located in lib/spinlock_debug.c.  (previously we had one SMP debugging
variant per architecture, plus a separate generic one for UP builds)

Also, i've enhanced the rwlock debugging facility, it will now track
write-owners.  There is new spinlock-owner/CPU-tracking on SMP builds too.
All locks have lockup detection now, which will work for both soft and hard
spin/rwlock lockups.

The arch-level include files now only contain the minimally necessary
subset of the spinlock code - all the rest that can be generalized now
lives in the generic headers:

 include/asm-i386/spinlock_types.h       |   16
 include/asm-x86_64/spinlock_types.h     |   16

I have also split up the various spinlock variants into separate files,
making it easier to see which does what. The new layout is:

   SMP                         |  UP
   ----------------------------|-----------------------------------
   asm/spinlock_types_smp.h    |  linux/spinlock_types_up.h
   linux/spinlock_types.h      |  linux/spinlock_types.h
   asm/spinlock_smp.h          |  linux/spinlock_up.h
   linux/spinlock_api_smp.h    |  linux/spinlock_api_up.h
   linux/spinlock.h            |  linux/spinlock.h

/*
 * here's the role of the various spinlock/rwlock related include files:
 *
 * on SMP builds:
 *
 *  asm/spinlock_types.h: contains the raw_spinlock_t/raw_rwlock_t and the
 *                        initializers
 *
 *  linux/spinlock_types.h:
 *                        defines the generic type and initializers
 *
 *  asm/spinlock.h:       contains the __raw_spin_*()/etc. lowlevel
 *                        implementations, mostly inline assembly code
 *
 *   (also included on UP-debug builds:)
 *
 *  linux/spinlock_api_smp.h:
 *                        contains the prototypes for the _spin_*() APIs.
 *
 *  linux/spinlock.h:     builds the final spin_*() APIs.
 *
 * on UP builds:
 *
 *  linux/spinlock_type_up.h:
 *                        contains the generic, simplified UP spinlock type.
 *                        (which is an empty structure on non-debug builds)
 *
 *  linux/spinlock_types.h:
 *                        defines the generic type and initializers
 *
 *  linux/spinlock_up.h:
 *                        contains the __raw_spin_*()/etc. version of UP
 *                        builds. (which are NOPs on non-debug, non-preempt
 *                        builds)
 *
 *   (included on UP-non-debug builds:)
 *
 *  linux/spinlock_api_up.h:
 *                        builds the _spin_*() APIs.
 *
 *  linux/spinlock.h:     builds the final spin_*() APIs.
 */

All SMP and UP architectures are converted by this patch.

arm, i386, ia64, ppc, ppc64, s390/s390x, x64 was build-tested via
crosscompilers.  m32r, mips, sh, sparc, have not been tested yet, but should
be mostly fine.

From: Grant Grundler &lt;grundler@parisc-linux.org&gt;

  Booted and lightly tested on a500-44 (64-bit, SMP kernel, dual CPU).
  Builds 32-bit SMP kernel (not booted or tested).  I did not try to build
  non-SMP kernels.  That should be trivial to fix up later if necessary.

  I converted bit ops atomic_hash lock to raw_spinlock_t.  Doing so avoids
  some ugly nesting of linux/*.h and asm/*.h files.  Those particular locks
  are well tested and contained entirely inside arch specific code.  I do NOT
  expect any new issues to arise with them.

 If someone does ever need to use debug/metrics with them, then they will
  need to unravel this hairball between spinlocks, atomic ops, and bit ops
  that exist only because parisc has exactly one atomic instruction: LDCW
  (load and clear word).

From: "Luck, Tony" &lt;tony.luck@intel.com&gt;

   ia64 fix

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Arjan van de Ven &lt;arjanv@infradead.org&gt;
Signed-off-by: Grant Grundler &lt;grundler@parisc-linux.org&gt;
Cc: Matthew Wilcox &lt;willy@debian.org&gt;
Signed-off-by: Hirokazu Takata &lt;takata@linux-m32r.org&gt;
Signed-off-by: Mikael Pettersson &lt;mikpe@csd.uu.se&gt;
Signed-off-by: Benoit Boissinot &lt;benoit.boissinot@ens-lyon.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] lib/crc16: added crc16 algorithm.</title>
<updated>2005-09-08T21:41:27Z</updated>
<author>
<name>Evgeniy Polyakov</name>
<email>johnpol@2ka.mipt.ru</email>
</author>
<published>2005-08-17T11:17:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7657ec1fcb69e266ab876af56332d0c484ca6d00'/>
<id>urn:sha1:7657ec1fcb69e266ab876af56332d0c484ca6d00</id>
<content type='text'>
Add the crc16 routines, as used by w1 devices.

Signed-off-by: Ben Gardner &lt;bgardner@wabtec.com&gt;
Signed-off-by: Evgeniy Polyakov &lt;johnpol@2ka.mipt.ru&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] unify x86/x86-64 semaphore code</title>
<updated>2005-09-05T07:06:14Z</updated>
<author>
<name>Benjamin LaHaise</name>
<email>bcrl@kvack.org</email>
</author>
<published>2005-09-03T22:56:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=52fdd08903a1d1162e184114837e232640191627'/>
<id>urn:sha1:52fdd08903a1d1162e184114837e232640191627</id>
<content type='text'>
This patch moves the common code in x86 and x86-64's semaphore.c into a
single file in lib/semaphore-sleepers.c.  The arch specific asm stubs are
left in the arch tree (in semaphore.c for i386 and in the asm for x86-64).
There should be no changes in code/functionality with this patch.

Signed-off-by: Benjamin LaHaise &lt;benjamin.c.lahaise@intel.com&gt;
Cc: Andi Kleen &lt;ak@muc.de&gt;
Signed-off-by: Jeff Dike &lt;jdike@addtoit.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[LIB]: Boyer-Moore extension for textsearch infrastructure strike #2</title>
<updated>2005-08-29T23:11:06Z</updated>
<author>
<name>Pablo Neira Ayuso</name>
<email>pablo@eurodev.net</email>
</author>
<published>2005-08-25T23:12:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8082e4ed0a61da347f1c7f210493c4e9e55c8cd0'/>
<id>urn:sha1:8082e4ed0a61da347f1c7f210493c4e9e55c8cd0</id>
<content type='text'>
Attached the implementation of the Boyer-Moore string search
algorithm for the new textsearch infrastructure.

I've added as well a note about the limitations that this approach
presents, as Thomas has remarked.

Signed-off-by: Pablo Neira Ayuso &lt;pablo@eurodev.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[PATCH] statically link halfmd4</title>
<updated>2005-07-27T23:25:53Z</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@osdl.org</email>
</author>
<published>2005-07-27T18:43:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7e8c9e14e8fdce0af9f5eed7ce6dd26b91fc8f4e'/>
<id>urn:sha1:7e8c9e14e8fdce0af9f5eed7ce6dd26b91fc8f4e</id>
<content type='text'>
For some reason halfmd4 isn't being linked into the kernel any more and
modular ext3 wants it.

So statically link the halfmd4 code into the kernel.

Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[LIB]: textsearch.o needs to be obj-y not lib-y.</title>
<updated>2005-06-24T06:49:52Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2005-06-24T06:49:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=65df877ab2e2328a4704af218efaed0a45176c86'/>
<id>urn:sha1:65df877ab2e2328a4704af218efaed0a45176c86</id>
<content type='text'>
It exports symbols.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[LIB]: Naive finite state machine based textsearch</title>
<updated>2005-06-24T03:59:16Z</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2005-06-24T03:59:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6408f79cce401e1bfecf923e7156f84f96e021e3'/>
<id>urn:sha1:6408f79cce401e1bfecf923e7156f84f96e021e3</id>
<content type='text'>
A finite state machine consists of n states (struct ts_fsm_token)
representing the pattern as a finite automation. The data is read
sequentially on a octet basis. Every state token specifies the number
of recurrences and the type of value accepted which can be either a
specific character or ctype based set of characters. The available
type of recurrences include 1, (0|1), [0 n], and [1 n].

The algorithm differs between strict/non-strict mode specyfing
whether the pattern has to start at the first octect. Strict mode
is enabled by default and can be disabled by inserting
TS_FSM_HEAD_IGNORE as the first token in the chain.

The runtime performance of the algorithm should be around O(n),
however while in strict mode the average runtime can be better.

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[LIB]: Knuth-Morris-Pratt textsearch algorithm</title>
<updated>2005-06-24T03:58:37Z</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2005-06-24T03:58:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=df3fb93ad9ec0b20c785c0ad82d42d159a1af272'/>
<id>urn:sha1:df3fb93ad9ec0b20c785c0ad82d42d159a1af272</id>
<content type='text'>
Implements a linear-time string-matching algorithm due to Knuth,
Morris, and Pratt [1]. Their algorithm avoids the explicit
computation of the transition function DELTA altogether. Its
matching time is O(n), for n being length(text), using just an
auxiliary function PI[1..m], for m being length(pattern),
precomputed from the pattern in time O(m). The array PI allows
the transition function DELTA to be computed efficiently
"on the fly" as needed. Roughly speaking, for any state
"q" = 0,1,...,m and any character "a" in SIGMA, the value
PI["q"] contains the information that is independent of "a" and
is needed to compute DELTA("q", "a") [2]. Since the array PI
has only m entries, whereas DELTA has O(m|SIGMA|) entries, we
save a factor of |SIGMA| in the preprocessing time by computing
PI rather than DELTA.
 
[1] Cormen, Leiserson, Rivest, Stein
    Introdcution to Algorithms, 2nd Edition, MIT Press
[2] See finite automation theory

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[LIB]: Textsearch infrastructure.</title>
<updated>2005-06-24T03:49:30Z</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2005-06-24T03:49:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2de4ff7bd658c97fb357efa3095a509674dacb5a'/>
<id>urn:sha1:2de4ff7bd658c97fb357efa3095a509674dacb5a</id>
<content type='text'>
The textsearch infrastructure provides text searching
facitilies for both linear and non-linear data.
Individual search algorithms are implemented in modules
and chosen by the user.

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
