11 Dec, 2009

14 commits

  • Acked-by: Russell King
    Signed-off-by: Al Viro

    Al Viro
     
  • Take the check for being able to expand vma in place into a separate
    helper.

    Acked-by: Russell King
    Acked-by: Hugh Dickins
    Signed-off-by: Al Viro

    Al Viro
     
  • Take the MREMAP_FIXED into a separate helper, simplify the living
    hell out of conditions in both cases.

    Acked-by: Russell King
    Acked-by: Hugh Dickins
    Signed-off-by: Al Viro

    Al Viro
     
  • Take locating vma and checks on it to a separate helper (it will be
    shared between MREMAP_FIXED/non-MREMAP_FIXED cases when we split
    them in the next patch)

    Acked-by: Russell King
    Acked-by: Hugh Dickins
    Signed-off-by: Al Viro

    Al Viro
     
  • * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (189 commits)
    drm/radeon/kms: fix warning about cur_placement being uninitialised.
    drm/ttm: Print debug information on memory manager when eviction fails
    drm: Add memory manager debug function
    drm/radeon/kms: restore surface registers on resume.
    drm/radeon/kms/r600/r700: fallback gracefully on ucode failure
    drm/ttm: Initialize eviction placement in case the driver callback doesn't
    drm/radeon/kms: cleanup structure and module if initialization fails
    drm/radeon/kms: actualy set the eviction placements we choose
    drm/radeon/kms: Fix NULL ptr dereference
    drm/radeon/kms/avivo: add support for new pll selection algo
    drm/radeon/kms/avivo: fix some bugs in the display bandwidth setup
    drm/radeon/kms: fix return value from fence function.
    drm/radeon: Remove tests for -ERESTART from the TTM code.
    drm/ttm: Have the TTM code return -ERESTARTSYS instead of -ERESTART.
    drm/radeon/kms: Convert radeon to new TTM validation API (V2)
    drm/ttm: Rework validation & memory space allocation (V3)
    drm: Add search/get functions to get a block in a specific range
    drm/radeon/kms: fix avivo tiling regression since radeon object rework
    drm/i915: Remove a debugging printk from hangcheck
    drm/radeon/kms: make sure i2c id matches
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (21 commits)
    amd64_edac: bump driver version
    amd64_edac: fix use-uninitialised bug
    amd64_edac: correct sys address to chip select mapping
    amd64_edac: add a leaner syndrome decoding algorithm
    amd64_edac: remove early hw support check
    amd64_edac: detect DDR3 memory type
    edac: add memory types strings for debugging
    edac, mce: update AMD F10h revD check
    amd64_edac: remove unneeded extract_error_address wrapper
    amd64_edac: rename StinkyIdentifier
    amd64_edac: remove superfluous dbg printk
    amd64_edac: enhance address to DRAM bank mapping
    amd64_edac: cleanup f10_early_channel_count
    amd64_edac: dump DIMM sizes on K8 too
    amd64_edac: cleanup rest of amd64_dump_misc_regs
    amd64_edac: cleanup DRAM cfg low debug output
    amd64_edac: wrap-up pci config read error handling
    amd64_edac: unify MCGCTL ECC switching
    cpumask: use modern cpumask style in drivers/edac/amd64_edac.c
    amd64_edac: make DRAM regions output more human-readable
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux:
    MAINTAINERS: Add OMAP2/3 DSS and OMAPFB maintainer
    OMAP: SDP: Enable DSS2 for OMAP3 SDP board
    OMAP: DSS2: Taal DSI command mode panel driver
    OMAP: DSS2: Add generic and Sharp panel drivers
    OMAP: DSS2: omapfb driver
    OMAP: DSS2: DSI driver
    OMAP: DSS2: SDI driver
    OMAP: DSS2: RFBI driver
    OMAP: DSS2: Video encoder driver
    OMAP: DSS2: DPI driver
    OMAP: DSS2: DISPC
    OMAP: DSS2: Add more core files
    OMAP: DSS2: Display Subsystem Driver core
    OMAP: DSS2: Documentation for DSS2
    OMAP: Add support for VRFB rotation engine
    OMAP: Add VRAM manager
    OMAP: OMAPFB: add omapdss device
    OMAP: OMAPFB: split omapfb.h
    OMAP2: Add funcs for writing SMS_ROT_* registers

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
    workqueue: Add debugobjects support

    Linus Torvalds
     
  • * 'bugfix' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:
    xen: try harder to balloon up under memory pressure.
    Xen balloon: fix totalram_pages counting.
    xen: explicitly create/destroy stop_machine workqueues outside suspend/resume region.
    xen: improve error handling in do_suspend.
    xen: don't leak IRQs over suspend/resume.
    xen: call clock resume notifier on all CPUs
    xen: use iret for return from 64b kernel to 32b usermode
    xen: don't call dpm_resume_noirq() with interrupts disabled.
    xen: register runstate info for boot CPU early
    xen: register runstate on secondary CPUs
    xen: register timer interrupt with IRQF_TIMER
    xen: correctly restore pfn_to_mfn_list_list after resume
    xen: restore runstate_info even if !have_vcpu_info_placement
    xen: re-register runstate area earlier on resume.
    xen: wait up to 5 minutes for device connetion
    xen: improvement to wait_for_devices()
    xen: fix is_disconnected_device/exists_disconnected_device
    xen/xenbus: make DEVICE_ATTR()s static

    Linus Torvalds
     
  • * 'xen/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:
    xen pvfb: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers.
    fb-defio: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers.
    fb-defio: If FBINFO_VIRTFB is defined, do not set VM_IO flag.
    Fix toogle whether xenbus driver should be built as module or part of kernel.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:
    dlm: always use GFP_NOFS

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (47 commits)
    ext4: Fix potential fiemap deadlock (mmap_sem vs. i_data_sem)
    ext4: Do not override ext2 or ext3 if built they are built as modules
    jbd2: Export jbd2_log_start_commit to fix ext4 build
    ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT
    ext4: Wait for proper transaction commit on fsync
    ext4: fix incorrect block reservation on quota transfer.
    ext4: quota macros cleanup
    ext4: ext4_get_reserved_space() must return bytes instead of blocks
    ext4: remove blocks from inode prealloc list on failure
    ext4: wait for log to commit when umounting
    ext4: Avoid data / filesystem corruption when write fails to copy data
    ext4: Use ext4 file system driver for ext2/ext3 file system mounts
    ext4: Return the PTR_ERR of the correct pointer in setup_new_group_blocks()
    jbd2: Add ENOMEM checking in and for jbd2_journal_write_metadata_buffer()
    ext4: remove unused parameter wbc from __ext4_journalled_writepage()
    ext4: remove encountered_congestion trace
    ext4: move_extent_per_page() cleanup
    ext4: initialize moved_len before calling ext4_move_extents()
    ext4: Fix double-free of blocks with EXT4_IOC_MOVE_EXT
    ext4: use ext4_data_block_valid() in ext4_free_blocks()
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.open-osd.org/linux-open-osd:
    exofs: Multi-device mirror support
    exofs: Move all operations to an io_engine
    exofs: move osd.c to ios.c
    exofs: statfs blocks is sectors not FS blocks
    exofs: Prints on mount and unmout
    exofs: refactor exofs_i_info initialization into common helper
    exofs: dbg-print less
    exofs: More sane debug print
    trivial: some small fixes in exofs documentation

    Linus Torvalds
     
  • * git://git.infradead.org/ubifs-2.6:
    UBIFS: fix return code in check_leaf
    UBI: flush wl before clearing update marker
    MAINTAINERS: change e-mail of Artem Bityutskiy
    UBIFS: remove manual O_SYNC handling
    UBIFS: support mounting of UBI volume character devices
    UBI: Add ubi_open_volume_path

    Linus Torvalds
     

