31 Mar, 2010

1 commit


30 Mar, 2010

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (28 commits)
    ceph: update discussion list address in MAINTAINERS
    ceph: some documentations fixes
    ceph: fix use after free on mds __unregister_request
    ceph: avoid loaded term 'OSD' in documention
    ceph: fix possible double-free of mds request reference
    ceph: fix session check on mds reply
    ceph: handle kmalloc() failure
    ceph: propagate mds session allocation failures to caller
    ceph: make write_begin wait propagate ERESTARTSYS
    ceph: fix snap rebuild condition
    ceph: avoid reopening osd connections when address hasn't changed
    ceph: rename r_sent_stamp r_stamp
    ceph: fix connection fault con_work reentrancy problem
    ceph: prevent dup stale messages to console for restarting mds
    ceph: fix pg pool decoding from incremental osdmap update
    ceph: fix mds sync() race with completing requests
    ceph: only release unused caps with mds requests
    ceph: clean up handle_cap_grant, handle_caps wrt session mutex
    ceph: fix session locking in handle_caps, ceph_check_caps
    ceph: drop unnecessary WARN_ON in caps migration
    ...

    Linus Torvalds
     
  • New documentation should have an entry in the 00-INDEX. Correct git
    urls.

    Signed-off-by: Cheng Renquan
    Signed-off-by: Sage Weil

    Cheng Renquan
     

26 Mar, 2010

1 commit


25 Mar, 2010

5 commits

  • Document the circular buffering capabilities available in Linux.

    Signed-off-by: David Howells
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Randy Dunlap
    Reviewed-by: Stefan Richter
    Signed-off-by: Linus Torvalds

    David Howells
     
  • commit 3f226aa1c (mempolicy: support mpol=local tmpfs mount option) added
    new mpol=local mount option. but it didn't add a documentation.

    This patch does it.

    Signed-off-by: KOSAKI Motohiro
    Cc: Ravikiran Thirumalai
    Cc: Christoph Lameter
    Cc: Mel Gorman
    Acked-by: Lee Schermerhorn
    Cc: Hugh Dickins
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KOSAKI Motohiro
     
  • This patch renames PCI/PCI-DMA-mapping.txt to DMA-API-HOWTO.txt.

    The commit 51e7364ef281e540371f084008732b13292622f0 "Documentation: rename
    PCI-DMA-mapping.txt to DMA-API-HOWTO.txt" was supposed to do this but it
    didn't.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • Update memory.txt to be more consistent: s/swapiness/swappiness/

    Signed-off-by: Greg Thelen
    Acked-by: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Greg Thelen
     
  • cpu_relax() is documented in volatile-considered-harmful.txt to be a
    memory barrier. However, everyone with the exception of Blackfin and
    possibly ia64 defines cpu_relax() to be a compiler barrier.

    Make the documentation reflect the general concensus.

    Linus sayeth:

    : I don't think it was ever the intention that it would be seen as anything
    : but a compiler barrier, although it is obviously implied that it might
    : well perform some per-architecture actions that have "memory barrier-like"
    : semantics.
    :
    : After all, the whole and only point of the "cpu_relax()" thing is to tell
    : the CPU that we're busy-looping on some event.
    :
    : And that "event" might be (and often is) about reading the same memory
    : location over and over until it changes to what we want it to be. So it's
    : quite possible that on various architectures the "cpu_relax()" could be
    : about making sure that such a tight loop on loads doesn't starve cache
    : transactions, for example - and as such look a bit like a memory barrier
    : from a CPU standpoint.
    :
    : But it's not meant to have any kind of architectural memory ordering
    : semantics as far as the kernel is concerned - those must come from other
    : sources.

    Signed-off-by: Russell King
    Cc:
    Acked-by: Linus Torvalds
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Russell King
     

23 Mar, 2010

1 commit


20 Mar, 2010

