1. Dec 21, 2009
  2. Dec 20, 2009
  3. Dec 19, 2009
  4. Dec 18, 2009
    • Arnaldo Carvalho de Melo's avatar
      perf session: Make events_stats u64 to avoid overflow on 32-bit arches · b5b60fda
      Arnaldo Carvalho de Melo authored
      
      
      Pekka Enberg reported weird percentages in perf report. It
      turns out we are overflowing a 32-bit variables in struct
      events_stats on 32-bit architectures.
      
      Before:
      
       [acme@ana linux-2.6-tip]$ perf report -i pekka.perf.data 2> /dev/null | head -10
         281.96%       Xorg                        b710a561  [.] 0x000000b710a561
         140.15%       Xorg  [kernel]                        [k] __initramfs_end
          51.56%   metacity  libgobject-2.0.so.0.2000.1      [.] 0x00000000026e46
          35.12%  evolution  libcairo.so.2.10800.6           [.] 0x000000000203bd
          33.84%   metacity  libpthread-2.9.so               [.] 0x00000000007a3d
      
      After:
      
       [acme@ana linux-2.6-tip]$ perf report -i pekka.perf.data 2> /dev/null | head -10
          30.04%       Xorg                       b710a561   [.] 0x000000b710a561
          14.93%       Xorg  [kernel]                        [k] __initramfs_end
           5.49%   metacity  libgobject-2.0.so.0.2000.1      [.] 0x00000000026e46
           3.74%  evolution  libcairo.so.2.10800.6           [.] 0x000000000203bd
           3.61%   metacity  libpthread-2.9.so               [.] 0x00000000007a3d
      
      Reported-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Tested-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1261148583-20395-1-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      b5b60fda
    • Frederic Weisbecker's avatar
      hw-breakpoints: Fix hardware breakpoints -> perf events dependency · 99e8c5a3
      Frederic Weisbecker authored
      
      
      The kbuild's select command doesn't propagate through the config
      dependencies.
      
      Hence the current rules of hardware breakpoint's config can't
      ensure perf can never be disabled under us.
      
      We have:
      
      config X86
      	selects HAVE_HW_BREAKPOINTS
      
      config HAVE_HW_BREAKPOINTS
      	select PERF_EVENTS
      
      config PERF_EVENTS
      	[...]
      
      x86 will select the breakpoints but that won't propagate to perf
      events. The user can still disable the latter, but it is
      necessary for the breakpoints.
      
      What we need is:
      
       - x86 selects HAVE_HW_BREAKPOINTS and PERF_EVENTS
       - HAVE_HW_BREAKPOINTS depends on PERF_EVENTS
      
      so that we ensure PERF_EVENTS is enabled and frozen for x86.
      
      This fixes the following kind of build errors:
      
       In file included from arch/x86/kernel/hw_breakpoint.c:31:
       include/linux/hw_breakpoint.h: In function 'hw_breakpoint_addr':
       include/linux/hw_breakpoint.h:39: error: 'struct perf_event' has no member named 'attr'
      
      v2: Select also ANON_INODES from x86, required for perf
      
      Reported-by: default avatarCyrill Gorcunov <gorcunov@gmail.com>
      Reported-by: default avatarMichal Marek <mmarek@suse.cz>
      Reported-by: default avatarAndrew Randrianasulu <randrik_a@yahoo.com>
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Cc: K.Prasad <prasad@linux.vnet.ibm.com>
      LKML-Reference: <1261010034-7786-1-git-send-regression-fweisbec@gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      99e8c5a3
    • David Daney's avatar
      alpha: Convert BUG() to use unreachable() · acadbfb9
      David Daney authored
      
      
      Use the new unreachable() macro instead of for(;;);
      
      Signed-off-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
      CC: Richard Henderson <rth@twiddle.net>
      CC: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      CC: linux-alpha@vger.kernel.org
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      acadbfb9
    • Michael Cree's avatar
      alpha: Add minimal support for software performance events · a582e6f0
      Michael Cree authored
      
      
      In the kernel the patch enables configuration of the perf event
      option, adds the perf_event_open syscall, and includes a minimal
      architecture specific asm/perf_event.h header file.
      
      Signed-off-by: default avatarMichael Cree <mcree@orcon.net.nz>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      a582e6f0
    • Daniele Calore's avatar
      alpha: Wire up missing/new syscalls · 21797c59
      Daniele Calore authored
      This wire up the: fallocate, timerfd_create, timerfd_settime,
      timerfd_gettime, signalfd4, eventfd2, epoll_create1, dup3, pipe2,
      inotify_init1, preadv, pwritev and rt_tgsigqueueinfo syscalls for
      the alpha port.
      
      For umount2, alpha have an "old" and "new" version called: oldumount and
      umount; so ignore umount2.
      
      Rebased on top of 6e17e8b9
      
       by Matt
      Turner.
      
      Signed-off-by: default avatarDaniele Calore <orkaan@orkaan.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      21797c59
    • Suresh Siddha's avatar
      x86, irq: Allow 0xff for /proc/irq/[n]/smp_affinity on an 8-cpu system · 18374d89
      Suresh Siddha authored
      
      
      John Blackwood reported:
      > on an older Dell PowerEdge 6650 system with 8 cpus (4 are hyper-threaded),
      > and  32 bit (x86) kernel, once you change the irq smp_affinity of an irq
      > to be less than all cpus in the system, you can never change really the
      > irq smp_affinity back to be all cpus in the system (0xff) again,
      > even though no error status is returned on the "/bin/echo ff >
      > /proc/irq/[n]/smp_affinity" operation.
      >
      > This is due to that fact that BAD_APICID has the same value as
      > all cpus (0xff) on 32bit kernels, and thus the value returned from
      > set_desc_affinity() via the cpu_mask_to_apicid_and() function is treated
      > as a failure in set_ioapic_affinity_irq_desc(), and no affinity changes
      > are made.
      
      set_desc_affinity() is already checking if the incoming cpu mask
      intersects with the cpu online mask or not. So there is no need
      for the apic op cpu_mask_to_apicid_and() to check again
      and return BAD_APICID.
      
      Remove the BAD_APICID return value from cpu_mask_to_apicid_and()
      and also fix set_desc_affinity() to return -1 instead of using BAD_APICID
      to represent error conditions (as cpu_mask_to_apicid_and() can return
      logical or physical apicid values and BAD_APICID is really to represent
      bad physical apic id).
      
      Reported-by: default avatarJohn Blackwood <john.blackwood@ccur.com>
      Root-caused-by: default avatarJohn Blackwood <john.blackwood@ccur.com>
      Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      LKML-Reference: <1261103386.2535.409.camel@sbs-t61>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      18374d89
    • Linus Torvalds's avatar
      Linux 2.6.33-rc1 · 55639353
      Linus Torvalds authored
      55639353
    • Linus Torvalds's avatar
      Merge branch 'cpumask-cleanups' of... · 55db493b
      Linus Torvalds authored
      Merge branch 'cpumask-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
      
      * 'cpumask-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
        cpumask: rename tsk_cpumask to tsk_cpus_allowed
        cpumask: don't recommend set_cpus_allowed hack in Documentation/cpu-hotplug.txt
        cpumask: avoid dereferencing struct cpumask
        cpumask: convert drivers/idle/i7300_idle.c to cpumask_var_t
        cpumask: use modern cpumask style in drivers/scsi/fcoe/fcoe.c
        cpumask: avoid deprecated function in mm/slab.c
        cpumask: use cpu_online in kernel/perf_event.c
      55db493b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of... · efc8e7f4
      Linus Torvalds authored
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
        Keys: KEYCTL_SESSION_TO_PARENT needs TIF_NOTIFY_RESUME architecture support
        NOMMU: Optimise away the {dac_,}mmap_min_addr tests
        security/min_addr.c: make init_mmap_min_addr() static
        keys: PTR_ERR return of wrong pointer in keyctl_get_security()
      efc8e7f4