24 Jun, 2009

29 commits

  • It's rather confusing that in t_start(), in some cases @pos is
    incremented, and in some cases it's decremented and then incremented.

    This patch rewrites t_start() in a much more general way.

    Thus we fix a bug that if ftrace_filtered == 1, functions have tracer
    hooks won't be printed, because the branch is always unreachable:

    static void *t_start(...)
    {
    ...
    if (!p)
    return t_hash_start(m, pos);
    return p;
    }

    Before:
    # echo 'sys_open' > /mnt/tracing/set_ftrace_filter
    # echo 'sys_write:traceon:4' >> /mnt/tracing/set_ftrace_filter
    sys_open

    After:
    # echo 'sys_open' > /mnt/tracing/set_ftrace_filter
    # echo 'sys_write:traceon:4' >> /mnt/tracing/set_ftrace_filter
    sys_open
    sys_write:traceon:count=4

    Reviewed-by: Liming Wang
    Signed-off-by: Li Zefan
    Cc: Steven Rostedt
    Cc: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Li Zefan
     
  • It's wrong to increment @pos in g_start(). It causes some entries
    lost when reading set_graph_function, if the output of the file
    is larger than PAGE_SIZE.

    Reviewed-by: Liming Wang
    Signed-off-by: Li Zefan
    Cc: Steven Rostedt
    Cc: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Li Zefan
     
  • The iterator is m->private, but it's not reset to trace_types in
    t_start(). If the output is larger than PAGE_SIZE and t_start()
    is called the 2nd time, things will go wrong.

    Reviewed-by: Liming Wang
    Signed-off-by: Li Zefan
    Cc: Steven Rostedt
    Cc: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Li Zefan
     
  • It's wrong to increment @pos in stat_seq_start(). It causes some
    stat entries lost when reading stat file, if the output of the file
    is larger than PAGE_SIZE.

    Reviewed-by: Liming Wang
    Signed-off-by: Li Zefan
    Cc: Steven Rostedt
    Cc: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Li Zefan
     
  • It's wrong to increment @pos in t_start(), otherwise we'll lose
    some entries when reading printk_formats, if the output is larger
    than PAGE_SIZE.

    Reported-by: Lai Jiangshan
    Reviewed-by: Liming Wang
    Signed-off-by: Li Zefan
    Cc: Steven Rostedt
    Cc: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Li Zefan
     
  • While testing syscall tracepoints posted by Jason, I found 3 entries
    were missing when reading available_events. The output size of
    available_events is < 4 pages, which means we lost 1 entry per page.

    The cause is, it's wrong to increment @pos in s_start().

    Actually there's another bug here -- reading avaiable_events/set_events
    can race with module unload:

    # cat available_events |
    s_start() |
    s_stop() |
    | # rmmod foo.ko
    s_start() |
    call = list_entry(m->private) |

    @call might be freed and accessing it will lead to crash.

    Reviewed-by: Liming Wang
    Signed-off-by: Li Zefan
    Cc: Steven Rostedt
    Cc: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Li Zefan
     
  • On bootup nvidiafb prints the following on my Apple G5:

    nvidiafb: CRTC 1appears to have a CRT attached

    There should be a space between the '1' and the 'appears'. Add it.

    Signed-off-by: Mikael Pettersson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mikael Pettersson
     
  • Fix the incorrect "select" directives by dropping the "CONFIG_"
    prefixes, and correcting the typo "H8S2768" to "H8S2678".

    Signed-off-by: Robert P. J. Day
    Acked-by: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • After downing/upping a cpu, an attempt to set
    /proc/sys/vm/percpu_pagelist_fraction results in an oops in
    percpu_pagelist_fraction_sysctl_handler().

    If a processor is downed then we need to set the pageset pointer back to
    the boot pageset.

    Updates of the high water marks should not access pagesets of unpopulated
    zones (those pointer go to the boot pagesets which would be no longer
    functional if their size would be increased beyond zero).

    Signed-off-by: Dimitri Sivanich
    Signed-off-by: Christoph Lameter
    Reviewed-by: KOSAKI Motohiro
    Cc: Nick Piggin
    Cc: Mel Gorman
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dimitri Sivanich
     
  • After the recent changes that went into mm/vmscan.c to overhaul stuff, we
    ended up with these warnings on no-mmu systems:

    mm/vmscan.c: In function `shrink_page_list':
    mm/vmscan.c:580: warning: unused variable `vm_flags'
    mm/vmscan.c: In function `shrink_active_list':
    mm/vmscan.c:1294: warning: `vm_flags' may be used uninitialized in this function
    mm/vmscan.c:1242: note: `vm_flags' was declared here

    This is because the no-mmu function defines page_referenced() to work on
    the first argument only (the page). It does not clear the vm_flags given
    to it because for no-mmu systems, they never actually get utilized. Since
    that is no longer strictly true, we need to set vm_flags to 0 like
    everyone else so gcc can do proper dead code elimination without annoying
    us with unused warnings.

    Signed-off-by: Mike Frysinger
    Cc: David Howells
    Acked-by: David McCullough
    Cc: Greg Ungerer
    Cc: Paul Mundt
    Cc: Wu Fengguang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • If a kthread happens to use get_user_pages() on an mm (as KSM does),
    there's a chance that it will end up trying to read in a swap page, then
    oops in grab_swap_token() because the kthread has no mm: GUP passes down
    the right mm, so grab_swap_token() ought to be using it.

    We have not identified a stronger case than KSM's daemon (not yet in
    mainline), but the issue must have come up before, since RHEL has included
    a fix for this for years (though a different fix, they just back out of
    grab_swap_token if current->mm is unset: which is what we first proposed,
    but using the right mm here seems more correct).

    Reported-by: Izik Eidus
    Signed-off-by: Johannes Weiner
    Signed-off-by: Hugh Dickins
    Acked-by: Rik van Riel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
    sh: Fix up HAVE_PERF_COUNTERS typo.
    sh: Fix up more dma-mapping fallout.
    sh: SH7786 SMP support.
    sh: Wire up the uncached fixmap on sh64 as well.
    sh: Use local TLB flush in set_pte_phys().
    sh: Provide cpu_idle_wait() to fix up cpuidle/SMP build.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    RDMA: Add __init/__exit macros to addr.c and cma.c
    IB/ehca: Bump version number
    mlx4_core: Fix dma_sync_single_for_cpu() with matching for_device() calls
    IB/mthca: Replace dma_sync_single() use with proper functions
    RDMA/nes: Fix FIN state handling under error conditions
    RDMA/nes: Fix max_qp_init_rd_atom returned from query device
    IB/ehca: Ensure that guid_entry index is not negative
    IB/ehca: Tolerate dynamic memory operations before driver load

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (38 commits)
    fusion: mptsas, fix lock imbalance
    [SCSI] scsi_transport_fc: replace BUS_ID_SIZE by fixed count
    sd, sr: fix Driver 'sd' needs updating message
    scsi_transport_iscsi: return -EOVERFLOW for Too many iscsi targets
    fc_transport: Selective return value from BSG timeout function
    fc_transport: The softirq_done function registration for BSG request
    sym53c8xx: ratelimit parity errors
    explain the hidden scsi_wait_scan Kconfig variable
    ibmvfc: Fix endless PRLI loop in discovery
    ibmvfc: Process async events before command responses
    libfc: Add runtime debugging with debug_logging module parameter
    libfcoe: Add runtime debugging with module param debug_logging
    fcoe: Add runtime debug logging with module parameter debug_logging
    scsi_debug: Add support for physical block exponent and alignment
    cnic: add NETDEV_1000 and NETDEVICES to Kconfig select
    cnic: Fix __symbol_get() build error.
    Revert "[SCSI] cnic: fix error: implicit declaration of function ‘__symbol_get’"
    ipr: differentiate pci-x and pci-e based adapters
    ipr: add test for MSI interrupt support
    scsi_transport_spi: Blacklist Ultrium-3 tape for IU transfers
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    asm-generic: add dummy pgprot_noncached()
    lib/checksum.c: fix endianess bug
    asm-generic: hook up new system calls
    asm-generic: list Arnd as asm-generic maintainer
    asm-generic: drop HARDIRQ_BITS definition from hardirq.h
    asm-generic: uaccess: fix up local access_ok() usage
    asm-generic: uaccess: add missing access_ok() check to strnlen_user()

    Linus Torvalds
     
  • * 'kmemleak' of git://linux-arm.org/linux-2.6:
    kmemleak: Do not force the slab debugging Kconfig options
    kmemleak: use pr_fmt

    Linus Torvalds
     
  • Indeed FOLL_WRITE matches FAULT_FLAG_WRITE, matches GUP_FLAGS_WRITE,
    and it's tempting to devise a set of Grand Unified Paging flags;
    but not today. So until then, let's rely upon the compiler to spot
    the coincidence, "rather than have that subtle dependency and a
    comment for it" - as you remarked in another context yesterday.

    Signed-off-by: Hugh Dickins
    Acked-by: Wu Fengguang
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • handle_mm_fault() is now passing fault flags rather than write_access
    down to hugetlb_fault(), so better recognize that in hugetlb_fault(),
    and in hugetlb_no_page().

    Signed-off-by: Hugh Dickins
    Acked-by: Wu Fengguang
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • * 'for-linus' of git://www.jni.nu/cris:
    CRISv10: remove redundant tests on unsigned
    CRISv32: irq.c - Move end brace outside #endif
    CRISv32: Fix potential null reference in cryptocop driver.
    CRISv32: Add arch optimized strcmp.
    CRIS: assignment/is equal confusion

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Make jack-plug notification selectable
    ALSA: ctxfi - Add PM support
    sound: seq_midi_event: fix decoding of (N)RPN events
    ALSA: hda - Add digital-mic support to ALC262 auto model
    ALSA: hda - Fix check of input source type for realtek codecs
    ALSA: hda - Add quirk for Sony VAIO Z21MN
    ALSA: hda - Get back Input Source for ALC262 toshiba-s06 model
    ALSA: hda - Fix unsigned comparison in patch_sigmatel.c
    ALSA: via82xx: add option to disable 500ms delay in snd_via82xx_codec_wait
    sound: fix check for return value in snd_pcm_hw_refine
    ALSA: ctxfi - Allow unknown PCI SSIDs
    ASoC: Blackfin: update the bf5xx_i2s_resume parameters
    ASoC: Blackfin: keep better track of SPORT configuration state

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    [WATCHDOG] wdt_pci.c: remove #ifdef CONFIG_WDT_501_PCI
    [WATCHDOG] hpwdt: Add NMI priority option
    [WATCHDOG] OMAP fixes: enable clock in probe, trigger timer reload
    [WATCHDOG] add bcm47xx watchdog driver
    [WATCHDOG] Freescale STMP: watchdog driver
    [WATCHDOG] twl4030 watchdog driver
    [WATCHDOG] U300 COH 901 327 watchdog driver
    [WATCHDOG] Add pnx833x_wdt

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (62 commits)
    V4L/DVB (12131): BUGFIX: An incorrect Carrier Recovery Loop optimization table was being
    V4L/DVB (12130): Fix a redundant compiler warning
    V4L/DVB (12003): v4l2: Move bounding code outside I2C ifdef block
    V4L/DVB (11913): cx231xx: TRY_FMT should not actually set anything
    V4L/DVB (11912): em28xx: Use v4l bounding/alignment function
    V4L/DVB (11911): cx231xx: Use v4l bounding/alignment function
    V4L/DVB (11910): mt9: Use v4l bounding/alignment function
    V4L/DVB (11909): cx23885: Use v4l bounding/alignment function
    V4L/DVB (11908): w8968cf: Use v4l bounding/alignment function
    V4L/DVB (11907): cx88: Use v4l bounding/alignment function
    V4L/DVB (11906): saa7134: Use v4l bounding/alignment function
    V4L/DVB (11905): vivi: Use v4l bounding/alignment function
    V4L/DVB (11904): zoran: Use v4l bounding/alignment functiob
    V4L/DVB (11903): sh_mobile_ceu_camera: Use v4l bounding/alignment function
    V4L/DVB (11902): pxa-camera: Use v4l bounding/alignment function
    V4L/DVB (11901): v4l2: Create helper function for bounding and aligning images
    V4L/DVB (12128): v4l2: update framework documentation.
    V4L/DVB (12125): v4l2: add new s_config subdev ops and v4l2_i2c_new_subdev_cfg/board calls
    V4L/DVB (12122): pvrusb2: De-obfuscate code which handles routing schemes
    V4L/DVB (12121): pvrusb2: Improve handling of routing schemes
    ...

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata: don't set IORDY for reset
    sata_fsl: Add power mgmt support
    [libata] PATA driver for CF interface on AT91SAM9260 SoC
    [libata] beautify module parameters

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:
    ide cmd64x: Remove serialize setting.
    ide: Take over as maintainer.

    Linus Torvalds
     
  • Roland Dreier
     
  • Add __init and __exit annotations to the module_init/module_exit
    functions from drivers/infiniband/core/addr.c and cma.c.

    Signed-off-by: Peter Huewe
    Acked-by: Sean Hefty
    Signed-off-by: Roland Dreier

    Peter Huewe
     
  • Increment version number for DMEM toleration.

    Signed-off-by: Alexander Schmidt
    Signed-off-by: Roland Dreier

    Alexander Schmidt
     
  • The isolated page is "cursor_page" not "page".

    This could cause LRU list corruption under memory pressure, caught by
    CONFIG_DEBUG_LIST.

    Reported-by: Ingo Molnar
    Signed-off-by: KAMEZAWA Hiroyuki
    Reviewed-by: Balbir Singh
    Tested-by: Daisuke Nishimura
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • That's HAVE_PERF_COUNTERS not HAVE_PERF_COUNTER. This was right
    initially but I seem to have screwed it up while re-typing it out
    by hand on another machine when I checked it in. Hmph.

    Reported-by: Robert P. J. Day
    Signed-off-by: Paul Mundt

    Paul Mundt
     

23 Jun, 2009

11 commits