1. 27 2月, 2009 6 次提交
    • I
      Merge branch 'sched/clock' into tracing/ftrace · 5d0859ce
      Ingo Molnar 提交于
      Conflicts:
      	kernel/sched_clock.c
      5d0859ce
    • I
      x86: set X86_FEATURE_TSC_RELIABLE · 83ce4009
      Ingo Molnar 提交于
      If the TSC is constant and non-stop, also set it reliable.
      
      (We will turn this off in DMI quirks for multi-chassis systems)
      
      The performance number on a 16-way Nehalem system running
      32 tasks that context-switch between each other is significant:
      
         sched_clock_stable=0		sched_clock_stable=1
         ....................         ....................
         22.456925 million/sec        24.306972 million/sec   [+8.2%]
      
      lmbench's "lat_ctx -s 0 2" goes from 0.63 microseconds to
      0.59 microseconds - a 6.7% increase in context-switching
      performance.
      
      Perfstat of 1 million pipe context switches between two tasks:
      
       Performance counter stats for './pipe-test-1m':
      
             [before]           [after]
         ............      ............
         37621.421089      36436.848378    task clock ticks     (msecs)
      
                    0                 0    CPU migrations       (events)
              2000274           2000189    context switches     (events)
                  194               193    pagefaults           (events)
           8433799643        8171016416    CPU cycles           (events) -3.21%
           8370133368        8180999694    instructions         (events) -2.31%
              4158565           3895941    cache references     (events) -6.74%
                44312             46264    cache misses         (events)
      
          2349.287976       2279.362465    wall-time            (msecs)  -3.06%
      
      The speedup comes straight from the reduction in the instruction
      count. sched_clock_cpu() got simpler and the whole workload thus
      executes faster.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      83ce4009
    • I
      sched: allow architectures to specify sched_clock_stable · b342501c
      Ingo Molnar 提交于
      Allow CONFIG_HAVE_UNSTABLE_SCHED_CLOCK architectures to still specify
      that their sched_clock() implementation is reliable.
      
      This will be used by x86 to switch on a faster sched_clock_cpu()
      implementation on certain CPU types.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b342501c
    • I
      tracing: implement trace_clock_*() APIs · 14131f2f
      Ingo Molnar 提交于
      Impact: implement new tracing timestamp APIs
      
      Add three trace clock variants, with differing scalability/precision
      tradeoffs:
      
       -   local: CPU-local trace clock
       -  medium: scalable global clock with some jitter
       -  global: globally monotonic, serialized clock
      
      Make the ring-buffer use the local trace clock internally.
      Acked-by: NPeter Zijlstra <peterz@infradead.org>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      14131f2f
    • I
      sched: sched_clock() improvement: use in_nmi() · 6409c4da
      Ingo Molnar 提交于
      make sure we dont execute more complex sched_clock() code in NMI context.
      Acked-by: NPeter Zijlstra <peterz@infradead.org>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      6409c4da
    • J
      tracing, genirq: add irq enter and exit trace events · af39241b
      Jason Baron 提交于
      Impact: add new tracepoints
      
      Add them to the generic IRQ code, that way every architecture
      gets these new tracepoints, not just x86.
      
      Using Steve's new 'TRACE_FORMAT', I can get function graph
      trace as follows using the original two IRQ tracepoints:
      
       3)               |    handle_IRQ_event() {
       3)               |    /* (irq_handler_entry) irq=28 handler=eth0 */
       3)               |    e1000_intr_msi() {
       3)   2.460 us    |      __napi_schedule();
       3)   9.416 us    |    }
       3)               |    /* (irq_handler_exit) irq=28 handler=eth0 return=handled */
       3) + 22.935 us   |  }
      Signed-off-by: NJason Baron <jbaron@redhat.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Acked-by: NPeter Zijlstra <peterz@infradead.org>
      Acked-by: NMasami Hiramatsu <mhiramat@redhat.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Mathieu Desnoyers <compudj@krystal.dyndns.org>
      Cc: "Frank Ch. Eigler" <fche@redhat.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      af39241b
  2. 26 2月, 2009 5 次提交
  3. 25 2月, 2009 23 次提交
  4. 24 2月, 2009 6 次提交
    • S
      firedtv: massive refactoring · 15490795
      Stefan Richter 提交于
      Combination of the following changes:
      
      Mon, 23 Feb 2009 14:21:10 +0100 (CET)
      firedtv: reinstate debug logging option
      
          Henrik Kurelid tells me that FCP debug logging (which I removed during
          cleanups) is still useful when working on driver issues together with
          end users.  So bring it back in an updated form with only 60% of the
          original code footprint.
      
          Logging can be enabled with
          # echo -1 > /sys/module/firedtv/parameters/debug
      
          1 instead of -1 enables only FCP header logging,
          2 instead of -1 enables only hexdumps of the entire FCP frames.
          0 switches logging off again.
      
      Fri, 20 Feb 2009 20:54:27 +0100 (CET)
      firedtv: build fix for INPUT=m and DVB_FIREDTV=y
      
      Thu, 19 Feb 2009 20:40:39 +0100
      firedtv: use msecs_to_jiffies
      
          Pointed out by Mauro Carvalho Chehab.
      
      Sun Feb 15 20:50:46 CET 2009
      firedtv: some more housekeeping
      
          Fix an old checkpatch warning and a new compiler warning.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: rename a file once more
      
          At the moment, about a third of avc.c is specific to FireDTVs rather
          than generic AV/C code.  Rename it to firedtv-avc.c.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: more compact channels backing store
      
          Replace struct firedtv_channel { bool active; int pid; } channel[16];
          by unsigned long channel_active; u16 channel_pid[16];.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: some simplifications
      
          c->active was unnecessarily cleared twice.
      
          Also, by marking the channel inactive before the for loop,
          the loop becomes identical with fdtv_channel_collect().
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: remove a bogus loop
      
          This loop is unnecessary because
            - only active channel[].pid's will be sent to the device,
            - when a channel is activated, its pid is set to dvbdmxfeed->pid.
      
          Perhaps the original code was there because it was initially not fully
          covered by the fdtv->demux_mutex.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: fix mutex protection
      
          fdtv_start_feed() accessed the channel list unsafely.
          Fully serialize it with itself and fdtv_stop_feed().
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: fix missing braces
      
          Original code was:
                  ...
                  case DMX_TS_PES_OTHER:
                          //Dirty fix to keep firesat->channel pid-list up to date
                          for(k=0;k<16;k++){
                                  if(firesat->channel[k].active == 0)
                                          firesat->channel[k].pid =
                                                  dvbdmxfeed->pid;
                                          break;
                          }
                          channel = firesat_channel_allocate(firesat);
                          break;
                  default:
                  ...
      
          Looks bogus in several respects. For now let's just add braces to the if
          because that seems to be what the author meant.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: allow build without input subsystem
      
          !CONFIG_INPUT is very unlikely on systems on which firedtv is of
          interest.  But we can easily support it.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: replace EXTRA_CFLAGS by ccflags
      
          The former are deprecated.
          The latter can depend on Kconfig variables.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: concentrate ieee1394 dependencies
      
          Move the entire interface with drivers/ieee1394 to firedtv-1394.c.
          Move 1394-independent module initialization code to firedtv-dvb.c.
      
          This prepares interfacing with drivers/firewire.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: amend Kconfig menu prompt
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: remove kernel version compatibility macro
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: combine header files
      
          avc.h and firedtv-*.h are small and currently not shared with other
          drivers, hence concatenate them all into firedtv.h.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: misc style touch-ups
      
          Standardize on lower-case hexadecimal constants.  Adjust whitespace.
          Omit unnecessary pointer type casts and an unnecessary list head
          initialization.  Use dev_printk.
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc, ci: remove unused constants
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc: remove bitfields from read descriptor response operands
      
          Don't use bitfields in struct types of on-the-wire data.
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc: remove bitfields from DSD command operands
      
          Don't use bitfields in struct types of on-the-wire data.
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc: header file cleanup
      
          Remove unused constants and declarations.
          Move privately used constants into .c files.
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc: remove bitfields from FCP frame types
      
          Don't use bitfields in struct types of on-the-wire data.
      
          Also move many privately used constants from avc.h to avc.c
          and remove some unused constants.
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: avc: fix offset in avc_tuner_get_ts
      
          The parentheses were wrong.  It didn't matter though because this code
          only writes a 0 into an area which is already initialized to 0.
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: avc: reduce stack usage, remove two typedefs
      
          It is safe to share a memory buffer for command frame and response frame
          because the response data come in after the command frame was last used.
      
          Even less stack would be required if only the actual required frame size
          instead of the entire FCP register size was allocated.
      
          Also, rename the defined types AVCCmdFrm and AVCRspFrm to
          struct avc_command_frame and struct avc_response_frame.
          TODO:  Remove the bitfields in these types.
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: cmp: move code to avc
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: iso: move code to firedtv-1394
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: iso: remove unnecessary struct type definitions
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: iso: style changes and fixlets
      
          Add cleanup after failure in setup_iso_channel.
          Replace printk() by dv_err().
          Decrease indentation level in rawiso_activity_cb().
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      15490795
    • R
      firedtv: rename files, variables, functions from firesat to firedtv · a70f81c1
      Rambaldi 提交于
      Combination of the following changes:
      
      Sat, 17 Jan 2009 14:47:34 +0100
      firedtv: rename variables and functions from firesat to firedtv
      Signed-off-by: NRambaldi <Rambaldi@xs4all.nl>
      
          Additional changes by Stefan Richter:
      
          Renamed struct firedtv *firedtv to struct firedtv *fdtv and
          firedtv_foo_bar() to fdtv_foo_bar() for brevity.
      
      Sat, 17 Jan 2009 13:07:44 +0100
      firedtv: rename files from firesat to firedtv
      Signed-off-by: NRambaldi <Rambaldi@xs4all.nl>
      
          Additional changes by Stefan Richter:
      
          Name the directory "firewire" instead of "firedtv".
          Standardize on "-" instead of "_" in file names, because that's what
          drivers/firewire/ and drivers/media/dvb/dvb-usb/ use too.
          Build fix.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      a70f81c1
    • J
      firedtv: Use DEFINE_SPINLOCK · 291f006e
      Julia Lawall 提交于
      SPIN_LOCK_UNLOCKED is deprecated.  The following makes the change suggested
      in Documentation/spinlocks.txt
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      291f006e
    • H
      firedtv: fix registration - adapter number could only be zero · a40bf559
      Henrik Kurelid 提交于
      There was a bug causing the initialization to fail if adapter number was
      greater than zero. The adapter was however registered which caused the driver
      to oops the second time initialization was tried.
      Signed-off-by: NHenrik Kurelid <henrik@kurelid.se>
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      a40bf559
    • H
      firedtv: use length_field() of PMT as length · 7199e523
      Henrik Kurelid 提交于
      Parsed and used the length_field() of the PMT message instead of using
      the length field of the message struct, which does not seem to be filled
      correctly by e.g. MythTV.
      Signed-off-by: NHenrik Kurelid <henrik@kurelid.se>
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      7199e523
    • H
      firedtv: fix returned struct for ca_info · 096edfbf
      Henrik Kurelid 提交于
      The SystemId of the ca_info message was filled with garbage.
      It now returns what the card returns.
      Signed-off-by: NHenrik Kurelid <henrik@kurelid.se>
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      096edfbf