1. 15 2月, 2007 1 次提交
  2. 14 2月, 2007 2 次提交
  3. 13 2月, 2007 13 次提交
  4. 12 2月, 2007 1 次提交
    • T
      [PATCH] consolidate line discipline number definitions · 4564f9e5
      Tilman Schmidt 提交于
      The line discipline numbers N_* are currently defined for each architecture
      individually, but (except for a seeming mistake) identically, in
      asm/termios.h.  There is no obvious reason why these numbers should be
      architecture specific, nor any apparent relationship with the termios
      structure.  The total number of these, NR_LDISCS, is defined in linux/tty.h
      anyway.  So I propose the following patch which moves the definitions of
      the individual line disciplines to linux/tty.h too.
      
      Three of these numbers (N_MASC, N_PROFIBUS_FDL, and N_SMSBLOCK) are unused
      in the current kernel, but the patch still keeps the complete set in case
      there are plans to use them yet.
      Signed-off-by: NTilman Schmidt <tilman@imap.cc>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4564f9e5
  5. 10 2月, 2007 1 次提交
  6. 14 12月, 2006 2 次提交
    • R
      [PATCH] Optimize D-cache alias handling on fork · ec8c0446
      Ralf Baechle 提交于
      Virtually index, physically tagged cache architectures can get away
      without cache flushing when forking.  This patch adds a new cache
      flushing function flush_cache_dup_mm(struct mm_struct *) which for the
      moment I've implemented to do the same thing on all architectures
      except on MIPS where it's a no-op.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ec8c0446
    • R
      [PATCH] PM: Fix SMP races in the freezer · 8a102eed
      Rafael J. Wysocki 提交于
      Currently, to tell a task that it should go to the refrigerator, we set the
      PF_FREEZE flag for it and send a fake signal to it.  Unfortunately there
      are two SMP-related problems with this approach.  First, a task running on
      another CPU may be updating its flags while the freezer attempts to set
      PF_FREEZE for it and this may leave the task's flags in an inconsistent
      state.  Second, there is a potential race between freeze_process() and
      refrigerator() in which freeze_process() running on one CPU is reading a
      task's PF_FREEZE flag while refrigerator() running on another CPU has just
      set PF_FROZEN for the same task and attempts to reset PF_FREEZE for it.  If
      the refrigerator wins the race, freeze_process() will state that PF_FREEZE
      hasn't been set for the task and will set it unnecessarily, so the task
      will go to the refrigerator once again after it's been thawed.
      
      To solve first of these problems we need to stop using PF_FREEZE to tell
      tasks that they should go to the refrigerator.  Instead, we can introduce a
      special TIF_*** flag and use it for this purpose, since it is allowed to
      change the other tasks' TIF_*** flags and there are special calls for it.
      
      To avoid the freeze_process()-refrigerator() race we can make
      freeze_process() to always check the task's PF_FROZEN flag after it's read
      its "freeze" flag.  We should also make sure that refrigerator() will
      always reset the task's "freeze" flag after it's set PF_FROZEN for it.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NPavel Machek <pavel@ucw.cz>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Andi Kleen <ak@muc.de>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      8a102eed
  7. 12 12月, 2006 8 次提交
  8. 09 12月, 2006 1 次提交
    • A
      [PATCH] tty: preparatory structures for termios revamp · be90038a
      Alan Cox 提交于
      In order to sort out our struct termios and add proper speed control we need
      to separate the kernel and user termios structures.  Glibc is fine but the
      other libraries rely on the kernel exported struct termios and we need to
      extend this without breaking the ABI/API
      
      To do so we add a struct ktermios which is the kernel view of a termios
      structure and overlaps the struct termios with extra fields on the end for
      now.  (That limitation will go away in later patches).  Some platforms (eg
      alpha) planned ahead and thus use the same struct for both, others did not.
      
      This just adds the structures but does not use them, it seems a sensible
      splitting point for bisect if there are compile failures (not that I expect
      them)
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      be90038a
  9. 08 12月, 2006 3 次提交
  10. 06 12月, 2006 8 次提交
    • J
      sh: sh775x/titan fixes for irq header changes. · ea0f8fea
      Jamie Lenehan 提交于
      The following moves the creation of IPR interupts into setup-7750.c
      and updates a few other things to make it all work after the "Drop
      CPU subtype IRQ headers" commit. It boots and runs fine on my titan
      board.
      
       - adds an ipr_idx to the ipr_data and uses a function in the subtype
         code to calculate the address of the IPR registers
      
       - adds a function to enable individual interrupt mode for externals
         in the subtype code and calls that from the titan board code
         instead of doing it directly.
      
       - I changed the shift in the ipr_data to be the actual # of bits to
         shift, instead of the numnber / 4 - made it easier to match with
         the manual.
      Signed-off-by: NJamie Lenehan <lenehan@twibble.org>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      ea0f8fea
    • P
      sh: Fixup pte_mkhuge() build failure. · 5b67954e
      Paul Mundt 提交于
      When hugetlbpage support isn't enabled, this can be bogus.
      Wrap it back in _PAGE_FLAGS_HARD to avoid changes to the
      base PTE when not aiming for larger sizes.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      5b67954e
    • P
      sh: stacktrace/lockdep/irqflags tracing support. · afbfb52e
      Paul Mundt 提交于
      Wire up all of the essentials for lockdep..
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      afbfb52e
    • P
      sh: Fixup movli.l/movco.l atomic ops for gcc4. · c03c6961
      Paul Mundt 提交于
      gcc4 gets a bit pissy about the outputs:
      
      include/asm/atomic.h: In function 'atomic_add':
      include/asm/atomic.h:37: error: invalid lvalue in asm statement
      include/asm/atomic.h:30: error: invalid lvalue in asm output 1
      ...
      
      this ended up being a thinko anyways, so just fix it up.
      
      Verified for proper behaviour with the older toolchains, too.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      c03c6961
    • P
      sh: dyntick infrastructure. · bd156147
      Paul Mundt 提交于
      This adds basic NO_IDLE_HZ support to the SH timer API so timers
      are able to wire it up. Taken from the ARM version, as it fit in
      to our API with very few changes needed.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      bd156147
    • P
      sh: Clock framework tidying. · 1d118562
      Paul Mundt 提交于
      This syncs up the SH clock framework with the linux/clk.h API,
      for which there were only some minor changes required, namely
      the clk_get() dev_id and subsequent callsites.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      1d118562
    • P
      sh: Fixup various PAGE_SIZE == 4096 assumptions. · 510c72ad
      Paul Mundt 提交于
      There were a number of places that made evil PAGE_SIZE == 4k
      assumptions that ended up breaking when trying to play with
      8k and 64k page sizes, this fixes those up.
      
      The most significant change is the way we load THREAD_SIZE,
      previously this was done via:
      
      	mov	#(THREAD_SIZE >> 8), reg
      	shll8	reg
      
      to avoid a memory access and allow the immediate load. With
      a 64k PAGE_SIZE, we're out of range for the immediate load
      size without resorting to special instructions available in
      later ISAs (movi20s and so on). The "workaround" for this is
      to bump up the shift to 10 and insert a shll2, which gives a
      bit more flexibility while still being much cheaper than a
      memory access.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      510c72ad
    • M
      sh: dma-api channel capability extensions. · db9b99d4
      Mark Glaisher 提交于
      This extends the SH DMA API for allowing handling of DMA
      channels based off of their respective capabilities.
      
      A couple of functions are added to the existing API,
      the core bits are register_chan_caps() for registering
      channel capabilities, and request_dma_bycap() for fetching
      a channel dynamically based off of a capability set.
      Signed-off-by: NMark Glaisher <mark.glaisher@st.com>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      db9b99d4