1. 28 Oct, 2005 24 commits
  2. 27 Oct, 2005 8 commits
    • Linus Torvalds's avatar
    • Dave Jones's avatar
      [PATCH] cpufreq: SMP fix for conservative governor · 92732144
      Dave Jones authored
      Don't try to access not-present CPUs.  Conservative governor will always
      oops on SMP without this fix.
      
      Fixes http://bugzilla.kernel.org/show_bug.cgi?id=4781Signed-off-by: default avatarVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      92732144
    • Linus Torvalds's avatar
      Revert "x86-64: Avoid unnecessary double bouncing for swiotlb" · 79b95a45
      Linus Torvalds authored
      Commit id 6142891a
      
      Andi Kleen reports that it seems to break things for some people,
      and since it's purely a small optimization, revert it for now.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      79b95a45
    • Cliff Wickman's avatar
      [IA64] ptrace - find memory sharers on children list · 4ac0068f
      Cliff Wickman authored
      In arch/ia64/kernel/ptrace.c there is a test for a peek or poke of a
      register image (in register backing storage).
      The test can be unnecessarily long (and occurs while holding the tasklist_lock).
      Especially long on a large system with thousands of active tasks.
      
      The ptrace caller (presumably a debugger) specifies the pid of
      its target and an address to peek or poke.  But the debugger could be
      attached to several tasks.
      The idea of find_thread_for_addr() is to find whether the target address
      is in the RBS for any of those tasks.
      
      Currently it searches the thread-list of the target pid.  If that search
      does not find a match, and the shared mm-struct's user count indicates
      that there are other tasks sharing this address space (a rare occurrence),
      a search is made of all the tasks in the system.
      
      Another approach can drastically shorten this procedure.
      It depends upon the fact that in order to peek or poke from/to any task,
      the debugger must first attach to that task.  And when it does, the
      attached task is made a child of the debugger (is chained to its children list).
      
      Therefore we can search just the debugger's children list.
      Signed-off-by: default avatarCliff Wickman <cpw@sgi.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      4ac0068f
    • Dean Roe's avatar
      [IA64] - Avoid slow TLB purges on SGI Altix systems · c1902aae
      Dean Roe authored
      flush_tlb_all() can be a scaling issue on large SGI Altix systems
      since it uses the global call_lock and always executes on all cpus.
      When a process enters flush_tlb_range() to purge TLBs for another
      process, it is possible to avoid flush_tlb_all() and instead allow
      sn2_global_tlb_purge() to purge TLBs only where necessary.
      
      This patch modifies flush_tlb_range() so that this case can be handled
      by platform TLB purge functions and updates ia64_global_tlb_purge()
      accordingly.  sn2_global_tlb_purge() now calculates the region register
      value from the mm argument introduced with this patch.
      Signed-off-by: default avatarDean Roe <roe@sgi.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      c1902aae
    • Herbert Xu's avatar
      [TCP]: Clear stale pred_flags when snd_wnd changes · 2ad41065
      Herbert Xu authored
      This bug is responsible for causing the infamous "Treason uncloaked"
      messages that's been popping up everywhere since the printk was added.
      It has usually been blamed on foreign operating systems.  However,
      some of those reports implicate Linux as both systems are running
      Linux or the TCP connection is going across the loopback interface.
      
      In fact, there really is a bug in the Linux TCP header prediction code
      that's been there since at least 2.1.8.  This bug was tracked down with
      help from Dale Blount.
      
      The effect of this bug ranges from harmless "Treason uncloaked"
      messages to hung/aborted TCP connections.  The details of the bug
      and fix is as follows.
      
      When snd_wnd is updated, we only update pred_flags if
      tcp_fast_path_check succeeds.  When it fails (for example,
      when our rcvbuf is used up), we will leave pred_flags with
      an out-of-date snd_wnd value.
      
      When the out-of-date pred_flags happens to match the next incoming
      packet we will again hit the fast path and use the current snd_wnd
      which will be wrong.
      
      In the case of the treason messages, it just happens that the snd_wnd
      cached in pred_flags is zero while tp->snd_wnd is non-zero.  Therefore
      when a zero-window packet comes in we incorrectly conclude that the
      window is non-zero.
      
      In fact if the peer continues to send us zero-window pure ACKs we
      will continue making the same mistake.  It's only when the peer
      transmits a zero-window packet with data attached that we get a
      chance to snap out of it.  This is what triggers the treason
      message at the next retransmit timeout.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@mandriva.com>
      2ad41065
    • Roland McGrath's avatar
      [PATCH] Yet more posix-cpu-timer fixes · 72ab373a
      Roland McGrath authored
      This just makes sure that a thread's expiry times can't get reset after
      it clears them in do_exit.
      
      This is what allowed us to re-introduce the stricter BUG_ON() check in
      a362f463.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      72ab373a
    • Linus Torvalds's avatar
      Revert "remove false BUG_ON() from run_posix_cpu_timers()" · a362f463
      Linus Torvalds authored
      This reverts commit 3de463c7.
      
      Roland has another patch that allows us to leave the BUG_ON() in place
      by just making sure that the condition it tests for really is always
      true.
      
      That goes in next.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      a362f463
  3. 26 Oct, 2005 8 commits