3 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    driver core: numa: fix BUILD_BUG_ON for node_read_distance
    driver-core: document ERR_PTR() return values
    kobject: documentation: Update to refer to kset-example.c.
    sysdev: the cpu probe/release attributes should be sysdev_class_attributes
    kobject: documentation: Fix erroneous example in kobject doc.
    driver-core: fix missing kernel-doc in firmware_class
    Driver core: Early platform kernel-doc update
    sysfs: fix sysfs lockdep warning in mlx4 code
    sysfs: fix sysfs lockdep warning in infiniband code
    sysfs: fix sysfs lockdep warning in ipmi code
    sysfs: Initialised pci bus legacy_mem field before use
    sysfs: use sysfs_bin_attr_init in firmware class driver

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (45 commits)
    USB: gadget/multi: cdc_do_config: remove redundant check
    usb: r8a66597-hcd: fix removed from an attached hub
    USB: xhci: Make endpoint interval debugging clearer.
    USB: Fix usb_fill_int_urb for SuperSpeed devices
    USB: cp210x: Remove double usb_control_msg from cp210x_set_config
    USB: Remove last bit of CONFIG_USB_BERRY_CHARGE
    USB: gadget: add gadget controller number for s3c-hsotg driver
    USB: ftdi_sio: Fix locking for change_speed() function
    USB: g_mass_storage: fixed module name in Kconfig
    USB: gadget: f_mass_storage::fsg_bind(): fix error handling
    USB: g_mass_storage: fix section mismatch warnings
    USB: gadget: fix Blackfin builds after gadget cleansing
    USB: goku_udc: remove potential null dereference
    USB: option.c: Add Pirelli VID/PID and indicate Pirelli's modem interface is 0xff
    USB: serial: Fix module name typo for qcaux Kconfig entry.
    usb: cdc-wdm: Fix deadlock between write and resume
    usb: cdc-wdm: Fix order in disconnect and fix locking
    usb: cdc-wdm:Fix loss of data due to autosuspend
    usb: cdc-wdm: Fix submission of URB after suspension
    usb: cdc-wdm: Fix race between disconnect and debug messages
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (205 commits)
    ceph: update for write_inode API change
    ceph: reset osd after relevant messages timed out
    ceph: fix flush_dirty_caps race with caps migration
    ceph: include migrating caps in issued set
    ceph: fix osdmap decoding when pools include (removed) snaps
    ceph: return EBADF if waiting for caps on closed file
    ceph: set osd request message front length correctly
    ceph: reset front len on return to msgpool; BUG on mismatched front iov
    ceph: fix snaptrace decoding on cap migration between mds
    ceph: use single osd op reply msg
    ceph: reset bits on connection close
    ceph: remove bogus mds forward warning
    ceph: remove fragile __map_osds optimization
    ceph: fix connection fault STANDBY check
    ceph: invalidate_authorizer without con->mutex held
    ceph: don't clobber write return value when using O_SYNC
    ceph: fix client_request_forward decoding
    ceph: drop messages on unregistered mds sessions; cleanup
    ceph: fix comments, locking in destroy_inode
    ceph: move dereference after NULL test
    ...

    Fix trivial conflicts in Documentation/ioctl/ioctl-number.txt

    Linus Torvalds
     

19 Mar, 2010

3 commits


16 Mar, 2010

2 commits


15 Mar, 2010

3 commits


13 Mar, 2010