10 Dec, 2009

26 commits

  • This patch drops usage of floating point variable for 32bit build

    Signed-off-by: David T. L. Wong
    Acked-by: Randy Dunlap
    Signed-off-by: Mauro Carvalho Chehab

    David Wong
     
  • This patch changes on-disk format, it is accompanied with a parallel
    patch to mkfs.exofs that enables multi-device capabilities.

    After this patch, old exofs will refuse to mount a new formatted FS and
    new exofs will refuse an old format. This is done by moving the magic
    field offset inside the FSCB. A new FSCB *version* field was added. In
    the future, exofs will refuse to mount unmatched FSCB version. To
    up-grade or down-grade an exofs one must use mkfs.exofs --upgrade option
    before mounting.

    Introduced, a new object that contains a *device-table*. This object
    contains the default *data-map* and a linear array of devices
    information, which identifies the devices used in the filesystem. This
    object is only written to offline by mkfs.exofs. This is why it is kept
    separate from the FSCB, since the later is written to while mounted.

    Same partition number, same object number is used on all devices only
    the device varies.

    * define the new format, then load the device table on mount time make
    sure every thing is supported.

    * Change I/O engine to now support Mirror IO, .i.e write same data
    to multiple devices, read from a random device to spread the
    read-load from multiple clients (TODO: stripe read)

    Implementation notes:
    A few points introduced in previous patch should be mentioned here:

    * Special care was made so absolutlly all operation that have any chance
    of failing are done before any osd-request is executed. This is to
    minimize the need for a data consistency recovery, to only real IO
    errors.

    * Each IO state has a kref. It starts at 1, any osd-request executed
    will increment the kref, finally when all are executed the first ref
    is dropped. At IO-done, each request completion decrements the kref,
    the last one to return executes the internal _last_io() routine.
    _last_io() will call the registered io_state_done. On sync mode a
    caller does not supply a done method, indicating a synchronous
    request, the caller is put to sleep and a special io_state_done is
    registered that will awaken the caller. Though also in sync mode all
    operations are executed in parallel.

    Signed-off-by: Boaz Harrosh

    Boaz Harrosh
     
  • In anticipation for multi-device operations, we separate osd operations
    into an abstract I/O API. Currently only one device is used but later
    when adding more devices, we will drive all devices in parallel according
    to a "data_map" that describes how data is arranged on multiple devices.
    The file system level operates, like before, as if there is one object
    (inode-number) and an i_size. The io engine will split this to the same
    object-number but on multiple device.

    At first we introduce Mirror (raid 1) layout. But at the final outcome
    we intend to fully implement the pNFS-Objects data-map, including
    raid 0,4,5,6 over mirrored devices, over multiple device-groups. And
    more. See: http://tools.ietf.org/html/draft-ietf-nfsv4-pnfs-obj-12

    * Define an io_state based API for accessing osd storage devices
    in an abstract way.
    Usage:
    First a caller allocates an io state with:
    exofs_get_io_state(struct exofs_sb_info *sbi,
    struct exofs_io_state** ios);

    Then calles one of:
    exofs_sbi_create(struct exofs_io_state *ios);
    exofs_sbi_remove(struct exofs_io_state *ios);
    exofs_sbi_write(struct exofs_io_state *ios);
    exofs_sbi_read(struct exofs_io_state *ios);
    exofs_oi_truncate(struct exofs_i_info *oi, u64 new_len);

    And when done
    exofs_put_io_state(struct exofs_io_state *ios);

    * Convert all source files to use this new API
    * Convert from bio_alloc to bio_kmalloc
    * In io engine we make use of the now fixed osd_req_decode_sense

    There are no functional changes or on disk additions after this patch.

    Signed-off-by: Boaz Harrosh

    Boaz Harrosh
     
  • If I do a "git mv" together with a massive code change
    and commit in one patch, git looses the rename and
    records a delete/new instead. This is bad because I want
    a rename recorded so later rebased/cherry-picked patches
    to the old name will work. Also the --follow is lost.

    Signed-off-by: Boaz Harrosh

    Boaz Harrosh
     
  • Even though exofs has a 4k block size, statfs blocks
    is in sectors (512 bytes).

    Also if target returns 0 for capacity then make it
    ULLONG_MAX. df does not like zero-size filesystems

    Signed-off-by: Boaz Harrosh

    Boaz Harrosh
     
  • It is important to print in the logs when a filesystem was
    mounted and eventually unmounted.

    Print the osd-device's osd_name and pid the FS was
    mounted/unmounted on.

    TODO: How to also print the namespace path the filesystem was
    mounted on?

    Signed-off-by: Boaz Harrosh

    Boaz Harrosh
     
  • There are two places that initialize inodes: exofs_iget() and
    exofs_new_inode()

    As more members of exofs_i_info that need initialization are
    added this code will grow. (soon)

    Signed-off-by: Boaz Harrosh

    Boaz Harrosh
     
  • Iner-loops printing is converted to EXOFS_DBG2 which is #defined
    to nothing.

    It is now almost bareable to just leave debug-on. Every operation
    is printed once, with most relevant info (I hope).

    Signed-off-by: Boaz Harrosh

    Boaz Harrosh
     
  • debug prints should be somewhat useful without actually
    reading the source code

    Signed-off-by: Boaz Harrosh

    Boaz Harrosh
     
  • Add exofs.txt to filesystems Documentation index and fix some typos,
    identation and grammar.

    Signed-off-by: Thadeu Lima de Souza Cascardo
    Signed-off-by: Boaz Harrosh

    Thadeu Lima de Souza Cascardo
     
  • Signed-off-by: Dave Airlie

    Dave Airlie
     
  • This merges some TTM overhauls to allow us to do better object placement
    for certain radeon GPUs that need scanout+cursor within range of each other,
    along with an API change to not return ERESTART to userspace, but to use
    ERESTARTSYS properly internally and have it convert to EINTR and catch that
    correctly. Also lots of radeon fixes across the board.

    Dave Airlie
     
  • Pull more Intel changes in, especially one to init the GTT properly

    Dave Airlie
     
  • This add helper function to print information on eviction placements
    and memory manager status when eviction fails to allocate memory
    space.

    Signed-off-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Jerome Glisse
     
  • drm_mm_debug_table will print the memory manager state
    in table allowing to give a snapshot of the manager at
    given point in time. Usefull for debugging.

    Signed-off-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Jerome Glisse
     
  • On resume on my rv530 laptop surface cntl was left disabled, so
    wierd stuff would happen with rendering to a tiled front buffer.

    This checks if the surface regs are assigned to bos and reprograms
    the surface registers on resume using the same path that clears
    them all on init.

    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • Sent the wrong patch earlier.

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • This would allow to catch driver callback error of not properly
    setting the eviction placement structure.

    Signed-off-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Jerome Glisse
     
  • This would allow us to properly unload others module like TTM if
    initialization fails after we initiliazed TTM structure.

    Signed-off-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Jerome Glisse
     
  • Stupid bug, somehow copying the eviction placements into the
    result structure was missing.

    Signed-off-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Jerome Glisse
     
  • radeon_atombios_fini might be call while there is not valid
    atombios structure allocated, thus test for a not null ptr
    before trying to access this structure.

    Signed-off-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Jerome Glisse
     
  • Supported on all AVIVO-based asics.
    Can be disabled via the new_pll module parameter:
    new_pll=0 - disable
    new_pll=1 - enable
    enabled by default

    [airlied: fixed to use do_div]
    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • We only want to return here for errors, the wait functions return
    a positive timeout otherwise, which gets back to userspace and
    causes X to crash here.

    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • Also sets affected TTM calls up to not wait interruptible, since
    that would cause an in-kernel spin until the TTM call succeeds, since
    the Radeon code does not return to user-space when a signal is received.

    Modifies interruptible fence waits to return -ERESTARTSYS rather than
    -EBUSY when interrupted by a signal, since that's the (yet undocumented)
    semantics required by the TTM sync object hooks.

    Signed-off-by: Thomas Hellstrom
    Signed-off-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Thomas Hellstrom
     
  • Return -ERESTARTSYS instead of -ERESTART when interrupted by a signal.
    The -ERESTARTSYS is converted to an -EINTR by the kernel signal layer
    before returned to user-space.

    Signed-off-by: Thomas Hellstrom
    Signed-off-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Thomas Hellstrom