1. 04 7月, 2006 8 次提交
    • C
      [PATCH] ZVC/zone_reclaim: Leave 1% of unmapped pagecache pages for file I/O · 9614634f
      Christoph Lameter 提交于
      It turns out that it is advantageous to leave a small portion of unmapped file
      backed pages if all of a zone's pages (or almost all pages) are allocated and
      so the page allocator has to go off-node.
      
      This allows recently used file I/O buffers to stay on the node and
      reduces the times that zone reclaim is invoked if file I/O occurs
      when we run out of memory in a zone.
      
      The problem is that zone reclaim runs too frequently when the page cache is
      used for file I/O (read write and therefore unmapped pages!) alone and we have
      almost all pages of the zone allocated.  Zone reclaim may remove 32 unmapped
      pages.  File I/O will use these pages for the next read/write requests and the
      unmapped pages increase.  After the zone has filled up again zone reclaim will
      remove it again after only 32 pages.  This cycle is too inefficient and there
      are potentially too many zone reclaim cycles.
      
      With the 1% boundary we may still remove all unmapped pages for file I/O in
      zone reclaim pass.  However.  it will take a large number of read and writes
      to get back to 1% again where we trigger zone reclaim again.
      
      The zone reclaim 2.6.16/17 does not show this behavior because we have a 30
      second timeout.
      
      [akpm@osdl.org: rename the /proc file and the variable]
      Signed-off-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9614634f
    • B
      [PATCH] SERIAL: allow shared 8250_pnp interrupts · cb6358eb
      Bjorn Helgaas 提交于
      PNP devices can use shared interrupts, so check to see whether we'll need
      SA_SHIRQ for request_irq().
      
      The builtin PDH UART on the HP rx8640 is an example of an ACPI/PNP device
      that uses a shareable level-triggered, active-low interrupt.  The interrupt
      can be shared in very large I/O configurations or by artificially lowering
      IA64_DEF_LAST_DEVICE_VECTOR.
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Adam Belay <ambx1@neo.rr.com>
      Cc: Matthieu Castet <castet.matthieu@free.fr>
      Cc: Li Shaohua <shaohua.li@intel.com>
      Cc: Len Brown <len.brown@intel.com>
      Acked-by: NRussell King <rmk@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      cb6358eb
    • B
      [PATCH] PNPACPI: support shareable interrupts · c32928c5
      Bjorn Helgaas 提交于
      ACPI supplies a "shareable" indication, but PNPACPI ignores it.  If a PNP
      device uses a shared interrupt, request_irq() fails because the PNP driver
      can't tell whether to supply SA_SHIRQ.
      
      This patch allows PNP drivers to test
          (pnp_irq_flags(dev, 0) & IORESOURCE_IRQ_SHAREABLE)
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Adam Belay <ambx1@neo.rr.com>
      Cc: Matthieu Castet <castet.matthieu@free.fr>
      Cc: Li Shaohua <shaohua.li@intel.com>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      c32928c5
    • T
      [PATCH] uml build fix · c61a8416
      Theodore Tso 提交于
      This is needed to fix UML compilation given that alternatives_smp_module_add
      and alternatives_smp_module_del are null inline functions if !CONFIG_SMP.
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      c61a8416
    • A
      [PATCH] bcm43xx: netlink deadlock fix · 6abd219c
      Arjan van de Ven 提交于
      reported by Jure Repinc:
      
      > > http://bugzilla.kernel.org/show_bug.cgi?id=6773
      
      > > checked out dmesg output and found the message
      > >
      > > ======================================================
      > > [ BUG: hard-safe -> hard-unsafe lock order detected! ]
      > > ------------------------------------------------------
      > >
      > > starting at line 660 of the dmesg.txt that I will attach.
      
      The patch below should fix the deadlock, albeit I suspect it's not the
      "right" fix; the right fix may well be to move the rx processing in bcm43xx
      to softirq context.  [it's debatable, ipw2200 hit this exact same bug; at
      some point it's better to bite the bullet and move this to the common layer
      as my patch below does]
      
      Make the nl_table_lock irq-safe; it's taken for read in various netlink
      functions, including functions that several wireless drivers (ipw2200,
      bcm43xx) want to call from hardirq context.
      
      The deadlock was found by the lock validator.
      Signed-off-by: NArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Cc: Michael Buesch <mb@bu3sch.de>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Acked-by: N"David S. Miller" <davem@davemloft.net>
      Cc: jamal <hadi@cyberus.ca>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      6abd219c
    • H
      [PATCH] lockdep: special s390 print_symbol() version · b02454f4
      Heiko Carstens 提交于
      Have a special version of print_symbol() for s390 which clears the most
      significant bit of addr before calling __print_symbol().  This seems to be
      better than checking/changing each place in the kernel that saves an
      instruction pointer.
      
      Without this the output would look like:
      
      hardirqs last  enabled at (30907): [<80018c6a>] 0x80018c6a
      hardirqs last disabled at (30908): [<8001e48c>] 0x8001e48c
      softirqs last  enabled at (30904): [<8001dc96>] 0x8001dc96
      softirqs last disabled at (30897): [<8001dc50>] 0x8001dc50
      
      instead of this:
      
      hardirqs last  enabled at (19421): [<80018c72>] cpu_idle+0x176/0x1c4
      hardirqs last disabled at (19422): [<8001e494>] io_no_vtime+0xa/0x1a
      softirqs last  enabled at (19418): [<8001dc9e>] do_softirq+0xa6/0xe8
      softirqs last disabled at (19411): [<8001dc58>] do_softirq+0x60/0xe8
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b02454f4
    • A
      [PATCH] genirq ia64 cleanup · dada0769
      Andrew Morton 提交于
      Remove duplicate/redundant/wrong  IRQF_PERCPU definition.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      dada0769
    • J
      [PATCH] time initialisation fix · 88fecaa2
      john stultz 提交于
      We're not reay to take a timer interrupt until timekeeping_init() has run.
      But time_init() will start the time interrupt and if it is called with
      local interrupts enabled we'll immediately take an interrupt and die.
      
      Fix that by running timekeeping_init() prior to time_init().
      
      We don't know _why_ local interrupts got enabled on Jesse Brandeburg's
      machine.  That's a separate as-yet-unsolved problem.  THe patch adds a little
      bit of debugging to detect that.
      
      This whole requirement that local interrupts be held off during early boot
      keeps on biting us.
      Signed-off-by: NJohn Stultz <johnstul@us.ibm.com>
      Cc: Jesse Brandeburg <jesse.brandeburg@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      88fecaa2
  2. 03 7月, 2006 32 次提交