1. 03 6月, 2011 1 次提交
  2. 29 5月, 2011 1 次提交
    • E
      ns: Wire up the setns system call · 7b21fddd
      Eric W. Biederman 提交于
      32bit and 64bit on x86 are tested and working.  The rest I have looked
      at closely and I can't find any problems.
      
      setns is an easy system call to wire up.  It just takes two ints so I
      don't expect any weird architecture porting problems.
      
      While doing this I have noticed that we have some architectures that are
      very slow to get new system calls.  cris seems to be the slowest where
      the last system calls wired up were preadv and pwritev.  avr32 is weird
      in that recvmmsg was wired up but never declared in unistd.h.  frv is
      behind with perf_event_open being the last syscall wired up.  On h8300
      the last system call wired up was epoll_wait.  On m32r the last system
      call wired up was fallocate.  mn10300 has recvmmsg as the last system
      call wired up.  The rest seem to at least have syncfs wired up which was
      new in the 2.6.39.
      
      v2: Most of the architecture support added by Daniel Lezcano <dlezcano@fr.ibm.com>
      v3: ported to v2.6.36-rc4 by: Eric W. Biederman <ebiederm@xmission.com>
      v4: Moved wiring up of the system call to another patch
      v5: ported to v2.6.39-rc6
      v6: rebased onto parisc-next and net-next to avoid syscall  conflicts.
      v7: ported to Linus's latest post 2.6.39 tree.
      
      >  arch/blackfin/include/asm/unistd.h     |    3 ++-
      >  arch/blackfin/mach-common/entry.S      |    1 +
      Acked-by: NMike Frysinger <vapier@gentoo.org>
      
      Oh - ia64 wiring looks good.
      Acked-by: NTony Luck <tony.luck@intel.com>
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7b21fddd
  3. 25 5月, 2011 1 次提交
    • D
      arch, mm: filter disallowed nodes from arch specific show_mem functions · 7bf02ea2
      David Rientjes 提交于
      Architectures that implement their own show_mem() function did not pass
      the filter argument to show_free_areas() to appropriately avoid emitting
      the state of nodes that are disallowed in the current context.  This patch
      now passes the filter argument to show_free_areas() so those nodes are now
      avoided.
      
      This patch also removes the show_free_areas() wrapper around
      __show_free_areas() and converts existing callers to pass an empty filter.
      
      ia64 emits additional information for each node, so skip_free_areas_zone()
      must be made global to filter disallowed nodes and it is converted to use
      a nid argument rather than a zone for this use case.
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Helge Deller <deller@gmx.de>
      Cc: James Bottomley <jejb@parisc-linux.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7bf02ea2
  4. 19 5月, 2011 1 次提交
    • G
      drivercore: revert addition of of_match to struct device · b1608d69
      Grant Likely 提交于
      Commit b826291c, "drivercore/dt: add a match table pointer to struct
      device" added an of_match pointer to struct device to cache the
      of_match_table entry discovered at driver match time.  This was unsafe
      because matching is not an atomic operation with probing a driver.  If
      two or more drivers are attempted to be matched to a driver at the
      same time, then the cached matching entry pointer could get
      overwritten.
      
      This patch reverts the of_match cache pointer and reworks all users to
      call of_match_device() directly instead.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      b1608d69
  5. 17 5月, 2011 7 次提交
  6. 06 5月, 2011 1 次提交
    • A
      net: Add sendmmsg socket system call · 228e548e
      Anton Blanchard 提交于
      This patch adds a multiple message send syscall and is the send
      version of the existing recvmmsg syscall. This is heavily
      based on the patch by Arnaldo that added recvmmsg.
      
      I wrote a microbenchmark to test the performance gains of using
      this new syscall:
      
      http://ozlabs.org/~anton/junkcode/sendmmsg_test.c
      
      The test was run on a ppc64 box with a 10 Gbit network card. The
      benchmark can send both UDP and RAW ethernet packets.
      
      64B UDP
      
      batch   pkts/sec
      1       804570
      2       872800 (+ 8 %)
      4       916556 (+14 %)
      8       939712 (+17 %)
      16      952688 (+18 %)
      32      956448 (+19 %)
      64      964800 (+20 %)
      
      64B raw socket
      
      batch   pkts/sec
      1       1201449
      2       1350028 (+12 %)
      4       1461416 (+22 %)
      8       1513080 (+26 %)
      16      1541216 (+28 %)
      32      1553440 (+29 %)
      64      1557888 (+30 %)
      
      We see a 20% improvement in throughput on UDP send and 30%
      on raw socket send.
      
      [ Add sparc syscall entries. -DaveM ]
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      228e548e
  7. 22 4月, 2011 14 次提交
  8. 20 4月, 2011 3 次提交
    • S
      sparc32: genirq support · 6baa9b20
      Sam Ravnborg 提交于
      The conversion of sparc32 to genirq is based on original work done
      by David S. Miller.
      Daniel Hellstrom has helped in the conversion and implemented
      the shutdowm functionality.
      Marcel van Nies <morcles@gmail.com> has tested this on Sparc Station 20
      
      Test status:
      sun4c      - not tested
      sun4m,pci  - not tested
      sun4m,sbus - tested (Sparc Classic, Sparc Station 5, Sparc Station 20)
      sun4d      - not tested
      leon       - tested on various combinations of leon boards,
                   including SMP variants
      
      generic
         Introduce use of GENERIC_HARDIRQS and GENERIC_IRQ_SHOW
         Allocate 64 IRQs - which is enough even for SS2000
         Use a table of irq_bucket to maintain uses IRQs
            irq_bucket is also used to chain several irq's that
            must be called when the same intrrupt is asserted
         Use irq_link to link a interrupt source to the irq
         All plafforms must now supply their own build_device_irq method
         handler_irq rewriten to use generic irq support
      
      floppy
         Read FLOPPY_IRQ from platform device
         Use generic request_irq to register the floppy interrupt
         Rewrote sparc_floppy_irq to use the generic irq support
      
      pcic:
         Introduce irq_chip
         Store mask in chip_data for use in mask/unmask functions
         Add build_device_irq for pcic
         Use pcic_build_device_irq in pci_time_init
         allocate virtual irqs in pcic_fill_irq
      
      sun4c:
         Introduce irq_chip
         Store mask in chip_data for use in mask/unmask functions
         Add build_device_irq for sun4c
         Use sun4c_build_device_irq in sun4c_init_timers
      
      sun4m:
         Introduce irq_chip
         Introduce dedicated mask/unmask methods
         Introduce sun4m_handler_data that allow easy access to necessary
           data in the mask/unmask functions
         Add a helper method to enable profile_timer (used from smp)
         Added sun4m_build_device_irq
         Use sun4m_build_device_irq in sun4m_init_timers
      
         TODO:
            There is no replacement for smp_rotate that always scheduled
            next CPU as interrupt target upon an interrupt
      
      sun4d:
         Introduce irq_chip
         Introduce dedicated mask/unmask methods
         Introduce sun4d_handler_data that allow easy access to
         necessary data in mask/unmask fuctions
         Rewrote sun4d_handler_irq to use generic irq support
      
         TODO:
            The original implmentation of enable/disable had:
      
                if (irq < NR_IRQS)
                     return;
      
            The new implmentation does not distingush between SBUS and cpu
            interrupts.
            I am no sure what is right here. I assume we need to do
            something for the cpu interrupts.
      
            I have not succeeded booting my sun4d box (with or without this patch)
            and my understanding of this platfrom is limited.
            So I would be a bit suprised if this works.
      
      leon:
         Introduce irq_chip
         Store mask in chip_data for use in mask/unmask functions
         Add build_device_irq for leon
         Use leon_build_device_irq in leon_init_timers
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NDaniel Hellstrom <daniel@gaisler.com>
      Tested-by: NDaniel Hellstrom <daniel@gaisler.com>
      Tested-by: NMarcel van Nies <morcles@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6baa9b20
    • S
      sparc32: cleanup code for pci init · 06010fb5
      Sam Ravnborg 提交于
      Move the ifdeffery to a header file to make the logic more
      obvious where we decide between PCI or SBUS init
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      06010fb5
    • S
      sparc32,sun4d: rename sbus_tid to board_to_cpu in irq support · db1cdd14
      Sam Ravnborg 提交于
      The new name reflects the actual usage much better.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      db1cdd14
  9. 14 4月, 2011 1 次提交
  10. 31 3月, 2011 3 次提交
  11. 30 3月, 2011 1 次提交
  12. 29 3月, 2011 4 次提交
  13. 25 3月, 2011 2 次提交
    • K
      sparc32: Fix multiple RTC detections on SUN4D · 1c833bc3
      Kjetil Oftedal 提交于
      During the preparation for testing the recent changes made to the SUN4D
      specific code in the kernel by Sam Ravnborg the following was discovered:
      
      Since the removal of of_platform_bus_type (commit: eca39301 )
      multiboard SUN4Ds have not been able to boot. The kernel crashes due to a
      zero-pointer error encountered when registering multiple M48T59 RTCs
      (There is one on each board).
      
      A patch for the was previously submitted, but the problem was not a
      serious at that time, as it would only generate warnings. Now the kernel
      will crash and stop executing before the serial console has been started.
      (Crash output can be viewed by using the -p boot flag)
      Signed-off-by: NKjetil Oftedal <oftedal@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1c833bc3
    • T
      percpu: Always align percpu output section to PAGE_SIZE · 0415b00d
      Tejun Heo 提交于
      Percpu allocator honors alignment request upto PAGE_SIZE and both the
      percpu addresses in the percpu address space and the translated kernel
      addresses should be aligned accordingly.  The calculation of the
      former depends on the alignment of percpu output section in the kernel
      image.
      
      The linker script macros PERCPU_VADDR() and PERCPU() are used to
      define this output section and the latter takes @align parameter.
      Several architectures are using @align smaller than PAGE_SIZE breaking
      percpu memory alignment.
      
      This patch removes @align parameter from PERCPU(), renames it to
      PERCPU_SECTION() and makes it always align to PAGE_SIZE.  While at it,
      add PCPU_SETUP_BUG_ON() checks such that alignment problems are
      reliably detected and remove percpu alignment comment recently added
      in workqueue.c as the condition would trigger BUG way before reaching
      there.
      
      For um, this patch raises the alignment of percpu area.  As the area
      is in .init, there shouldn't be any noticeable difference.
      
      This problem was discovered by David Howells while debugging boot
      failure on mn10300.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: NMike Frysinger <vapier@gentoo.org>
      Cc: uclinux-dist-devel@blackfin.uclinux.org
      Cc: David Howells <dhowells@redhat.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: user-mode-linux-devel@lists.sourceforge.net
      0415b00d