1. 09 3月, 2010 6 次提交
  2. 15 12月, 2009 1 次提交
  3. 11 12月, 2009 1 次提交
  4. 29 10月, 2009 1 次提交
  5. 13 10月, 2009 1 次提交
    • A
      net: Introduce recvmmsg socket syscall · a2e27255
      Arnaldo Carvalho de Melo 提交于
      Meaning receive multiple messages, reducing the number of syscalls and
      net stack entry/exit operations.
      
      Next patches will introduce mechanisms where protocols that want to
      optimize this operation will provide an unlocked_recvmsg operation.
      
      This takes into account comments made by:
      
      . Paul Moore: sock_recvmsg is called only for the first datagram,
        sock_recvmsg_nosec is used for the rest.
      
      . Caitlin Bestler: recvmmsg now has a struct timespec timeout, that
        works in the same fashion as the ppoll one.
      
        If the underlying protocol returns a datagram with MSG_OOB set, this
        will make recvmmsg return right away with as many datagrams (+ the OOB
        one) it has received so far.
      
      . Rémi Denis-Courmont & Steven Whitehouse: If we receive N < vlen
        datagrams and then recvmsg returns an error, recvmmsg will return
        the successfully received datagrams, store the error and return it
        in the next call.
      
      This paves the way for a subsequent optimization, sk_prot->unlocked_recvmsg,
      where we will be able to acquire the lock only at batch start and end, not at
      every underlying recvmsg call.
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a2e27255
  6. 07 10月, 2009 1 次提交
    • R
      Blackfin: mass clean up of copyright/licensing info · 96f1050d
      Robin Getz 提交于
      Bill Gatliff & David Brownell pointed out we were missing some
      copyrights, and licensing terms in some of the files in
      ./arch/blackfin, so this fixes things, and cleans them up.
      
      It also removes:
       - verbose GPL text(refer to the top level ./COPYING file)
       - file names (you are looking at the file)
       - bug url (it's in the ./MAINTAINERS file)
       - "or later" on GPL-2, when we did not have that right
      
      It also allows some Blackfin-specific assembly files to be under a BSD
      like license (for people to use them outside of Linux).
      Signed-off-by: NRobin Getz <robin.getz@analog.com>
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      96f1050d
  7. 21 9月, 2009 1 次提交
    • I
      perf: Do the big rename: Performance Counters -> Performance Events · cdd6c482
      Ingo Molnar 提交于
      Bye-bye Performance Counters, welcome Performance Events!
      
      In the past few months the perfcounters subsystem has grown out its
      initial role of counting hardware events, and has become (and is
      becoming) a much broader generic event enumeration, reporting, logging,
      monitoring, analysis facility.
      
      Naming its core object 'perf_counter' and naming the subsystem
      'perfcounters' has become more and more of a misnomer. With pending
      code like hw-breakpoints support the 'counter' name is less and
      less appropriate.
      
      All in one, we've decided to rename the subsystem to 'performance
      events' and to propagate this rename through all fields, variables
      and API names. (in an ABI compatible fashion)
      
      The word 'event' is also a bit shorter than 'counter' - which makes
      it slightly more convenient to write/handle as well.
      
      Thanks goes to Stephane Eranian who first observed this misnomer and
      suggested a rename.
      
      User-space tooling and ABI compatibility is not affected - this patch
      should be function-invariant. (Also, defconfigs were not touched to
      keep the size down.)
      
      This patch has been generated via the following script:
      
        FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')
      
        sed -i \
          -e 's/PERF_EVENT_/PERF_RECORD_/g' \
          -e 's/PERF_COUNTER/PERF_EVENT/g' \
          -e 's/perf_counter/perf_event/g' \
          -e 's/nb_counters/nb_events/g' \
          -e 's/swcounter/swevent/g' \
          -e 's/tpcounter_event/tp_event/g' \
          $FILES
      
        for N in $(find . -name perf_counter.[ch]); do
          M=$(echo $N | sed 's/perf_counter/perf_event/g')
          mv $N $M
        done
      
        FILES=$(find . -name perf_event.*)
      
        sed -i \
          -e 's/COUNTER_MASK/REG_MASK/g' \
          -e 's/COUNTER/EVENT/g' \
          -e 's/\<event\>/event_id/g' \
          -e 's/counter/event/g' \
          -e 's/Counter/Event/g' \
          $FILES
      
      ... to keep it as correct as possible. This script can also be
      used by anyone who has pending perfcounters patches - it converts
      a Linux kernel tree over to the new naming. We tried to time this
      change to the point in time where the amount of pending patches
      is the smallest: the end of the merge window.
      
      Namespace clashes were fixed up in a preparatory patch - and some
      stylistic fallout will be fixed up in a subsequent patch.
      
      ( NOTE: 'counters' are still the proper terminology when we deal
        with hardware registers - and these sed scripts are a bit
        over-eager in renaming them. I've undone some of that, but
        in case there's something left where 'counter' would be
        better than 'event' we can undo that on an individual basis
        instead of touching an otherwise nicely automated patch. )
      Suggested-by: NStephane Eranian <eranian@google.com>
      Acked-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NPaul Mackerras <paulus@samba.org>
      Reviewed-by: NArjan van de Ven <arjan@linux.intel.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: <linux-arch@vger.kernel.org>
      LKML-Reference: <new-submission>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      cdd6c482
  8. 17 9月, 2009 8 次提交
  9. 16 7月, 2009 1 次提交
  10. 23 6月, 2009 1 次提交
  11. 13 6月, 2009 2 次提交
  12. 12 6月, 2009 2 次提交
    • R
      Blackfin: make deferred hardware errors more exact · b9a3899d
      Robin Getz 提交于
      Hardware errors on the Blackfin architecture are queued by nature of the
      hardware design.  Things that could generate a hardware level queue up at
      the system interface and might not process until much later, at which
      point the system would send a notification back to the core.
      
      As such, it is possible for user space code to do something that would
      trigger a hardware error, but have it delay long enough for the process
      context to switch.  So when the hardware error does signal, we mistakenly
      evaluate it as a different process or as kernel context and panic (erp!).
      This makes it pretty difficult to find the offending context.  But wait,
      there is good news somewhere.
      
      By forcing a SSYNC in the interrupt entry, we force all pending queues at
      the system level to be processed and all hardware errors to be signaled.
      Then we check the current interrupt state to see if the hardware error is
      now signaled.  If so, we re-queue the current interrupt and return thus
      allowing the higher priority hardware error interrupt to process properly.
      Since we haven't done any other context processing yet, the right context
      will be selected and killed.  There is still the possibility that the
      exact offending instruction will be unknown, but at least we'll have a
      much better idea of where to look.
      
      The downside of course is that this causes system-wide syncs at every
      interrupt point which results in significant performance degradation.
      Since this situation should not occur in any properly configured system
      (as hardware errors are triggered by things like bad pointers), make it a
      debug configuration option and disable it by default.
      Signed-off-by: NRobin Getz <robin.getz@analog.com>
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      b9a3899d
    • G
      Blackfin: fix link failure due to CONFIG_EXCEPTION_L1_SCRATCH · f82e0a0c
      Graf Yang 提交于
      Move exception stack mess from entry.S to init.c to fix link failure when
      CONFIG_EXCEPTION_L1_SCRATCH is in use.
      Signed-off-by: NGraf Yang <graf.yang@analog.com>
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      Signed-off-by: NBryan Wu <cooloney@kernel.org>
      f82e0a0c
  13. 27 5月, 2009 1 次提交
  14. 04 3月, 2009 1 次提交
  15. 04 2月, 2009 1 次提交
  16. 07 1月, 2009 1 次提交
    • B
      Blackfin arch: Faster C implementation of no-MPU CPLB handler · dbdf20db
      Bernd Schmidt 提交于
      This is a mixture ofcMichael McTernan's patch and the existing cplb-mpu code.
      
      We ditch the old cplb-nompu implementation, which is a good example of
      why a good algorithm in a HLL is preferrable to a bad algorithm written in
      assembly.  Rather than try to construct a table of all posible CPLBs and
      search it, we just create a (smaller) table of memory regions and
      their attributes.  Some of the data structures are now unified for both
      the mpu and nompu cases.  A lot of needless complexity in cplbinit.c is
      removed.
      
      Further optimizations:
        * compile cplbmgr.c with a lot of -ffixed-reg options, and omit saving
          these registers on the stack when entering a CPLB exception.
        * lose cli/nop/nop/sti sequences for some workarounds - these don't
        * make
          sense in an exception context
      
      Additional code unification should be possible after this.
      
      [Mike Frysinger <vapier.adi@gmail.com>:
       - convert CPP if statements to C if statements
       - remove redundant statements
       - use a do...while loop rather than a for loop to get slightly better
         optimization and to avoid gcc "may be used uninitialized" warnings ...
         we know that the [id]cplb_nr_bounds variables will never be 0, so this
         is OK
       - the no-mpu code was the last user of MAX_MEM_SIZE and with that rewritten,
         we can punt it
       - add some BUG_ON() checks to make sure we dont overflow the small
         cplb_bounds array
       - add i/d cplb entries for the bootrom because there is functions/data in
         there we want to access
       - we do not need a NULL trailing entry as any time we access the bounds
         arrays, we use the nr_bounds variable
      ]
      Signed-off-by: NMichael McTernan <mmcternan@airvana.com>
      Signed-off-by: NMike Frysinger <vapier.adi@gmail.com>
      Signed-off-by: NBernd Schmidt <bernds_cb1@t-online.de>
      Signed-off-by: NBryan Wu <cooloney@kernel.org>
      dbdf20db
  17. 18 11月, 2008 3 次提交
  18. 07 1月, 2009 1 次提交
  19. 28 10月, 2008 2 次提交
  20. 09 10月, 2008 2 次提交
  21. 13 10月, 2008 1 次提交
  22. 08 10月, 2008 1 次提交