19 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (56 commits)
    doc: fix typo in comment explaining rb_tree usage
    Remove fs/ntfs/ChangeLog
    doc: fix console doc typo
    doc: cpuset: Update the cpuset flag file
    Fix of spelling in arch/sparc/kernel/leon_kernel.c no longer needed
    Remove drivers/parport/ChangeLog
    Remove drivers/char/ChangeLog
    doc: typo - Table 1-2 should refer to "status", not "statm"
    tree-wide: fix typos "ass?o[sc]iac?te" -> "associate" in comments
    No need to patch AMD-provided drivers/gpu/drm/radeon/atombios.h
    devres/irq: Fix devm_irq_match comment
    Remove reference to kthread_create_on_cpu
    tree-wide: Assorted spelling fixes
    tree-wide: fix 'lenght' typo in comments and code
    drm/kms: fix spelling in error message
    doc: capitalization and other minor fixes in pnp doc
    devres: typo fix s/dev/devm/
    Remove redundant trailing semicolons from macros
    fix typo "definetly" -> "definitely" in comment
    tree-wide: s/widht/width/g typo in comments
    ...

    Fix trivial conflict in Documentation/laptops/00-INDEX

    Linus Torvalds
     
  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (370 commits)
    ARM: S3C2443: Add set_rate and round_rate calls for armdiv clock
    ARM: S3C2443: Remove #if 0 for clk_mpll
    ARM: S3C2443: Update notes on MPLLREF clock
    ARM: S3C2443: Further clksrc-clk conversions
    ARM: S3C2443: Change to using plat-samsung clksrc-clk implementation
    USB: Fix s3c-hsotg build following Samsung platform header moves
    ARM: S3C64XX: Reintroduce unconditional build of audio device
    ARM: 5961/1: ux500: fix CLKRST addresses
    ARM: 5977/1: arm: Enable backtrace printing on oops when PC is corrupted
    ASoC: Fix S3C64xx IIS driver for Samsung header reorg
    ARM: S3C2440: Fix plat-s3c24xx move of s3c2440/s3c2442 support
    [ARM] pxa: fix typo in mxm8x10.h
    [ARM] pxa/raumfeld: set GPIO drive bits for LED pins
    [ARM] pxa/zeus: Add support for mcp2515 CAN bus
    [ARM] pxa/zeus: Add support for onboard max6369 watchdog
    [ARM] pxa/zeus: Add Eurotech as the manufacturer
    [ARM] pxa/zeus: Correct the USB host initialisation flags
    [ARM] pxa/zeus: Allow usage of 8250-compatible UART in uncompress
    [ARM] pxa: refactor uncompress.h for non-PXA uarts
    [ARM] mmp2: fix incorrect calling of chip->mask_ack() for 2nd level cascaded IRQs
    ...

    Linus Torvalds
     
  • Signed-off-by: Rodolfo Giometti
    Cc: David Woodhouse
    Cc: Greg KH
    Cc: Alan Cox
    Cc: Alexander Gordeev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rodolfo Giometti
     
  • Signed-off-by: FUJITA Tomonori
    Cc: James Bottomley
    Cc: "David S. Miller"
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • - remove the PCI DMA API description in DMA-API.txt
    - remove the descriptions of dma_unmap macros since
    PCI-DMA-mapping.txt has the same description.

    Signed-off-by: FUJITA Tomonori
    Cc: James Bottomley
    Cc: "David S. Miller"
    Reviewed-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • - replace the PCI DMA API (i.e. pci_dma_*) with the generic DMA API.

    - make the document more generic (use the PCI specific explanation as
    an example).

    [akpm@linux-foundation.org: fix things Randy noticed]
    Signed-off-by: FUJITA Tomonori
    Cc: James Bottomley
    Cc: "David S. Miller"
    Reviewed-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • dma_set_coherent_mask corresponds to pci_set_consistent_dma_mask. This is
    necessary to move to the generic device model DMA API from the PCI bus
    specific API in the long term.

    dma_set_coherent_mask works in the exact same way that
    pci_set_consistent_dma_mask does. So this patch also changes
    pci_set_consistent_dma_mask to call dma_set_coherent_mask.

    Signed-off-by: FUJITA Tomonori
    Cc: James Bottomley
    Cc: David S. Miller
    Cc: Jesse Barnes
    Cc: Benjamin Herrenschmidt
    Cc: Russell King
    Cc: Greg KH
    Cc: Kay Sievers
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • Adds the following macros:

    DECLARE_DMA_UNMAP_ADDR(ADDR_NAME)
    DECLARE_DMA_UNMAP_LEN(LEN_NAME)
    dma_unmap_addr(PTR, ADDR_NAME)
    dma_unmap_addr_set(PTR, ADDR_NAME, VAL)
    dma_unmap_len(PTR, LEN_NAME)
    dma_unmap_len_set(PTR, LEN_NAME, VAL)

    The API corresponds to the pci_unmap state API. We'll move to this new
    generic API from the PCI specific API in the long term. As
    include/asm-generic/pci-dma-compat.h does, the pci_unmap API simply calls
    the new generic API for some time.

    Signed-off-by: FUJITA Tomonori
    Cc: James Bottomley
    Cc: David S. Miller
    Cc: Jesse Barnes
    Cc: Arnd Bergmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • dma_sync_single_for_cpu/for_device supports a partial sync so there is no
    point to have dma_sync_single_range (also dma_sync_single was obsoleted
    long ago, replaced with dma_sync_single_for_cpu/for_device).

    There is no user of dma_sync_single_range() in mainline and only Alpha
    architecture supports dma_sync_single_range(). So it's unlikely that
    someone out of the tree uses it.

    Signed-off-by: FUJITA Tomonori
    Acked-by: David Miller
    Acked-by: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • This adds the description of the following eight function:

    dma_sync_single_for_cpu
    pci_dma_sync_single_for_cpu
    dma_sync_single_for_device
    pci_dma_sync_single_for_device
    dma_sync_sg_for_cpu
    pci_dma_sync_sg_for_cpu
    dma_sync_sg_for_device
    pci_dma_sync_sg_for_device

    It was unclear that the API permits a partial sync (some network drivers
    already do though). I made it clear that the sync_single API can do a
    partial sync but the sync_sg API can't.

    We could do a partial sync with the sync_sg API too, however, it's
    difficult for driver writers to correctly use the sync_sg API for a
    partial sync since the scatterlists passed in to the mapping API can't be
    modified. It's unlikely that driver writers want to do a partial sync
    with the sync_sg API (because the sync_sg API are usually used for block
    drivers). So I think that it's better to forbid a partial sync with the
    sync_sg API.

    Signed-off-by: FUJITA Tomonori
    Acked-by: David Miller
    Acked-by: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • dma_sync_single(), pci_dma_sync_single(), dma_sync_sg(), and
    pci_dma_sync_sg() are deprecated. We should not advertise them.

    Signed-off-by: FUJITA Tomonori
    Acked-by: David S. Miller
    Acked-by: Joerg Roedel
    Cc: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • In some cases kipmid can use a lot of CPU. This adds a way to tune the
    CPU used by kipmid to help in those cases. By setting kipmid_max_busy_us
    to a value between 100 and 500, it is possible to bring down kipmid CPU
    load to practically 0 without loosing too much ipmi throughput
    performance. Not setting the value, or setting the value to zero,
    operation is unaffected.

    Signed-off-by: Martin Wilck
    Signed-off-by: Corey Minyard
    Cc: Jean Delvare
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Martin Wilck
     
  • Signed-off-by: Kirill A. Shutemov
    Reviewed-by: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • Decription of sanity check for memory thresholds.

    Signed-off-by: Kirill A. Shutemov
    Acked-by: KAMEZAWA Hiroyuki
    Cc: Paul Menage
    Cc: Li Zefan
    Cc: Balbir Singh
    Cc: Pavel Emelyanov
    Cc: Dan Malek
    Cc: Daisuke Nishimura
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • An example of cgroup notification API usage.

    Signed-off-by: Kirill A. Shutemov
    Reviewed-by: KAMEZAWA Hiroyuki
    Cc: Paul Menage
    Cc: Li Zefan
    Cc: Balbir Singh
    Cc: Pavel Emelyanov
    Cc: Dan Malek
    Cc: Daisuke Nishimura
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • Presently, if panic_on_oom=2, the whole system panics even if the oom
    happend in some special situation (as cpuset, mempolicy....). Then,
    panic_on_oom=2 means painc_on_oom_always.

    Now, memcg doesn't check panic_on_oom flag. This patch adds a check.

    BTW, how it's useful ?

    kdump+panic_on_oom=2 is the last tool to investigate what happens in
    oom-ed system. When a task is killed, the sysytem recovers and there will
    be few hint to know what happnes. In mission critical system, oom should
    never happen. Then, panic_on_oom=2+kdump is useful to avoid next OOM by
    knowing precise information via snapshot.

    TODO:
    - For memcg, it's for isolate system's memory usage, oom-notiifer and
    freeze_at_oom (or rest_at_oom) should be implemented. Then, management
    daemon can do similar jobs (as kdump) or taking snapshot per cgroup.

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Balbir Singh
    Cc: David Rientjes
    Cc: Nick Piggin
    Reviewed-by: Daisuke Nishimura
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • Update memcg_test.txt to describe how to test the move-charge feature.

    Signed-off-by: Daisuke Nishimura
    Acked-by: KAMEZAWA Hiroyuki
    Acked-by: Balbir Singh
    Cc: "Kirill A. Shutemov"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daisuke Nishimura
     
  • It allows to register multiple memory and memsw thresholds and gets
    notifications when it crosses.

    To register a threshold application need:
    - create an eventfd;
    - open memory.usage_in_bytes or memory.memsw.usage_in_bytes;
    - write string like " " to
    cgroup.event_control.

    Application will be notified through eventfd when memory usage crosses
    threshold in any direction.

    It's applicable for root and non-root cgroup.

    It uses stats to track memory usage, simmilar to soft limits. It checks
    if we need to send event to userspace on every 100 page in/out. I guess
    it's good compromise between performance and accuracy of thresholds.

    [akpm@linux-foundation.org: coding-style fixes]
    [nishimura@mxp.nes.nec.co.jp: fix documentation merge issue]
    Signed-off-by: Kirill A. Shutemov
    Cc: Li Zefan
    Cc: KAMEZAWA Hiroyuki
    Cc: Balbir Singh
    Cc: Pavel Emelyanov
    Cc: Dan Malek
    Cc: Vladislav Buzov
    Cc: Daisuke Nishimura
    Cc: Alexander Shishkin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • This patchset introduces eventfd-based API for notifications in cgroups
    and implements memory notifications on top of it.

    It uses statistics in memory controler to track memory usage.

    Output of time(1) on building kernel on tmpfs:

    Root cgroup before changes:
    make -j2 506.37 user 60.93s system 193% cpu 4:52.77 total
    Non-root cgroup before changes:
    make -j2 507.14 user 62.66s system 193% cpu 4:54.74 total
    Root cgroup after changes (0 thresholds):
    make -j2 507.13 user 62.20s system 193% cpu 4:53.55 total
    Non-root cgroup after changes (0 thresholds):
    make -j2 507.70 user 64.20s system 193% cpu 4:55.70 total
    Root cgroup after changes (1 thresholds, never crossed):
    make -j2 506.97 user 62.20s system 193% cpu 4:53.90 total
    Non-root cgroup after changes (1 thresholds, never crossed):
    make -j2 507.55 user 64.08s system 193% cpu 4:55.63 total

    This patch:

    Introduce the write-only file "cgroup.event_control" in every cgroup.

    To register new notification handler you need:
    - create an eventfd;
    - open a control file to be monitored. Callbacks register_event() and
    unregister_event() must be defined for the control file;
    - write " " to cgroup.event_control.
    Interpretation of args is defined by control file implementation;

    eventfd will be woken up by control file implementation or when the
    cgroup is removed.

    To unregister notification handler just close eventfd.

    If you need notification functionality for a control file you have to
    implement callbacks register_event() and unregister_event() in the
    struct cftype.

    [kamezawa.hiroyu@jp.fujitsu.com: Kconfig fix]
    Signed-off-by: Kirill A. Shutemov
    Reviewed-by: KAMEZAWA Hiroyuki
    Paul Menage
    Cc: Li Zefan
    Cc: Balbir Singh
    Cc: Pavel Emelyanov
    Cc: Dan Malek
    Cc: Vladislav Buzov
    Cc: Daisuke Nishimura
    Cc: Alexander Shishkin
    Cc: Davide Libenzi
    Signed-off-by: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov