]> Pileus Git - ~andy/linux/commitdiff
Merge branch 'for-tip' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile...
authorIngo Molnar <mingo@elte.hu>
Tue, 20 Dec 2011 11:10:29 +0000 (12:10 +0100)
committerIngo Molnar <mingo@elte.hu>
Tue, 20 Dec 2011 11:10:29 +0000 (12:10 +0100)
1  2 
Documentation/kernel-parameters.txt
arch/s390/oprofile/hwsampler.c

index fd5c913c33c14ee26dc1ff48ed9d7b5af8ddc0b2,60b98cea06fcd92215fdfb2975fcb73485d336a9..1205505798cc6d3cd632d971e0df87edcf830acd
@@@ -49,7 -49,6 +49,7 @@@ parameter is applicable
        EDD     BIOS Enhanced Disk Drive Services (EDD) is enabled
        EFI     EFI Partitioning (GPT) is enabled
        EIDE    EIDE/ATAPI support is enabled.
 +      EVM     Extended Verification Module
        FB      The frame buffer device is enabled.
        FTRACE  Function tracing enabled.
        GCOV    GCOV profiling is enabled.
@@@ -164,7 -163,7 +164,7 @@@ bytes respectively. Such letter suffixe
                        rsdt -- prefer RSDT over (default) XSDT
                        copy_dsdt -- copy DSDT to memory
  
 -                      See also Documentation/power/pm.txt, pci=noacpi
 +                      See also Documentation/power/runtime_pm.txt, pci=noacpi
  
        acpi_rsdp=      [ACPI,EFI,KEXEC]
                        Pass the RSDP address to the kernel, mostly used
                        behaviour to be specified.  Bit 0 enables warnings,
                        bit 1 enables fixups, and bit 2 sends a segfault.
  
 +      align_va_addr=  [X86-64]
 +                      Align virtual addresses by clearing slice [14:12] when
 +                      allocating a VMA at process creation time. This option
 +                      gives you up to 3% performance improvement on AMD F15h
 +                      machines (where it is enabled by default) for a
 +                      CPU-intensive style benchmark, and it can vary highly in
 +                      a microbenchmark depending on workload and compiler.
 +
 +                      1: only for 32-bit processes
 +                      2: only for 64-bit processes
 +                      on: enable for both 32- and 64-bit processes
 +                      off: disable for both 32- and 64-bit processes
 +
        amd_iommu=      [HW,X86-84]
                        Pass parameters to the AMD IOMMU driver in the system.
                        Possible values are:
        amijoy.map=     [HW,JOY] Amiga joystick support
                        Map of devices attached to JOY0DAT and JOY1DAT
                        Format: <a>,<b>
 -                      See also Documentation/kernel/input/joystick.txt
 +                      See also Documentation/input/joystick.txt
  
        analog.map=     [HW,JOY] Analog joystick and gamepad support
                        Specifies type or capabilities of an analog joystick
        bttv.radio=     Most important insmod options are available as
                        kernel args too.
        bttv.pll=       See Documentation/video4linux/bttv/Insmod-options
 -      bttv.tuner=     and Documentation/video4linux/bttv/CARDLIST
 +      bttv.tuner=
  
        bulk_remove=off [PPC]  This parameter disables the use of the pSeries
                        firmware feature for flushing multiple hpte entries
  
        elevator=       [IOSCHED]
                        Format: {"cfq" | "deadline" | "noop"}
 -                      See Documentation/block/as-iosched.txt and
 +                      See Documentation/block/cfq-iosched.txt and
                        Documentation/block/deadline-iosched.txt for details.
  
 -      elfcorehdr=     [IA-64,PPC,SH,X86]
 +      elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390]
                        Specifies physical address of start of kernel core
 -                      image elf header. Generally kexec loader will
 -                      pass this option to capture kernel.
 +                      image elf header and optionally the size. Generally
 +                      kexec loader will pass this option to capture kernel.
                        See Documentation/kdump/kdump.txt for details.
  
        enable_mtrr_cleanup [X86]
                        This option is obsoleted by the "netdev=" option, which
                        has equivalent usage. See its documentation for details.
  
 +      evm=            [EVM]
 +                      Format: { "fix" }
 +                      Permit 'security.evm' to be updated regardless of
 +                      current integrity status.
 +
        failslab=
        fail_page_alloc=
        fail_make_request=[KNL]
                        General fault injection mechanism.
                        Format: <interval>,<probability>,<space>,<times>
 -                      See also /Documentation/fault-injection/.
 +                      See also Documentation/fault-injection/.
  
        floppy=         [HW]
                        See Documentation/blockdev/floppy.txt.
        ignore_loglevel [KNL]
                        Ignore loglevel setting - this will print /all/
                        kernel messages to the console. Useful for debugging.
 +                      We also add it as printk module parameter, so users
 +                      could change it dynamically, usually by
 +                      /sys/module/printk/parameters/ignore_loglevel.
  
        ihash_entries=  [KNL]
                        Set number of hash buckets for inode cache.
                        has the capability. With this option, super page will
                        not be supported.
        intremap=       [X86-64, Intel-IOMMU]
 -                      Format: { on (default) | off | nosid }
                        on      enable Interrupt Remapping (default)
                        off     disable Interrupt Remapping
                        nosid   disable Source ID checking
 +                      no_x2apic_optout
 +                              BIOS x2APIC opt-out request will be ignored
  
        inttest=        [IA-64]
  
                        [KVM,Intel] Disable FlexPriority feature (TPR shadow).
                        Default is 1 (enabled)
  
 +      kvm-intel.nested=
 +                      [KVM,Intel] Enable VMX nesting (nVMX).
 +                      Default is 0 (disabled)
 +
        kvm-intel.unrestricted_guest=
                        [KVM,Intel] Disable unrestricted guest feature
                        (virtualized real and unpaged mode) on capable
                        debugging driver suspend/resume hooks).  This may
                        not work reliably with all consoles, but is known
                        to work with serial and VGA consoles.
 +                      To facilitate more flexible debugging, we also add
 +                      console_suspend, a printk module parameter to control
 +                      it. Users could use console_suspend (usually
 +                      /sys/module/printk/parameters/console_suspend) to
 +                      turn on/off it dynamically.
  
        noaliencache    [MM, NUMA, SLAB] Disables the allocation of alien
                        caches in the slab allocator.  Saves per-node memory,
  
        noresidual      [PPC] Don't use residual data on PReP machines.
  
 +      nordrand        [X86] Disable the direct use of the RDRAND
 +                      instruction even if it is supported by the
 +                      processor.  RDRAND is still available to user
 +                      space applications.
 +
        noresume        [SWSUSP] Disables resume and restores original swap
                        space.
  
                        timer: [X86] Force use of architectural NMI
                                timer mode (see also oprofile.timer
                                for generic hr timer mode)
