1. 14 7月, 2010 1 次提交
  2. 08 3月, 2010 1 次提交
    • L
      Revert "lib: build list_sort() only if needed" · b8fa0571
      Linus Torvalds 提交于
      This reverts commit a069c266.
      
      It turns ou that not only was it missing a case (XFS) that needed it,
      but perhaps more importantly, people sometimes want to enable new
      modules that they hadn't had enabled before, and if such a module uses
      list_sort(), it can't easily be inserted any more.
      
      So rather than add a "select LIST_SORT" to the XFS case, just leave it
      compiled in.  It's not all _that_ big, after all, and the inconvenience
      isn't worth it.
      Requested-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Don Mullis <don.mullis@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Dave Chinner <david@fromorbit.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b8fa0571
  3. 07 3月, 2010 1 次提交
  4. 12 1月, 2010 1 次提交
  5. 21 11月, 2009 1 次提交
  6. 29 10月, 2009 1 次提交
  7. 02 10月, 2009 1 次提交
  8. 15 6月, 2009 1 次提交
    • P
      lib: Provide generic atomic64_t implementation · 09d4e0ed
      Paul Mackerras 提交于
      Many processor architectures have no 64-bit atomic instructions, but
      we need atomic64_t in order to support the perf_counter subsystem.
      
      This adds an implementation of 64-bit atomic operations using hashed
      spinlocks to provide atomicity.  For each atomic operation, the address
      of the atomic64_t variable is hashed to an index into an array of 16
      spinlocks.  That spinlock is taken (with interrupts disabled) around the
      operation, which can then be coded non-atomically within the lock.
      
      On UP, all the spinlock manipulation goes away and we simply disable
      interrupts around each operation.  In fact gcc eliminates the whole
      atomic64_lock variable as well.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      09d4e0ed
  9. 11 6月, 2009 1 次提交
  10. 07 3月, 2009 1 次提交
  11. 04 3月, 2009 1 次提交
  12. 16 1月, 2009 1 次提交
    • P
      sched: make plist a library facility · ceacc2c1
      Peter Zijlstra 提交于
      Ingo Molnar wrote:
      
      > here's a new build failure with tip/sched/rt:
      >
      >   LD      .tmp_vmlinux1
      > kernel/built-in.o: In function `set_curr_task_rt':
      > sched.c:(.text+0x3675): undefined reference to `plist_del'
      > kernel/built-in.o: In function `pick_next_task_rt':
      > sched.c:(.text+0x37ce): undefined reference to `plist_del'
      > kernel/built-in.o: In function `enqueue_pushable_task':
      > sched.c:(.text+0x381c): undefined reference to `plist_del'
      
      Eliminate the plist library kconfig and make it available
      unconditionally.
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ceacc2c1
  13. 07 1月, 2009 1 次提交
  14. 06 1月, 2009 1 次提交
  15. 01 1月, 2009 2 次提交
  16. 25 12月, 2008 2 次提交
  17. 13 12月, 2008 1 次提交
  18. 17 10月, 2008 1 次提交
  19. 12 7月, 2008 1 次提交
  20. 27 4月, 2008 1 次提交
    • A
      x86, bitops: select the generic bitmap search functions · 19870def
      Alexander van Heukelum 提交于
      Introduce GENERIC_FIND_FIRST_BIT and GENERIC_FIND_NEXT_BIT in
      lib/Kconfig, defaulting to off. An arch that wants to use the
      generic implementation now only has to use a select statement
      to include them.
      
      I added an always-y option (X86_CPU) to arch/x86/Kconfig.cpu
      and used that to select the generic search functions. This
      way ARCH=um SUBARCH=i386 automatically picks up the change
      too, and arch/um/Kconfig.i386 can therefore be simplified a
      bit. ARCH=um SUBARCH=x86_64 does things differently, but
      still compiles fine. It seems that a "def_bool y" always
      wins over a "def_bool n"?
      Signed-off-by: NAlexander van Heukelum <heukelum@fastmail.fm>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      19870def
  21. 14 2月, 2008 1 次提交
  22. 23 8月, 2007 1 次提交
  23. 18 7月, 2007 1 次提交
  24. 11 7月, 2007 1 次提交
  25. 11 5月, 2007 1 次提交
  26. 08 5月, 2007 1 次提交
    • H
      Introduce CONFIG_HAS_DMA · 411f0f3e
      Heiko Carstens 提交于
      Architectures that don't support DMA can say so by adding a config NO_DMA
      to their Kconfig file.  This will prevent compilation of some dma specific
      driver code.  Also dma-mapping-broken.h isn't needed anymore on at least
      s390.  This avoids compilation and linking of otherwise dead/broken code.
      
      Other architectures that include dma-mapping-broken.h are arm26, h8300,
      m68k, m68knommu and v850.  If these could be converted as well we could get
      rid of the header file.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      "John W. Linville" <linville@tuxdriver.com>
      Cc: Kyle McMartin <kyle@parisc-linux.org>
      Cc: <James.Bottomley@SteelEye.com>
      Cc: Tejun Heo <htejun@gmail.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: <geert@linux-m68k.org>
      Cc: <zippel@linux-m68k.org>
      Cc: <spyro@f2s.com>
      Cc: <uclinux-v850@lsi.nec.co.jp>
      Cc: <ysato@users.sourceforge.jp>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      411f0f3e
  27. 12 2月, 2007 1 次提交
    • A
      [PATCH] sort the devres mess out · 5ea81769
      Al Viro 提交于
      * Split the implementation-agnostic stuff in separate files.
      * Make sure that targets using non-default request_irq() pull
        kernel/irq/devres.o
      * Introduce new symbols (HAS_IOPORT and HAS_IOMEM) defaulting to positive;
        allow architectures to turn them off (we needed these symbols anyway for
        dependencies of quite a few drivers).
      * protect the ioport-related parts of lib/devres.o with CONFIG_HAS_IOPORT.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5ea81769
  28. 14 12月, 2006 1 次提交
  29. 09 12月, 2006 2 次提交
  30. 12 9月, 2006 1 次提交
  31. 28 6月, 2006 1 次提交
  32. 09 9月, 2005 1 次提交
  33. 30 8月, 2005 2 次提交
  34. 25 6月, 2005 1 次提交
  35. 24 6月, 2005 2 次提交
    • T
      [LIB]: Naive finite state machine based textsearch · 6408f79c
      Thomas Graf 提交于
      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: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6408f79c
    • T
      [LIB]: Knuth-Morris-Pratt textsearch algorithm · df3fb93a
      Thomas Graf 提交于
      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: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      df3fb93a