1. 19 May, 2003 30 commits
    • Ingo Molnar's avatar
      [PATCH] signal latency fixes · 79e4dd94
      Ingo Molnar authored
      This fixes an SMP window where the kernel could miss to handle a signal,
      and increase signal delivery latency up to 200 msecs.  Sun has reported
      to Ulrich that their JVM sees occasional unexpected signal delays under
      Linux.  The more CPUs, the more delays.
      
      The cause of the problem is that the current signal wakeup
      implementation is racy in kernel/signal.c:signal_wake_up():
      
              if (t->state == TASK_RUNNING)
                      kick_if_running(t);
      	...
              if (t->state & mask) {
                      wake_up_process(t);
                      return;
              }
      
      If thread (or process) 't' is woken up on another CPU right after the
      TASK_RUNNING check, and thread starts to run, then the wake_up_process()
      here will do nothing, and the signal stays pending up until the thread
      will call into the kernel next time - which can be up to 200 msecs
      later.
      
      The solution is to do the 'kicking' of a running thread on a remote CPU
      atomically with the wakeup.  For this i've added wake_up_process_kick().
      There is no slowdown for the other wakeup codepaths, the new flag to
      try_to_wake_up() is compiled off for them.  Some other subsystems might
      want to use this wakeup facility as well in the future (eg.  AIO).
      
      In fact this race triggers quite often under Volanomark rusg, with this
      change added, Volanomark performance is up from 500-800 to 2000-3000, on
      a 4-way x86 box.
      79e4dd94
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/net-2.5 · bf4928ae
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      bf4928ae
    • Andrew Morton's avatar
      [PATCH] DAC960 oops fix · 2685d137
      Andrew Morton authored
      ioctl_by_bdev() passes in a NULL file*, so we had better not dereference it.
      2685d137
    • Andrew Morton's avatar
      [PATCH] put_page_testzero() fix · c6c9afeb
      Andrew Morton authored
      From: William Lee Irwin III <wli@holomorphy.com>
      
      put_page_testzero() does BUG_ON(page_count(page)) when its argument is p.
      c6c9afeb
    • Andrew Morton's avatar
      [PATCH] fix handling of spares physical APIC ids · 344bf5a0
      Andrew Morton authored
      From: William Lee Irwin III <wli@holomorphy.com>
      
      To handle sparse physical APIC ID's properly the phys_cpu_present_map must
      be scanned beyond bit NR_CPUS while ensuring no more than NR_CPUS are woken
      in order not to attempt to wake non-addressible cpus.
      
      The following patch adds that logic to smp_boot_cpus() and corrects the
      failure to wake secondaries reported by dhowells, with successful wakeup,
      runtime, reboot, and halting reported after it was applied.
      344bf5a0
    • Andrew Morton's avatar
      [PATCH] CONFIG_ACPI_SLEEP compile fix · 944da977
      Andrew Morton authored
      From: mikpe@csd.uu.se
      
      When I grepped for these variables I failed to notice the references in
      acpi/wakeup.S.  This patch fixes this.
      944da977
    • Andrew Morton's avatar
      [PATCH] 3c59x: add support for 3c905B-T4, 3C920B-EMB-WNM · a232f26e
      Andrew Morton authored
      A couple of new PCI IDs which were found in 3com's driver by Xose Vazquez
      Perez <xose@wanadoo.es>.
      
      We don't know if these work, but if they are really 905B's and 920's it
      should be OK.
      a232f26e
    • Andrew Morton's avatar
      [PATCH] BUG() -> BUG_ON() conversions. · 6a058b40
      Andrew Morton authored
      From: davej@codemonkey.org.uk
      
      Various performance critical sections.
      
      The increased cache footprint may be a pessimisation, especially on earlier
      CPUs where unlikely() doesn't do anything useful, and we fall back to
      trusting gcc to DTRT.
      6a058b40
    • Andrew Morton's avatar
      [PATCH] memcpy/memset fixes · 68286bb8
      Andrew Morton authored
      Fix some places which were doing
      
      	memcpy(to, from, sizeof(to));
      and
      	memset(to, 0, sizeof(to));
      
      Found by the Stanford checker.
      68286bb8
    • Andrew Morton's avatar
      [PATCH] use %p to print pointers in cs4281 · 9200f0ce
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      This is a really old patch from the IA64 tree and as Cirrus Logic doesn't
      maintain the driver anymore for about two years now no one picked it up..
      9200f0ce
    • Andrew Morton's avatar
      [PATCH] radeonfb.c 64-bit fixes · 81d0ce81
      Andrew Morton authored
      From: David Mosberger <davidm@napali.hpl.hp.com>
      
      Don't truncate the ioremap return value to 32-bits.
      81d0ce81
    • Andrew Morton's avatar
      [PATCH] fix tuner.c and tda9887.c · d1d3c2f7
      Andrew Morton authored
      From: Shane Shrybman <shrybman@sympatico.ca>
      
      Attached are two patches that make bttv compile and work in 2.5.69-mm6.  I
      think this broke in -mm4.
      d1d3c2f7
    • Andrew Morton's avatar
      [PATCH] v4l: #7 - saa7134 driver update · d5b973d7
      Andrew Morton authored
      From: Gerd Knorr <kraxel@bytesex.org>
      
      Yet another big one (due to not being updated for a long time) -- saa7134
      driver update.  Changes:
      
       * various bugfixes / cleanups.
      
       * new cards added to the cardlist.
      
       * started support for saa7133/35 chips.
      
       * make the driver check pci quirks.
      d5b973d7
    • Andrew Morton's avatar
      [PATCH] v4l: #6 - tuner module update · 2b270c40
      Andrew Morton authored
      From: Gerd Knorr <kraxel@bytesex.org>
      
      This patch updates the tv card tuner module.  It adds support for a new tuner
      and has some minor fixes + cleanups.  Also deletes some dead code.
      2b270c40
    • Andrew Morton's avatar
      [PATCH] v4l: #5 - i2c module updates. · 7c39c153
      Andrew Morton authored
      From: Gerd Knorr <kraxel@bytesex.org>
      
      This patch updates a number of video4linux-related i2c modules.  There are a
      number of bugfixes which accumulated over time, also some no-op i2c changes
      due to merging the i2c cleanups back into my tree and tweak them to make the
      modules compile on both 2.5.x and 2.4.x.
      7c39c153
    • Andrew Morton's avatar
      [PATCH] v4l: #4 - bttv docmentation update · e508ffb3
      Andrew Morton authored
      From: Gerd Knorr <kraxel@bytesex.org>
      
      This patch updates the bttv documentation.
      e508ffb3
    • Andrew Morton's avatar
      [PATCH] v4l: #2 - v4l1-compat update · d7ee0355
      Andrew Morton authored
      From: Gerd Knorr <kraxel@bytesex.org>
      
      This patch updates the v4l1-compat module.  Changes:
      
       * use f_op->poll() instead of do_select()
      
       * reduce stack usage of the v4l1_translate_ioctl() function.
      
       * misc minor fixes here and there.
      d7ee0355
    • Andrew Morton's avatar
      [PATCH] v4l: #1 - video-buf update · 868bec44
      Andrew Morton authored
      From: Gerd Knorr <kraxel@bytesex.org>
      
      This minor patch updates the video-buf module.  It just adds a export
      for the videobuf_next_field function and adds some debug printk's.
      868bec44
    • Andrew Morton's avatar
      [PATCH] Fix for latent bug in vmtruncate() · 98063ca7
      Andrew Morton authored
      From: "Paul E. McKenney" <paulmck@us.ibm.com>
      
      The vmtruncate() function shifts down by PAGE_CACHE_SHIFT, then calls
      vmtruncate_list(), which deals in terms of PAGE_SHIFT instead.  Currently,
      no harm done, since PAGE_CACHE_SHIFT and PAGE_SHIFT are identical.  Some
      day they might not be, hence this patch.
      
      I also took the liberty of modifying a hand-coded "if" that seems to
      optimize for files that are not mapped to instead use unlikely().
      98063ca7
    • Andrew Morton's avatar
      [PATCH] fix CONFIG_APM=m · e432a562
      Andrew Morton authored
      From: mikpe@csd.uu.se
      
      Here is a patch to fix CONFIG_APM=m in 2.5.69-bk11.  My patch to have APM
      restore the systenter MSRs failed to handle the modular case, which fails
      with unresolved symbols.
      
      Since suspend.o is used from both APM (module or built-in) and ACPI sleep
      (built-in), I made suspend.o built-in and dependent on CONFIG_PM.
      e432a562
    • Andrew Morton's avatar
      [PATCH] reiserfs: reiserfs_file_write implementation · afd64673
      Andrew Morton authored
      From: Oleg Drokin <green@namesys.com>
      
      With the current 'one block at a time' algorithm, writes past the end of a
      file are slow because each new file block is separately added into the tree
      causing shifting of other items which is CPU expensive.
      
      With this new implementation if you write into file with big enough chunks,
      it uses half as much CPU.  Also this version is more SMP friendly than the
      current one.
      
      There are some known-bad applications that break with this patch (ie.  start
      to work very slow or even hang).
      
      This is because the filesystem returns a large value in the stat.st_blocksize
      hint (128k instead of 4k).  This tickles a small number of application bugs.
      One is KDE's kmail 3.04 (fixed by upgrading to 3.1+) and the other is
      sleepycat's database from before 1997.
      
      If you hit a slowdown problem that you believe is related to the increased
      "recommended i/o size" value, try to mount your fs with nolargeio=1 mount
      option (remount should work too).
      
      This patch exports block_commit_write(), generic_osync_inode() and
      remove_suid() to modules.
      afd64673
    • Andrew Morton's avatar
      [PATCH] reiserfs: allow multiple block insertion into the tree · a61638bc
      Andrew Morton authored
      I've had these reiserfs patches in -mm for many months.  We've been
      undecided because they trigger bugs in a couple of apps.  But those apps
      are now fixed, so it's best to get these speedups in.
      
      
      From: Oleg Drokin <green@namesys.com>
      
      This patch allows insertion of more than one "indirect" block pointer into
      the tree in reiserfs.  (with all the necessary balancing code changes).
      The first user of that feature is hole-creation code that is now ~1000
      times more cpu-efficient for the case of large holes.
      a61638bc
    • Andrew Morton's avatar
      [PATCH] 3c59x irqreturn fix · 130a14f4
      Andrew Morton authored
      Apparently boomerang_interrupt() is generating lots of "nobody cared"
      warnings - one per packet it seems.  Frankly, I don't have a clue why.
      
      These are ancient cards and the driver is otherwise stable, so just
      change it to return IRQ_HANDLED and move on...
      130a14f4
    • Andrew Morton's avatar
      [PATCH] large-dma_addr_t-PAE-only.patch · 03feb9db
      Andrew Morton authored
      From: William Lee Irwin III <wli@holomorphy.com>
      
      I was just looking over this and noticed 2.4.x makes u64 dma_addr_t
      conditional on CONFIG_HIGHMEM64G where 2.5.x uses CONFIG_HIGHMEM.  It's
      clearly not necessary on CONFIG_HIGHMEM4G, hence this obvious patch.
      03feb9db
    • Andrew Morton's avatar
      [PATCH] misc fixes · 20db33b0
      Andrew Morton authored
       - generic_file_open() comment fix (Bill Irwin)
      
       - kerneldoc fix in truncate.c (Aniruddha M Marathe)
      
       - remove truncate debug check.
      
       - page_lock comment fix (Robert Love)
      
       - remove unused device mapper label.
      
       - 3c509 docco fix ("Mark Tranchant" <mark@tranchant.freeserve.co.uk>)
      
      --
      
       Documentation/networking/3c509.txt |    2 +-
       drivers/md/dm-ioctl.c              |    1 -
       fs/open.c                          |    2 +-
       include/linux/fs.h                 |    2 +-
       mm/truncate.c                      |    8 +++-----
       5 files changed, 6 insertions(+), 9 deletions(-)
      20db33b0
    • Andrew Morton's avatar
      [PATCH] ppp warning fix · b0e3e46a
      Andrew Morton authored
      Fix an accidentally negated comparison.
      b0e3e46a
    • Andrew Morton's avatar
      [PATCH] [patch 4/29 voyager cpu_callout_map fix · 4fab9d40
      Andrew Morton authored
      From: Martin Bligh
      
      Change the defn of cpu_callout_map for voyager to volatile to match other
      stuff.
      4fab9d40
    • Andrew Morton's avatar
      [PATCH] genarch cpu_mask_to_apicid fix · d289b074
      Andrew Morton authored
      From: Martin Bligh
      
      Add cpu_mask_to_apicid to generic arch to fit with Keith's changes.
      d289b074
    • Andrew Morton's avatar
      [PATCH] ia32 subarch circular dependency fix · 80d21417
      Andrew Morton authored
      From: john stultz <johnstul@us.ibm.com>
      
      This patch fixes a circular dependency (a function in mach_apic.h requires
      hard_smp_processor_id() and hard_smp_processor_id() requires macros from
      mach_apic.h) that has been in the subarch code for a bit, but was hacked
      around with some #ifdefs.
      
      With the inclusion of the generic-subarch the hack was dropped and bigsmp
      and summit promptly broke.  So this makes things compile again.
      80d21417
    • Andrew Morton's avatar
      [PATCH] sysfs_create_link() fix · a209bc78
      Andrew Morton authored
      It is incorrectly precalculating the string's length.
      a209bc78
  2. 17 May, 2003 10 commits