Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Jul 23, 2009
  1. Linux 2.6.31-rc4

    authored
Commits on Jul 22, 2009
  1. Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/li…

    authored
    …nux/kernel/git/tip/linux-2.6-tip
    
    * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      genirq: Fix UP compile failure caused by irq_thread_check_affinity
  2. Merge branch 'lockdep-for-linus' of git://git.kernel.org/pub/scm/linu…

    authored
    …x/kernel/git/peterz/linux-2.6-lockdep
    
    * 'lockdep-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep:
      lockdep: Fix lockdep annotation for pipe_double_lock()
  3. genirq: Fix UP compile failure caused by irq_thread_check_affinity

    Bruno Premont authored Thomas Gleixner committed
    Since genirq: Delegate irq affinity setting to the irq thread
    (591d2fb) compilation with
    CONFIG_SMP=n fails with following error:
    
    /usr/src/linux-2.6/kernel/irq/manage.c:
       In function 'irq_thread_check_affinity':
    /usr/src/linux-2.6/kernel/irq/manage.c:475:
       error: 'struct irq_desc' has no member named 'affinity'
    make[4]: *** [kernel/irq/manage.o] Error 1
    
    That commit adds a new function irq_thread_check_affinity() which
    uses struct irq_desc.affinity which is only available for CONFIG_SMP=y.
    Move that function under #ifdef CONFIG_SMP.
    
    [ tglx@brownpaperbag: compile and boot tested on UP and SMP ]
    
    Signed-off-by: Bruno Premont <bonbons@linux-vserver.org>
    LKML-Reference: <20090722222232.2eb3e1c4@neptune.home>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
  4. lockdep: Fix lockdep annotation for pipe_double_lock()

    Peter Zijlstra authored Peter Zijlstra committed
    The presumed use of the pipe_double_lock() routine is to lock 2 locks in
    a deadlock free way by ordering the locks by their address. However it
    fails to keep the specified lock classes in order and explicitly
    annotates a deadlock.
    
    Rectify this.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Acked-by: Miklos Szeredi <mszeredi@suse.cz>
    LKML-Reference: <1248163763.15751.11098.camel@twins>
  5. Merge branch 'perf-counters-for-linus' of git://git.kernel.org/pub/sc…

    authored
    …m/linux/kernel/git/peterz/linux-2.6-perf
    
    * 'perf-counters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-perf: (31 commits)
      perf_counter tools: Give perf top inherit option
      perf_counter tools: Fix vmlinux symbol generation breakage
      perf_counter: Detect debugfs location
      perf_counter: Add tracepoint support to perf list, perf stat
      perf symbol: C++ demangling
      perf: avoid structure size confusion by using a fixed size
      perf_counter: Fix throttle/unthrottle event logging
      perf_counter: Improve perf stat and perf record option parsing
      perf_counter: PERF_SAMPLE_ID and inherited counters
      perf_counter: Plug more stack leaks
      perf: Fix stack data leak
      perf_counter: Remove unused variables
      perf_counter: Make call graph option consistent
      perf_counter: Add perf record option to log addresses
      perf_counter: Log vfork as a fork event
      perf_counter: Synthesize VDSO mmap event
      perf_counter: Make sure we dont leak kernel memory to userspace
      perf_counter tools: Fix index boundary check
      perf_counter: Fix the tracepoint channel to perfcounters
      perf_counter, x86: Extend perf_counter Pentium M support
      ...
  6. Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm…

    authored
    …/linux/kernel/git/tip/linux-2.6-tip
    
    * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      softirq: introduce tasklet_hrtimer infrastructure
  7. Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm…

    authored
    …/linux/kernel/git/tip/linux-2.6-tip
    
    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      clocksource: Prevent NULL pointer dereference
      timer: Avoid reading uninitialized data
  8. Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/li…

    authored
    …nux/kernel/git/tip/linux-2.6-tip
    
    * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      genirq: Delegate irq affinity setting to the irq thread
  9. Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/…

    authored
    …linux/kernel/git/tip/linux-2.6-tip
    
    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      sched: fix nr_uninterruptible accounting of frozen tasks really
      sched: fix load average accounting vs. cpu hotplug
      sched: Account for vruntime wrapping
  10. Merge branch 'tj-block-for-linus' of git://git.kernel.org/pub/scm/lin…

    authored
    …ux/kernel/git/tj/misc
    
    * 'tj-block-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc:
      virtio_blk: mark virtio_blk with __refdata to kill spurious section mismatch
      block: sysfs fix mismatched queue_var_{store,show} in 64bit kernel
      ataflop: adjust NULL test
      block: fix failfast merge testing in elv_rq_merge_ok()
      z2ram: Small cleanup for z2ram.c
  11. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/git/ryusuke/nilfs2
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
      fs/Kconfig: move nilfs2 out
  12. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6

    authored
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:
      ide-tape: Don't leak kernel stack information
      ide: fix memory leak when flush command is issued
  13. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6

    authored
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits)
      sky2: Avoid races in sky2_down
      drivers/net/mlx4: Adjust constant
      drivers/net: Move a dereference below a NULL test
      drivers/net: Move a dereference below a NULL test
      connector: maintainer/mail update.
      USB host CDC Phonet network interface driver
      macsonic, jazzsonic: fix oops on module unload
      macsonic: move probe function to .devinit.text
      can: switch carrier on if device was stopped while in bus-off state
      can: restart device even if dev_alloc_skb() fails
      can: sja1000: remove duplicated includes
      New device ID for sc92031 [1088:2031]
      3c589_cs: re-initialize the multicast in the tc589_reset
      Fix error return for setsockopt(SO_TIMESTAMPING)
      netxen: fix thermal check and shutdown
      netxen: fix deadlock on dev close
      netxen: fix context deletion sequence
      net: Micrel KS8851 SPI network driver
      tcp: Use correct peer adr when copying MD5 keys
      tcp: Fix MD5 signature checking on IPv4 mapped sockets
      ...
  14. Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/n…

    authored
    …fs-2.6
    
    * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
      NFSv4: Fix a problem whereby a buggy server can oops the kernel
      NFSv4: Fix an NFSv4 mount regression
      NFSv4: Fix an Oops in nfs4_free_lock_state
  15. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/git/tiwai/sound-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
      ALSA: ctxfi: Swapped SURROUND-SIDE channels on emu20k2
      ALSA: ca0106 - Fix the max capture buffer size
      ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecs
      ALSA: hda - Add quirk for Gateway T6834c laptop
      ALSA: OSS sequencer should be initialized after snd_seq_system_client_init
      ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lock
      ALSA: hda_codec: Check for invalid zero connections
  16. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/git/jikos/hid
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
      HID: Move dereferences below a NULL test
      HID: hiddev, fix lock imbalance
  17. @fenrus75

    perf: fix stack data leak

    fenrus75 authored committed
    the "reserved" field was not initialized to zero, resulting in 4 bytes
    of stack data leaking to userspace....
    
    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  18. Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6

    authored
    * 'linux-next' of git://git.infradead.org/ubi-2.6:
      UBI: fix bug in image sequence number handling
      UBI: gluebi: initialize ubi_num field
  19. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/git/dtor/input
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: atkbd - add force relese key quirk for Soltech TA12
      Input: fix EVIOCGNAME/JSIOCGNAME regression
      Input: atkbd - add forced release keys quirk for FSC Amilo Pi 3525
      Input: pcspkr - switch driver to dev_pm_ops
      Input: xpad - don't resend successfully sent outgoing requests
      Input: wistron_btns - recognize Maxdata Pro 7000 notebooks
  20. perf_counter tools: Give perf top inherit option

    Mike Galbraith authored Peter Zijlstra committed
    Currently, perf top -p only tracks the pid provided, which isn't very useful
    for watching forky loads, so give it an inherit option.
    
    Signed-off-by: Mike Galbraith <efault@gmx.de>
    Cc: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <1248165036.9795.10.camel@marge.simson.net>
  21. perf_counter tools: Fix vmlinux symbol generation breakage

    Mike Galbraith authored Peter Zijlstra committed
    vmlinux meets the criteria for symbol adjustment, which breaks vmlinux generated symbols.
    Fix this by exempting vmlinux.  This is a bit fragile in that someone could change the
    kernel dso's name, but currently that name is also hardwired.
    
    Signed-off-by: Mike Galbraith <efault@gmx.de>
    Cc: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <1248091298.18702.18.camel@marge.simson.net>
  22. @jibaron

    perf_counter: Detect debugfs location

    jibaron authored Peter Zijlstra committed
    If "/sys/kernel/debug" is not a debugfs mount point, search for the debugfs
    filesystem in /proc/mounts, but also allows the user to specify
    '--debugfs-dir=blah' or set the environment variable: 'PERF_DEBUGFS_DIR'
    
    Signed-off-by: Jason Baron <jbaron@redhat.com>
    [ also made it probe "/debug" by default ]
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <20090721181629.GA3094@redhat.com>
  23. @jibaron

    perf_counter: Add tracepoint support to perf list, perf stat

    jibaron authored Peter Zijlstra committed
    Add support to 'perf list' and 'perf stat' for kernel tracepoints. The
    implementation creates a 'for_each_subsystem' and 'for_each_event' for
    easy iteration over the tracepoints.
    
    Signed-off-by: Jason Baron <jbaron@redhat.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <426129bf9fcc8ee63bb094cf736e7316a7dcd77a.1248190728.git.jbaron@redhat.com>
  24. perf symbol: C++ demangling

    Arnaldo Carvalho de Melo authored Peter Zijlstra committed
    [acme@doppio ~]$ perf report -s comm,dso,symbol -C firefox -d /usr/lib64/xulrunner-1.9.1/libxul.so | grep :: | head
         2.21%  [.] nsDeque::Push(void*)
         1.78%  [.] GraphWalker::DoWalk(nsDeque&)
         1.30%  [.] GCGraphBuilder::AddNode(void*, nsCycleCollectionParticipant*)
         1.27%  [.] XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode)
         1.18%  [.] imgContainer::DrawFrameTo(gfxIImageFrame*, gfxIImageFrame*, nsRect&)
         1.13%  [.] nsDeque::PopFront()
         1.11%  [.] nsGlobalWindow::RunTimeout(nsTimeout*)
         0.97%  [.] nsXPConnect::Traverse(void*, nsCycleCollectionTraversalCallback&)
         0.95%  [.] nsJSEventListener::cycleCollection::Traverse(void*, nsCycleCollectionTraversalCallback&)
         0.95%  [.] nsCOMPtr_base::~nsCOMPtr_base()
    [acme@doppio ~]$
    
    Cc: Pekka Enberg <penberg@cs.helsinki.fi>
    Cc: Vegard Nossum <vegard.nossum@gmail.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Frédéric Weisbecker <fweisbec@gmail.com>
    Suggested-by: Clark Williams <williams@redhat.com>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <20090720171412.GB10410@ghostprotocols.net>
  25. @fenrus75

    perf: avoid structure size confusion by using a fixed size

    fenrus75 authored Peter Zijlstra committed
    for some reason, this structure gets compiled as 36 bytes in some files
    (the ones that alloacte it) but 40 bytes in others (the ones that use it).
    The cause is an off_t type that gets a different size in different
    compilation units for some yet-to-be-explained reason.
    
    But the effect is disasterous; the size/offset members of the struct
    are at different offsets, and result in mostly complete garbage.
    The parser in perf is so robust that this all gets hidden, and after
    skipping an certain amount of samples, it recovers.... so this bug
    is not normally noticed.
    
    .... except when you want every sample to be exact.
    
    Fix this by just using an explicitly sized type.
    
    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <4A655917.9080504@linux.intel.com>
  26. @antonblanchard

    perf_counter: Fix throttle/unthrottle event logging

    antonblanchard authored Peter Zijlstra committed
    Right now we only print PERF_EVENT_THROTTLE + 1 (ie PERF_EVENT_UNTHROTTLE).
    Fix this to print both a throttle and unthrottle event.
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <20090722130546.GE9029@kryten>
  27. @antonblanchard

    perf_counter: Improve perf stat and perf record option parsing

    antonblanchard authored Peter Zijlstra committed
    perf stat and perf record currently look for all options on the command
    line. This can lead to some confusion:
    
    # perf stat ls -l
      Error: unknown switch `l'
    
    While we can work around this by adding '--' before the command, the git
    option parsing code can stop at the first non option:
    
    # perf stat ls -l
     Performance counter stats for 'ls -l':
    ....
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <20090722130412.GD9029@kryten>
  28. perf_counter: PERF_SAMPLE_ID and inherited counters

    Peter Zijlstra authored
    Anton noted that for inherited counters the counter-id as provided by
    PERF_SAMPLE_ID isn't mappable to the id found through PERF_RECORD_ID
    because each inherited counter gets its own id.
    
    His suggestion was to always return the parent counter id, since that
    is the primary counter id as exposed. However, these inherited
    counters have a unique identifier so that events like
    PERF_EVENT_PERIOD and PERF_EVENT_THROTTLE can be specific about which
    counter gets modified, which is important when trying to normalize the
    sample streams.
    
    This patch removes PERF_EVENT_PERIOD in favour of PERF_SAMPLE_PERIOD,
    which is more useful anyway, since changing periods became a lot more
    common than initially thought -- rendering PERF_EVENT_PERIOD the less
    useful solution (also, PERF_SAMPLE_PERIOD reports the more accurate
    value, since it reports the value used to trigger the overflow,
    whereas PERF_EVENT_PERIOD simply reports the requested period changed,
    which might only take effect on the next cycle).
    
    This still leaves us PERF_EVENT_THROTTLE to consider, but since that
    _should_ be a rare occurrence, and linking it to a primary id is the
    most useful bit to diagnose the problem, we introduce a
    PERF_SAMPLE_STREAM_ID, for those few cases where the full
    reconstruction is important.
    
    [Does change the ABI a little, but I see no other way out]
    
    Suggested-by: Anton Blanchard <anton@samba.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <1248095846.15751.8781.camel@twins>
  29. perf_counter: Plug more stack leaks

    Peter Zijlstra authored
    Per example of Arjan's patch, I went through and found a few more.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
  30. @fenrus75

    perf: Fix stack data leak

    fenrus75 authored Peter Zijlstra committed
    the "reserved" field was not initialized to zero, resulting in 4 bytes
    of stack data leaking to userspace....
    
    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
  31. perf_counter: Remove unused variables

    Peter Zijlstra authored
    Fix a gcc unused variables warning.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
  32. fbmon: work around compiler bug in gcc-2.4.2

    authored
    There's some odd bug in gcc-4.2 where it miscompiles a simple loop whent
    he loop counter is of type 'unsigned char' and it should count to 128.
    
    The compiler will incorrectly decide that a trivial loop like this:
    
    	unsigned char i, ...
    
    	for (i = 0; i < 128; i++) {
    		..
    
    is endless, and will compile it to a single instruction that just
    branches to itself.
    
    This was triggered by the addition of '-fno-strict-overflow', and we
    could play games with compiler versions and go back to '-fwrapv'
    instead, but the trivial way to avoid it is to just make the loop
    induction variable be an 'int' instead.
    
    Thanks to Krzysztof Oledzki for reporting and testing and to Troy Moure
    for digging through assembler differences and finding it.
    
    Reported-and-tested-by: Krzysztof Oledzki <olel@ans.pl>
    Found-by: Troy Moure <twmoure@szypr.net>
    Gcc-bug-acked-by: Ian Lance Taylor <iant@google.com>
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  33. softirq: introduce tasklet_hrtimer infrastructure

    Peter Zijlstra authored Thomas Gleixner committed
    commit ca10949 (hrtimer: removing all ur callback modes) moved all
    hrtimer callbacks into hard interrupt context when high resolution
    timers are active. That breaks code which relied on the assumption
    that the callback happens in softirq context.
    
    Provide a generic infrastructure which combines tasklets and hrtimers
    together to provide an in-softirq hrtimer experience.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: torvalds@linux-foundation.org
    Cc: kaber@trash.net
    Cc: David Miller <davem@davemloft.net>
    LKML-Reference: <1248265724.27058.1366.camel@twins>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Something went wrong with that request. Please try again.