+                               [s390] Force legacy basic mode sampling
+                                 (report cpu_type "timer")
  
        oops=panic      Always panic on oopses. Default is to just kill the
                        process, but there is a small probability of
                        in <PAGE_SIZE> units (needed only for swap files).
                        See  Documentation/power/swsusp-and-swap-files.txt
  
 +      resumedelay=    [HIBERNATION] Delay (in seconds) to pause before attempting to
 +                      read the resume files
 +
 +      resumewait      [HIBERNATION] Wait (indefinitely) for resume device to show up.
 +                      Useful for devices that are detected asynchronously
 +                      (e.g. USB and MMC devices).
 +
        hibernate=      [HIBERNATION]
                noresume        Don't check if there's a hibernation image
                                present during boot.
                        Format: <integer>
  
        sonypi.*=       [HW] Sony Programmable I/O Control Device driver
 -                      See Documentation/sonypi.txt
 +                      See Documentation/laptops/sonypi.txt
  
        specialix=      [HW,SERIAL] Specialix multi-serial port adapter
                        See Documentation/serial/specialix.txt.
                        functions are at fixed addresses, they make nice
                        targets for exploits that can control RIP.
  
 -                      emulate     [default] Vsyscalls turn into traps and are
 -                                  emulated reasonably safely.
 +                      emulate     Vsyscalls turn into traps and are emulated
 +                                  reasonably safely.
  
 -                      native      Vsyscalls are native syscall instructions.
 +                      native      [default] Vsyscalls are native syscall
 +                                  instructions.
                                    This is a little bit faster than trapping
                                    and makes a few dynamic recompilers work
                                    better than they would in emulation mode.
index f43c0e4282af5e46033b4a97349cf1fce4d88c26,cab0fe932c08ea7b121b7ee13423b1ff2ac22495..9daee91e6c3fc20f8668a1797a8d388c102b62aa
@@@ -22,6 -22,7 +22,7 @@@
  #include <asm/irq.h>
  
  #include "hwsampler.h"
+ #include "op_counter.h"
  
  #define MAX_NUM_SDB 511
  #define MIN_NUM_SDB 1
@@@ -896,6 -897,8 +897,8 @@@ static void add_samples_to_oprofile(uns
                if (sample_data_ptr->P == 1) {
                        /* userspace sample */
                        unsigned int pid = sample_data_ptr->prim_asn;
+                       if (!counter_config.user)
+                               goto skip_sample;
                        rcu_read_lock();
                        tsk = pid_task(find_vpid(pid), PIDTYPE_PID);
                        if (tsk)
                        rcu_read_unlock();
                } else {
                        /* kernelspace sample */
+                       if (!counter_config.kernel)
+                               goto skip_sample;
                        regs = task_pt_regs(current);
                }
  
                oprofile_add_ext_hw_sample(sample_data_ptr->ia, regs, 0,
                                !sample_data_ptr->P, tsk);
                mutex_unlock(&hws_sem);
+       skip_sample:
                sample_data_ptr++;
        }
  }
@@@ -994,7 -999,7 +999,7 @@@ allocate_error
   *
   * Returns 0 on success, !0 on failure.
   */
 -int hwsampler_deallocate()
 +int hwsampler_deallocate(void)
  {
        int rc;
  
@@@ -1035,7 -1040,7 +1040,7 @@@ unsigned long hwsampler_get_sample_over
        return cb->sample_overflow;
  }
  
 -int hwsampler_setup()
 +int hwsampler_setup(void)
  {
        int rc;
        int cpu;
@@@ -1102,7 -1107,7 +1107,7 @@@ setup_exit
        return rc;
  }
  
 -int hwsampler_shutdown()
 +int hwsampler_shutdown(void)
  {
        int rc;
  
@@@ -1203,7 -1208,7 +1208,7 @@@ start_all_exit
   *
   * Returns 0 on success, !0 on failure.
   */
 -int hwsampler_stop_all()
 +int hwsampler_stop_all(void)
  {
        int tmp_rc, rc, cpu;
        struct hws_cpu_buffer *cb;