18 Dec, 2012

2 commits

  • Ptrace jailers want to be sure that the tracee can never escape
    from the control. However if the tracer dies unexpectedly the
    tracee continues to run in potentially unsafe mode.

    Add the new ptrace option PTRACE_O_EXITKILL. If the tracer exits
    it sends SIGKILL to every tracee which has this bit set.

    Note that the new option is not equal to the last-option << 1. Because
    currently all options have an event, and the new one starts the eventless
    group. It uses the random 20 bit, so we have the room for 12 more events,
    but we can also add the new eventless options below this one.

    Suggested by Amnon Shiloh.

    Signed-off-by: Oleg Nesterov
    Tested-by: Amnon Shiloh
    Cc: Denys Vlasenko
    Cc: Michael Kerrisk
    Cc: Serge Hallyn
    Cc: Chris Evans
    Cc: David Howells
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • Pull DRM updates from Dave Airlie:
    "This is the one and only next pull for 3.8, we had a regression we
    found last week, so I was waiting for that to resolve itself, and I
    ended up with some Intel fixes on top as well.

    Highlights:
    - new driver: nvidia tegra 20/30/hdmi support
    - radeon: add support for previously unused DMA engines, more HDMI
    regs, eviction speeds ups and fixes
    - i915: HSW support enable, agp removal on GEN6, seqno wrapping
    - exynos: IPP subsystem support (image post proc), HDMI
    - nouveau: display class reworking, nv20->40 z compression
    - ttm: start of locking fixes, rcu usage for lookups,
    - core: documentation updates, docbook integration, monotonic clock
    usage, move from connector to object properties"

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (590 commits)
    drm/exynos: add gsc ipp driver
    drm/exynos: add rotator ipp driver
    drm/exynos: add fimc ipp driver
    drm/exynos: add iommu support for ipp
    drm/exynos: add ipp subsystem
    drm/exynos: support device tree for fimd
    radeon: fix regression with eviction since evict caching changes
    drm/radeon: add more pedantic checks in the CP DMA checker
    drm/radeon: bump version for CS ioctl support for async DMA
    drm/radeon: enable the async DMA rings in the CS ioctl
    drm/radeon: add VM CS parser support for async DMA on cayman/TN/SI
    drm/radeon/kms: add evergreen/cayman CS parser for async DMA (v2)
    drm/radeon/kms: add 6xx/7xx CS parser for async DMA (v2)
    drm/radeon: fix htile buffer size computation for command stream checker
    drm/radeon: fix fence locking in the pageflip callback
    drm/radeon: make indirect register access concurrency-safe
    drm/radeon: add W|RREG32_IDX for MM_INDEX|DATA based mmio accesss
    drm/exynos: support extended screen coordinate of fimd
    drm/exynos: fix x, y coordinates for right bottom pixel
    drm/exynos: fix fb offset calculation for plane
    ...

    Linus Torvalds
     

17 Dec, 2012

1 commit

  • Pull Automatic NUMA Balancing bare-bones from Mel Gorman:
    "There are three implementations for NUMA balancing, this tree
    (balancenuma), numacore which has been developed in tip/master and
    autonuma which is in aa.git.

    In almost all respects balancenuma is the dumbest of the three because
    its main impact is on the VM side with no attempt to be smart about
    scheduling. In the interest of getting the ball rolling, it would be
    desirable to see this much merged for 3.8 with the view to building
    scheduler smarts on top and adapting the VM where required for 3.9.

    The most recent set of comparisons available from different people are

    mel: https://lkml.org/lkml/2012/12/9/108
    mingo: https://lkml.org/lkml/2012/12/7/331
    tglx: https://lkml.org/lkml/2012/12/10/437
    srikar: https://lkml.org/lkml/2012/12/10/397

    The results are a mixed bag. In my own tests, balancenuma does
    reasonably well. It's dumb as rocks and does not regress against
    mainline. On the other hand, Ingo's tests shows that balancenuma is
    incapable of converging for this workloads driven by perf which is bad
    but is potentially explained by the lack of scheduler smarts. Thomas'
    results show balancenuma improves on mainline but falls far short of
    numacore or autonuma. Srikar's results indicate we all suffer on a
    large machine with imbalanced node sizes.

    My own testing showed that recent numacore results have improved
    dramatically, particularly in the last week but not universally.
    We've butted heads heavily on system CPU usage and high levels of
    migration even when it shows that overall performance is better.
    There are also cases where it regresses. Of interest is that for
    specjbb in some configurations it will regress for lower numbers of
    warehouses and show gains for higher numbers which is not reported by
    the tool by default and sometimes missed in treports. Recently I
    reported for numacore that the JVM was crashing with
    NullPointerExceptions but currently it's unclear what the source of
    this problem is. Initially I thought it was in how numacore batch
    handles PTEs but I'm no longer think this is the case. It's possible
    numacore is just able to trigger it due to higher rates of migration.

    These reports were quite late in the cycle so I/we would like to start
    with this tree as it contains much of the code we can agree on and has
    not changed significantly over the last 2-3 weeks."

    * tag 'balancenuma-v11' of git://git.kernel.org/pub/scm/linux/kernel/git/mel/linux-balancenuma: (50 commits)
    mm/rmap, migration: Make rmap_walk_anon() and try_to_unmap_anon() more scalable
    mm/rmap: Convert the struct anon_vma::mutex to an rwsem
    mm: migrate: Account a transhuge page properly when rate limiting
    mm: numa: Account for failed allocations and isolations as migration failures
    mm: numa: Add THP migration for the NUMA working set scanning fault case build fix
    mm: numa: Add THP migration for the NUMA working set scanning fault case.
    mm: sched: numa: Delay PTE scanning until a task is scheduled on a new node
    mm: sched: numa: Control enabling and disabling of NUMA balancing if !SCHED_DEBUG
    mm: sched: numa: Control enabling and disabling of NUMA balancing
    mm: sched: Adapt the scanning rate if a NUMA hinting fault does not migrate
    mm: numa: Use a two-stage filter to restrict pages being migrated for unlikely tasknode relationships
    mm: numa: migrate: Set last_nid on newly allocated page
    mm: numa: split_huge_page: Transfer last_nid on tail page
    mm: numa: Introduce last_nid to the page frame
    sched: numa: Slowly increase the scanning period as NUMA faults are handled
    mm: numa: Rate limit setting of pte_numa if node is saturated
    mm: numa: Rate limit the amount of memory that is migrated between nodes
    mm: numa: Structures for Migrate On Fault per NUMA migration rate limiting
    mm: numa: Migrate pages handled during a pmd_numa hinting fault
    mm: numa: Migrate on reference policy
    ...

    Linus Torvalds
     

16 Dec, 2012

1 commit

  • …daeinki/drm-exynos into drm-next

    Inki writes:
    "- add dmabuf attach/detach feature
    . This patch would resolve performance deterioration issue
    when v4l2-based driver is using the buffer imported from gem.
    - drm/exynos: use DMA_ATTR_NO_KERNEL_MAPPING attribute
    . With gem allocation, kernel space mapping isn't allocated and
    also physical pages aren't mapped with the kernel space.
    The physical pages are mapped with kernel space though vmap
    function only for console framebuffer.
    - add the below two patches I missed.
    drm: exynos: moved exynos drm device registration to drm driver
    drm: exynos: moved exynos drm hdmi device registration to drm driver
    - add IPP subsystem framework and its-based device drivers.
    . This patch set includes fimc, rotator and gsc drivers to perform
    image scaling, rotation and color space conversion.
    - add runtime pm support to hdmi driver.
    - And fixups and cleanups."

    * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (30 commits)
    drm/exynos: add gsc ipp driver
    drm/exynos: add rotator ipp driver
    drm/exynos: add fimc ipp driver
    drm/exynos: add iommu support for ipp
    drm/exynos: add ipp subsystem
    drm/exynos: support device tree for fimd
    drm/exynos: support extended screen coordinate of fimd
    drm/exynos: fix x, y coordinates for right bottom pixel
    drm/exynos: fix fb offset calculation for plane
    drm/exynos: hdmi: Fix potential NULL pointer dereference error
    drm/exynos: hdmi: Add CONFIG_OF and use of_match_ptr() macro
    drm/exynos: add support for hdmiphy power control for exynos5
    drm/exynos: add runtime pm support for mixer
    drm/exynos: added runtime pm support for hdmi
    drm/exynos: fix allocation and cache mapping type
    drm/exynos: reorder framebuffer init sequence
    drm/exynos/iommu: fix return value check in drm_create_iommu_mapping()
    drm/exynos: remove unused vaddr member
    drm/exynos: use DMA_ATTR_NO_KERNEL_MAPPING attribute
    drm/exynos: add exception codes to exynos_drm_fbdev_create()
    ...

    Dave Airlie
     

15 Dec, 2012

2 commits

  • Pull x86 EFI update from Peter Anvin:
    "EFI tree, from Matt Fleming. Most of the patches are the new efivarfs
    filesystem by Matt Garrett & co. The balance are support for EFI
    wallclock in the absence of a hardware-specific driver, and various
    fixes and cleanups."

    * 'core-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
    efivarfs: Make efivarfs_fill_super() static
    x86, efi: Check table header length in efi_bgrt_init()
    efivarfs: Use query_variable_info() to limit kmalloc()
    efivarfs: Fix return value of efivarfs_file_write()
    efivarfs: Return a consistent error when efivarfs_get_inode() fails
    efivarfs: Make 'datasize' unsigned long
    efivarfs: Add unique magic number
    efivarfs: Replace magic number with sizeof(attributes)
    efivarfs: Return an error if we fail to read a variable
    efi: Clarify GUID length calculations
    efivarfs: Implement exclusive access for {get,set}_variable
    efivarfs: efivarfs_fill_super() ensure we clean up correctly on error
    efivarfs: efivarfs_fill_super() ensure we free our temporary name
    efivarfs: efivarfs_fill_super() fix inode reference counts
    efivarfs: efivarfs_create() ensure we drop our reference on inode on error
    efivarfs: efivarfs_file_read ensure we free data in error paths
    x86-64/efi: Use EFI to deal with platform wall clock (again)
    x86/kernel: remove tboot 1:1 page table creation code
    x86, efi: 1:1 pagetable mapping for virtual EFI calls
    x86, mm: Include the entire kernel memory map in trampoline_pgd
    ...

    Linus Torvalds
     
  • This patch adds Image Post Processing(IPP) support for exynos drm driver.

    IPP supports image scaler/rotator and input/output DMA operations
    using IPP subsystem framework to control FIMC, Rotator and GSC hardware
    and supports some user interfaces for user side.

    And each IPP-based drivers support Memory to Memory operations
    with various converting. And in case of FIMC hardware, it also supports
    Writeback and Display output operations through local path.

    Features:
    - Memory to Memory operation support.
    - Various pixel formats support.
    - Image scaling support.
    - Color Space Conversion support.
    - Image crop operation support.
    - Rotate operation support to 90, 180 or 270 degree.
    - Flip operation support to vertical, horizontal or both.
    - Writeback operation support to display blended image of FIMD fifo on screen

    A summary to IPP Subsystem operations:
    First of all, user should get property capabilities from IPP subsystem
    and set these properties to hardware registers for desired operations.
    The properties could be pixel format, position, rotation degree and
    flip operation.

    And next, user should set source and destination buffer data using
    DRM_EXYNOS_IPP_QUEUE_BUF ioctl command with gem handles to source and
    destinition buffers.

    And next, user can control user-desired hardware with desired operations
    such as play, stop, pause and resume controls.

    And finally, user can aware of dma operation completion and also get
    destination buffer that it contains user-desried result through dequeue
    command.

    IOCTL commands:
    - DRM_EXYNOS_IPP_GET_PROPERTY
    . get ipp driver capabilitis and id.
    - DRM_EXYNOS_IPP_SET_PROPERTY
    . set format, position, rotation, flip to source and destination buffers
    - DRM_EXYNOS_IPP_QUEUE_BUF
    . enqueue/dequeue buffer and make event list.
    - DRM_EXYNOS_IPP_CMD_CTRL
    . play/stop/pause/resume control.

    Event:
    - DRM_EXYNOS_IPP_EVENT
    . a event to notify dma operation completion to user side.

    Basic control flow:
    Open -> Get properties -> User choose desired IPP sub driver(FIMC, Rotator
    or GSCALER) -> Set Property -> Create gem handle -> Enqueue to source and
    destination buffers -> Command control(Play) -> Event is notified to User
    -> User gets destinition buffer complated -> (Enqueue to source and
    destination buffers -> Event is notified to User) * N -> Queue/Dequeue to
    source and destination buffers -> Command control(Stop) -> Free gem handle
    -> Close

    Changelog v1 ~ v5:
    - added comments, code fixups and cleanups.

    Signed-off-by: Eunchul Kim
    Signed-off-by: Jinyoung Jeon
    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Eunchul Kim
     

14 Dec, 2012

9 commits

  • This enables the functionality added in the previous
    patches. Userspace acceleration drivers can use the
    CS ioctl to submit command buffers to the async DMA
    rings.

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • Pull media updates from Mauro Carvalho Chehab:

    - Missing MAINTAINERS entries were added for several drivers

    - Adds V4L2 support for DMABUF handling, allowing zero-copy buffer
    sharing between V4L2 devices and GPU

    - Got rid of all warnings when compiling with W=1 on x86

    - Add a new driver for Exynos hardware (s3c-camif)

    - Several bug fixes, cleanups and driver improvements

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (243 commits)
    [media] omap3isp: Replace cpu_is_omap3630() with ISP revision check
    [media] omap3isp: Prepare/unprepare clocks before/after enable/disable
    [media] omap3isp: preview: Add support for 8-bit formats at the sink pad
    [media] omap3isp: Replace printk with dev_*
    [media] omap3isp: Find source pad from external entity
    [media] omap3isp: Configure CSI-2 phy based on platform data
    [media] omap3isp: Add PHY routing configuration
    [media] omap3isp: Add CSI configuration registers from control block to ISP resources
    [media] omap3isp: Remove unneeded module memory address definitions
    [media] omap3isp: Use monotonic timestamps for statistics buffers
    [media] uvcvideo: Fix control value clamping for unsigned integer controls
    [media] uvcvideo: Mark first output terminal as default video node
    [media] uvcvideo: Add VIDIOC_[GS]_PRIORITY support
    [media] uvcvideo: Return -ENOTTY for unsupported ioctls
    [media] uvcvideo: Set device_caps in VIDIOC_QUERYCAP
    [media] uvcvideo: Don't fail when an unsupported format is requested
    [media] uvcvideo: Return -EACCES when trying to access a read/write-only control
    [media] uvcvideo: Set error_idx properly for extended controls API failures
    [media] rtl28xxu: add NOXON DAB/DAB+ USB dongle rev 2
    [media] fc2580: write some registers conditionally
    ...

    Linus Torvalds
     
  • Pull infiniband upate from Roland Dreier:
    "First batch of InfiniBand/RDMA changes for the 3.8 merge window:
    - A good chunk of Bart Van Assche's SRP fixes
    - UAPI disintegration from David Howells
    - mlx4 support for "64-byte CQE" hardware feature from Or Gerlitz
    - Other miscellaneous fixes"

    Fix up trivial conflict in mellanox/mlx4 driver.

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (33 commits)
    RDMA/nes: Fix for crash when registering zero length MR for CQ
    RDMA/nes: Fix for terminate timer crash
    RDMA/nes: Fix for BUG_ON due to adding already-pending timer
    IB/srp: Allow SRP disconnect through sysfs
    srp_transport: Document sysfs attributes
    srp_transport: Simplify attribute initialization code
    srp_transport: Fix attribute registration
    IB/srp: Document sysfs attributes
    IB/srp: send disconnect request without waiting for CM timewait exit
    IB/srp: destroy and recreate QP and CQs when reconnecting
    IB/srp: Eliminate state SRP_TARGET_DEAD
    IB/srp: Introduce the helper function srp_remove_target()
    IB/srp: Suppress superfluous error messages
    IB/srp: Process all error completions
    IB/srp: Introduce srp_handle_qp_err()
    IB/srp: Simplify SCSI error handling
    IB/srp: Keep processing commands during host removal
    IB/srp: Eliminate state SRP_TARGET_CONNECTING
    IB/srp: Increase block layer timeout
    RDMA/cm: Change return value from find_gid_port()
    ...

    Linus Torvalds
     
  • Pull KVM updates from Marcelo Tosatti:
    "Considerable KVM/PPC work, x86 kvmclock vsyscall support,
    IA32_TSC_ADJUST MSR emulation, amongst others."

    Fix up trivial conflict in kernel/sched/core.c due to cross-cpu
    migration notifier added next to rq migration call-back.

    * tag 'kvm-3.8-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (156 commits)
    KVM: emulator: fix real mode segment checks in address linearization
    VMX: remove unneeded enable_unrestricted_guest check
    KVM: VMX: fix DPL during entry to protected mode
    x86/kexec: crash_vmclear_local_vmcss needs __rcu
    kvm: Fix irqfd resampler list walk
    KVM: VMX: provide the vmclear function and a bitmap to support VMCLEAR in kdump
    x86/kexec: VMCLEAR VMCSs loaded on all cpus if necessary
    KVM: MMU: optimize for set_spte
    KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface
    KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation
    KVM: PPC: bookehv: Add guest computation mode for irq delivery
    KVM: PPC: Make EPCR a valid field for booke64 and bookehv
    KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit
    KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation
    KVM: PPC: Mask ea's high 32-bits in 32/64 instr emulation
    KVM: PPC: e500: Add emulation helper for getting instruction ea
    KVM: PPC: bookehv64: Add support for interrupt handling
    KVM: PPC: bookehv: Remove GET_VCPU macro from exception handler
    KVM: PPC: booke: Fix get_tb() compile error on 64-bit
    KVM: PPC: e500: Silence bogus GCC warning in tlb code
    ...

    Linus Torvalds
     
  • Pull networking fixes from David Miller:
    "A pile of fixes in response to yesterday's big merge. The SCTP HMAC
    thing hasn't been addressed yet, I'll take care of that myself if Neil
    and Vlad don't show signs of life by tomorrow.

    1) Use after free of SKB in tuntap code. Fix by Eric Dumazet,
    reported by Dave Jones.

    2) NFC LLCP code emits annoying kernel log message, triggerable by
    the user. From Dave Jones.

    3) Fix several endianness bugs noticed by sparse in the bridging
    code, from Stephen Hemminger.

    4) Ipv6 NDISC code doesn't take padding into account properly, fix
    from YOSHIFUJI Hideaki.

    5) Add missing docs to ethtool_flow_ext struct, from Yan Burman."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    bridge: fix icmpv6 endian bug and other sparse warnings
    net: ethool: Document struct ethtool_flow_ext
    ndisc: Fix padding error in link-layer address option.
    tuntap: dont use skb after netif_rx_ni(skb)
    nfc: remove noisy message from llcp_sock_sendmsg

    Linus Torvalds
     
  • Pull PCI update from Bjorn Helgaas:
    "Host bridge hotplug:
    - Untangle _PRT from struct pci_bus (Bjorn Helgaas)
    - Request _OSC control before scanning root bus (Taku Izumi)
    - Assign resources when adding host bridge (Yinghai Lu)
    - Remove root bus when removing host bridge (Yinghai Lu)
    - Remove _PRT during hot remove (Yinghai Lu)

    SRIOV
    - Add sysfs knobs to control numVFs (Don Dutile)

    Power management
    - Notify devices when power resource turned on (Huang Ying)

    Bug fixes
    - Work around broken _SEG on HP xw9300 (Bjorn Helgaas)
    - Keep runtime PM enabled for unbound PCI devices (Huang Ying)
    - Fix Optimus dual-GPU runtime D3 suspend issue (Dave Airlie)
    - Fix xen frontend shutdown issue (David Vrabel)
    - Work around PLX PCI 9050 BAR alignment erratum (Ian Abbott)

    Miscellaneous
    - Add GPL license for drivers/pci/ioapic (Andrew Cooks)
    - Add standard PCI-X, PCIe ASPM register #defines (Bjorn Helgaas)
    - NumaChip remote PCI support (Daniel Blueman)
    - Fix PCIe Link Capabilities Supported Link Speed definition (Jingoo
    Han)
    - Convert dev_printk() to dev_info(), etc (Joe Perches)
    - Add support for non PCI BAR ROM data (Matthew Garrett)
    - Add x86 support for host bridge translation offset (Mike Yoknis)
    - Report success only when every driver supports AER (Vijay
    Pandarathil)"

    Fix up trivial conflicts.

    * tag 'for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (48 commits)
    PCI: Use phys_addr_t for physical ROM address
    x86/PCI: Add NumaChip remote PCI support
    ath9k: Use standard #defines for PCIe Capability ASPM fields
    iwlwifi: Use standard #defines for PCIe Capability ASPM fields
    iwlwifi: collapse wrapper for pcie_capability_read_word()
    iwlegacy: Use standard #defines for PCIe Capability ASPM fields
    iwlegacy: collapse wrapper for pcie_capability_read_word()
    cxgb3: Use standard #defines for PCIe Capability ASPM fields
    PCI: Add standard PCIe Capability Link ASPM field names
    PCI/portdrv: Use PCI Express Capability accessors
    PCI: Use standard PCIe Capability Link register field names
    x86: Use PCI setup data
    PCI: Add support for non-BAR ROMs
    PCI: Add pcibios_add_device
    EFI: Stash ROMs if they're not in the PCI BAR
    PCI: Add and use standard PCI-X Capability register names
    PCI/PM: Keep runtime PM enabled for unbound PCI devices
    xen-pcifront: Handle backend CLOSED without CLOSING
    PCI: SRIOV control and status via sysfs (documentation)
    PCI/AER: Report success only when every device has AER-aware driver
    ...

    Linus Torvalds
     
  • Pull HID subsystem updates from Jiri Kosina:

    1) Support for HID over I2C bus has been added by Benjamin Tissoires.
    ACPI device discovery is still in the works.

    2) Support for Win8 Multitiouch protocol is being added, most work done
    by Benjamin Tissoires as well

    3) EIO/ERESTARTSYS is fixed in hiddev/hidraw, fixes by Andrew Duggan
    and Jiri Kosina

    4) ION iCade driver added by Bastien Nocera

    5) Support for a couple new Roccat devices has been added by Stefan
    Achatz

    6) HID sensor hubs are now auto-detected instead of having to list all
    the VID/PID combinations in the blacklist array

    7) other random fixes and support for new device IDs

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (65 commits)
    HID: i2c-hid: add mutex protecting open/close race
    Revert "HID: sensors: add to special driver list"
    HID: sensors: autodetect USB HID sensor hubs
    HID: hidp: fallback to input session properly if hid is blacklisted
    HID: i2c-hid: fix ret_count check
    HID: i2c-hid: fix i2c_hid_get_raw_report count mismatches
    HID: i2c-hid: remove extra .irq field in struct i2c_hid
    HID: i2c-hid: reorder allocation/free of buffers
    HID: i2c-hid: fix memory corruption due to missing hid declaration
    HID: i2c-hid: remove superfluous include
    HID: i2c-hid: remove unneeded test in i2c_hid_remove
    HID: i2c-hid: i2c_hid_get_report may fail
    HID: i2c-hid: also call i2c_hid_free_buffers in i2c_hid_remove
    HID: i2c-hid: fix error messages
    HID: i2c-hid: fix return paths
    HID: i2c-hid: remove unused static declarations
    HID: i2c-hid: fix i2c_hid_dbg macro
    HID: i2c-hid: fix checkpatch.pl warning
    HID: i2c-hid: enhance Kconfig
    HID: i2c-hid: change I2C name
    ...

    Linus Torvalds
     
  • Pull sound updates from Takashi Iwai:
    "This update contains a fairly wide range of changes all over in sound
    subdirectory, mainly because of UAPI header moves by David and __dev*
    annotation removals by Bill. Other highlights are:

    - Introduced the support for wallclock timestamps in ALSA PCM core

    - Add the poll loop implementation for HD-audio jack detection

    - Yet more VGA-switcheroo fixes for HD-audio

    - New VIA HD-audio codec support

    - More fixes on resource management in USB audio and MIDI drivers

    - More quirks for USB-audio ASUS Xonar U3, Reloop Play, Focusrite,
    Roland VG-99, etc

    - Add support for FastTrack C400 usb-audio

    - Clean ups in many drivers regarding firmware loading

    - Add PSC724 Ultiimate Edge support to ice1712

    - A few hdspm driver updates

    - New Stanton SCS.1d/1m FireWire driver

    - Standardisation of the logging in ASoC codes

    - DT and dmaengine support for ASoC Atmel

    - Support for Wolfson ADSP cores

    - New drivers for Freescale/iVeia P1022 and Maxim MAX98090

    - Lots of other ASoC driver fixes and developments"

    Fix up trivial conflicts. And go out on a limb and assume the dts file
    'status' field of one of the conflicting things was supposed to be
    "disabled", not "disable" like in pretty much all other cases.

    * tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (341 commits)
    ALSA: hda - Move runtime PM check to runtime_idle callback
    ALSA: hda - Add stereo-dmic fixup for Acer Aspire One 522
    ALSA: hda - Avoid doubly suspend after vga switcheroo
    ALSA: usb-audio: Enable S/PDIF on the ASUS Xonar U3
    ALSA: hda - Check validity of CORB/RIRB WP reads
    ALSA: hda - use usleep_range in link reset and change timeout check
    ALSA: HDA: VIA: Add support for codec VT1808.
    ALSA: HDA: VIA Add support for codec VT1705CF.
    ASoC: codecs: remove __dev* attributes
    ASoC: utils: remove __dev* attributes
    ASoC: ux500: remove __dev* attributes
    ASoC: txx9: remove __dev* attributes
    ASoC: tegra: remove __dev* attributes
    ASoC: spear: remove __dev* attributes
    ASoC: sh: remove __dev* attributes
    ASoC: s6000: remove __dev* attributes
    ASoC: OMAP: remove __dev* attributes
    ASoC: nuc900: remove __dev* attributes
    ASoC: mxs: remove __dev* attributes
    ASoC: kirkwood: remove __dev* attributes
    ...

    Linus Torvalds
     
  • Add documentation for struct ethtool_flow_ext especially in regard
    to what flags are needed for which fields.

    Signed-off-by: Yan Burman
    Reviewed-by: Ben Hutchings
    Signed-off-by: David S. Miller

    Yan Burman
     

13 Dec, 2012

5 commits

  • Pull networking changes from David Miller:

    1) Allow to dump, monitor, and change the bridge multicast database
    using netlink. From Cong Wang.

    2) RFC 5961 TCP blind data injection attack mitigation, from Eric
    Dumazet.

    3) Networking user namespace support from Eric W. Biederman.

    4) tuntap/virtio-net multiqueue support by Jason Wang.

    5) Support for checksum offload of encapsulated packets (basically,
    tunneled traffic can still be checksummed by HW). From Joseph
    Gasparakis.

    6) Allow BPF filter access to VLAN tags, from Eric Dumazet and
    Daniel Borkmann.

    7) Bridge port parameters over netlink and BPDU blocking support
    from Stephen Hemminger.

    8) Improve data access patterns during inet socket demux by rearranging
    socket layout, from Eric Dumazet.

    9) TIPC protocol updates and cleanups from Ying Xue, Paul Gortmaker, and
    Jon Maloy.

    10) Update TCP socket hash sizing to be more in line with current day
    realities. The existing heurstics were choosen a decade ago.
    From Eric Dumazet.

    11) Fix races, queue bloat, and excessive wakeups in ATM and
    associated drivers, from Krzysztof Mazur and David Woodhouse.

    12) Support DOVE (Distributed Overlay Virtual Ethernet) extensions
    in VXLAN driver, from David Stevens.

    13) Add "oops_only" mode to netconsole, from Amerigo Wang.

    14) Support set and query of VEB/VEPA bridge mode via PF_BRIDGE, also
    allow DCB netlink to work on namespaces other than the initial
    namespace. From John Fastabend.

    15) Support PTP in the Tigon3 driver, from Matt Carlson.

    16) tun/vhost zero copy fixes and improvements, plus turn it on
    by default, from Michael S. Tsirkin.

    17) Support per-association statistics in SCTP, from Michele
    Baldessari.

    And many, many, driver updates, cleanups, and improvements. Too
    numerous to mention individually.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1722 commits)
    net/mlx4_en: Add support for destination MAC in steering rules
    net/mlx4_en: Use generic etherdevice.h functions.
    net: ethtool: Add destination MAC address to flow steering API
    bridge: add support of adding and deleting mdb entries
    bridge: notify mdb changes via netlink
    ndisc: Unexport ndisc_{build,send}_skb().
    uapi: add missing netconf.h to export list
    pkt_sched: avoid requeues if possible
    solos-pci: fix double-free of TX skb in DMA mode
    bnx2: Fix accidental reversions.
    bna: Driver Version Updated to 3.1.2.1
    bna: Firmware update
    bna: Add RX State
    bna: Rx Page Based Allocation
    bna: TX Intr Coalescing Fix
    bna: Tx and Rx Optimizations
    bna: Code Cleanup and Enhancements
    ath9k: check pdata variable before dereferencing it
    ath5k: RX timestamp is reported at end of frame
    ath9k_htc: RX timestamp is reported at end of frame
    ...

    Linus Torvalds
     
  • Add ability to specify destination MAC address for L3/L4 flow spec
    in order to be able to specify action for different VM's under vSwitch
    configuration. This change is transparent to older userspace.

    Signed-off-by: Yan Burman
    Signed-off-by: Amir Vadai
    Signed-off-by: David S. Miller

    Yan Burman
     
  • This patch implents adding/deleting mdb entries via netlink.
    Currently all entries are temp, we probably need a flag to distinguish
    permanent entries too.

    Cc: Herbert Xu
    Cc: Stephen Hemminger
    Cc: "David S. Miller"
    Cc: Thomas Graf
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Cong Wang
     
  • As Stephen mentioned, we need to monitor the mdb
    changes in user-space, so add notifications via netlink too.

    Cc: Herbert Xu
    Cc: Stephen Hemminger
    Cc: "David S. Miller"
    Cc: Thomas Graf
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Cong Wang
     
  • Add netconf.h for use by iproute2.

    Signed-off-by: Stephen Hemminger
    Acked-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    stephen hemminger
     

12 Dec, 2012

3 commits

  • Merge misc updates from Andrew Morton:
    "About half of most of MM. Going very early this time due to
    uncertainty over the coreautounifiednumasched things. I'll send the
    other half of most of MM tomorrow. The rest of MM awaits a slab merge
    from Pekka."

    * emailed patches from Andrew Morton: (71 commits)
    memory_hotplug: ensure every online node has NORMAL memory
    memory_hotplug: handle empty zone when online_movable/online_kernel
    mm, memory-hotplug: dynamic configure movable memory and portion memory
    drivers/base/node.c: cleanup node_state_attr[]
    bootmem: fix wrong call parameter for free_bootmem()
    avr32, kconfig: remove HAVE_ARCH_BOOTMEM
    mm: cma: remove watermark hacks
    mm: cma: skip watermarks check for already isolated blocks in split_free_page()
    mm, oom: fix race when specifying a thread as the oom origin
    mm, oom: change type of oom_score_adj to short
    mm: cleanup register_node()
    mm, mempolicy: remove duplicate code
    mm/vmscan.c: try_to_freeze() returns boolean
    mm: introduce putback_movable_pages()
    virtio_balloon: introduce migration primitives to balloon pages
    mm: introduce compaction and migration for ballooned pages
    mm: introduce a common interface for balloon pages mobility
    mm: redefine address_space.assoc_mapping
    mm: adjust address_space_operations.migratepage() return code
    arch/sparc/kernel/sys_sparc_64.c: s/COLOUR/COLOR/
    ...

    Linus Torvalds
     
  • There was some desire in large applications using MAP_HUGETLB or
    SHM_HUGETLB to use 1GB huge pages on some mappings, and stay with 2MB on
    others. This is useful together with NUMA policy: use 2MB interleaving
    on some mappings, but 1GB on local mappings.

    This patch extends the IPC/SHM syscall interfaces slightly to allow
    specifying the page size.

    It borrows some upper bits in the existing flag arguments and allows
    encoding the log of the desired page size in addition to the *_HUGETLB
    flag. When 0 is specified the default size is used, this makes the
    change fully compatible.

    Extending the internal hugetlb code to handle this is straight forward.
    Instead of a single mount it just keeps an array of them and selects the
    right mount based on the specified page size. When no page size is
    specified it uses the mount of the default page size.

    The change is not visible in /proc/mounts because internal mounts don't
    appear there. It also has very little overhead: the additional mounts
    just consume a super block, but not more memory when not used.

    I also exported the new flags to the user headers (they were previously
    under __KERNEL__). Right now only symbols for x86 and some other
    architecture for 1GB and 2MB are defined. The interface should already
    work for all other architectures though. Only architectures that define
    multiple hugetlb sizes actually need it (that is currently x86, tile,
    powerpc). However tile and powerpc have user configurable hugetlb
    sizes, so it's not easy to add defines. A program on those
    architectures would need to query sysfs and use the appropiate log2.

    [akpm@linux-foundation.org: cleanups]
    [rientjes@google.com: fix build]
    [akpm@linux-foundation.org: checkpatch fixes]
    Signed-off-by: Andi Kleen
    Cc: Michael Kerrisk
    Acked-by: Rik van Riel
    Acked-by: KAMEZAWA Hiroyuki
    Cc: Hillf Danton
    Signed-off-by: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • Pull TTY/Serial merge from Greg Kroah-Hartman:
    "Here's the big tty/serial tree set of changes for 3.8-rc1.

    Contained in here is a bunch more reworks of the tty port layer from
    Jiri and bugfixes from Alan, along with a number of other tty and
    serial driver updates by the various driver authors.

    Also, Jiri has been coerced^Wconvinced to be the co-maintainer of the
    TTY layer, which is much appreciated by me.

    All of these have been in the linux-next tree for a while.

    Signed-off-by: Greg Kroah-Hartman "

    Fixed up some trivial conflicts in the staging tree, due to the fwserial
    driver having come in both ways (but fixed up a bit in the serial tree),
    and the ioctl handling in the dgrp driver having been done slightly
    differently (staging tree got that one right, and removed both
    TIOCGSOFTCAR and TIOCSSOFTCAR).

    * tag 'tty-3.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (146 commits)
    staging: sb105x: fix potential NULL pointer dereference in mp_chars_in_buffer()
    staging/fwserial: Remove superfluous free
    staging/fwserial: Use WARN_ONCE when port table is corrupted
    staging/fwserial: Destruct embedded tty_port on teardown
    staging/fwserial: Fix build breakage when !CONFIG_BUG
    staging: fwserial: Add TTY-over-Firewire serial driver
    drivers/tty/serial/serial_core.c: clean up HIGH_BITS_OFFSET usage
    staging: dgrp: dgrp_tty.c: Audit the return values of get/put_user()
    staging: dgrp: dgrp_tty.c: Remove the TIOCSSOFTCAR ioctl handler from dgrp driver
    serial: ifx6x60: Add modem power off function in the platform reboot process
    serial: mxs-auart: unmap the scatter list before we copy the data
    serial: mxs-auart: disable the Receive Timeout Interrupt when DMA is enabled
    serial: max310x: Setup missing "can_sleep" field for GPIO
    tty/serial: fix ifx6x60.c declaration warning
    serial: samsung: add devicetree properties for non-Exynos SoCs
    serial: samsung: fix potential soft lockup during uart write
    tty: vt: Remove redundant null check before kfree.
    tty/8250 Add check for pci_ioremap_bar failure
    tty/8250 Add support for Commtech's Fastcom Async-335 and Fastcom Async-PCIe cards
    tty/8250 Add XR17D15x devices to the exar_handle_irq override
    ...

    Linus Torvalds
     

11 Dec, 2012

7 commits

  • This is the simplest possible policy that still does something of note.
    When a pte_numa is faulted, it is moved immediately. Any replacement
    policy must at least do better than this and in all likelihood this
    policy regresses normal workloads.

    Signed-off-by: Mel Gorman
    Acked-by: Rik van Riel

    Mel Gorman
     
  • The use of MPOL_NOOP and MPOL_MF_LAZY to allow an application to
    explicitly request lazy migration is a good idea but the actual
    API has not been well reviewed and once released we have to support it.
    For now this patch prevents an application using the services. This
    will need to be revisited.

    Signed-off-by: Mel Gorman

    Mel Gorman
     
  • NOTE: Once again there is a lot of patch stealing and the end result
    is sufficiently different that I had to drop the signed-offs.
    Will re-add if the original authors are ok with that.

    This patch adds another mbind() flag to request "lazy migration". The
    flag, MPOL_MF_LAZY, modifies MPOL_MF_MOVE* such that the selected
    pages are marked PROT_NONE. The pages will be migrated in the fault
    path on "first touch", if the policy dictates at that time.

    "Lazy Migration" will allow testing of migrate-on-fault via mbind().
    Also allows applications to specify that only subsequently touched
    pages be migrated to obey new policy, instead of all pages in range.
    This can be useful for multi-threaded applications working on a
    large shared data area that is initialized by an initial thread
    resulting in all pages on one [or a few, if overflowed] nodes.
    After PROT_NONE, the pages in regions assigned to the worker threads
    will be automatically migrated local to the threads on 1st touch.

    Signed-off-by: Mel Gorman
    Reviewed-by: Rik van Riel

    Lee Schermerhorn
     
  • This patch provides a new function to test whether a page resides
    on a node that is appropriate for the mempolicy for the vma and
    address where the page is supposed to be mapped. This involves
    looking up the node where the page belongs. So, the function
    returns that node so that it may be used to allocated the page
    without consulting the policy again.

    A subsequent patch will call this function from the fault path.
    Because of this, I don't want to go ahead and allocate the page, e.g.,
    via alloc_page_vma() only to have to free it if it has the correct
    policy. So, I just mimic the alloc_page_vma() node computation
    logic--sort of.

    Note: we could use this function to implement a MPOL_MF_STRICT
    behavior when migrating pages to match mbind() mempolicy--e.g.,
    to ensure that pages in an interleaved range are reinterleaved
    rather than left where they are when they reside on any page in
    the interleave nodemask.

    Signed-off-by: Lee Schermerhorn
    Reviewed-by: Rik van Riel
    Cc: Andrew Morton
    Cc: Linus Torvalds
    [ Added MPOL_F_LAZY to trigger migrate-on-fault;
    simplified code now that we don't have to bother
    with special crap for interleaved ]
    Signed-off-by: Peter Zijlstra
    Signed-off-by: Ingo Molnar
    Signed-off-by: Mel Gorman

    Lee Schermerhorn
     
  • This patch augments the MPOL_MF_LAZY feature by adding a "NOOP" policy
    to mbind(). When the NOOP policy is used with the 'MOVE and 'LAZY
    flags, mbind() will map the pages PROT_NONE so that they will be
    migrated on the next touch.

    This allows an application to prepare for a new phase of operation
    where different regions of shared storage will be assigned to
    worker threads, w/o changing policy. Note that we could just use
    "default" policy in this case. However, this also allows an
    application to request that pages be migrated, only if necessary,
    to follow any arbitrary policy that might currently apply to a
    range of pages, without knowing the policy, or without specifying
    multiple mbind()s for ranges with different policies.

    [ Bug in early version of mpol_parse_str() reported by Fengguang Wu. ]

    Bug-Reported-by: Reported-by: Fengguang Wu
    Signed-off-by: Lee Schermerhorn
    Reviewed-by: Rik van Riel
    Cc: Andrew Morton
    Cc: Linus Torvalds
    Signed-off-by: Peter Zijlstra
    Signed-off-by: Ingo Molnar
    Signed-off-by: Mel Gorman

    Lee Schermerhorn
     
  • Make MPOL_LOCAL a real and exposed policy such that applications that
    relied on the previous default behaviour can explicitly request it.

    Requested-by: Christoph Lameter
    Reviewed-by: Rik van Riel
    Cc: Lee Schermerhorn
    Cc: Andrew Morton
    Cc: Linus Torvalds
    Signed-off-by: Peter Zijlstra
    Signed-off-by: Ingo Molnar
    Signed-off-by: Mel Gorman

    Peter Zijlstra
     
  • * for_3.8-rc1: (243 commits)
    [media] omap3isp: Replace cpu_is_omap3630() with ISP revision check
    [media] omap3isp: Prepare/unprepare clocks before/after enable/disable
    [media] omap3isp: preview: Add support for 8-bit formats at the sink pad
    [media] omap3isp: Replace printk with dev_*
    [media] omap3isp: Find source pad from external entity
    [media] omap3isp: Configure CSI-2 phy based on platform data
    [media] omap3isp: Add PHY routing configuration
    [media] omap3isp: Add CSI configuration registers from control block to ISP resources
    [media] omap3isp: Remove unneeded module memory address definitions
    [media] omap3isp: Use monotonic timestamps for statistics buffers
    [media] uvcvideo: Fix control value clamping for unsigned integer controls
    [media] uvcvideo: Mark first output terminal as default video node
    [media] uvcvideo: Add VIDIOC_[GS]_PRIORITY support
    [media] uvcvideo: Return -ENOTTY for unsupported ioctls
    [media] uvcvideo: Set device_caps in VIDIOC_QUERYCAP
    [media] uvcvideo: Don't fail when an unsupported format is requested
    [media] uvcvideo: Return -EACCES when trying to access a read/write-only control
    [media] uvcvideo: Set error_idx properly for extended controls API failures
    [media] rtl28xxu: add NOXON DAB/DAB+ USB dongle rev 2
    [media] fc2580: write some registers conditionally
    ...

    Mauro Carvalho Chehab
     

10 Dec, 2012

1 commit

  • Alex writes:
    Pretty minor -next pull request. We some additional new bits waiting
    internally for release. Hopefully Monday we can get at least some of
    them out. The others will probably take a few more weeks.

    Highlights of the current request:
    - ELD registers for passing audio information to the sound hardware
    - Handle GPUVM page faults more gracefully
    - Misc fixes

    Merge radeon test
    * 'drm-next-3.8' of git://people.freedesktop.org/~agd5f/linux: (483 commits)
    drm/radeon: bump driver version for new info ioctl requests
    drm/radeon: fix eDP clk and lane setup for scaled modes
    drm/radeon: add new INFO ioctl requests
    drm/radeon/dce32+: use fractional fb dividers for high clocks
    drm/radeon: use cached memory when evicting for vram on non agp
    drm/radeon: add a CS flag END_OF_FRAME
    drm/radeon: stop page faults from hanging the system (v2)
    drm/radeon/dce4/5: add registers for ELD handling
    drm/radeon/dce3.2: add registers for ELD handling
    radeon: fix pll/ctrc mapping on dce2 and dce3 hardware
    Linux 3.7-rc7
    powerpc/eeh: Do not invalidate PE properly
    Revert "drm/i915: enable rc6 on ilk again"
    ALSA: hda - Fix build without CONFIG_PM
    of/address: sparc: Declare of_iomap as an extern function for sparc again
    PM / QoS: fix wrong error-checking condition
    bnx2x: remove redundant warning log
    vxlan: fix command usage in its doc
    8139cp: revert "set ring address before enabling receiver"
    MPI: Fix compilation on MIPS with GCC 4.4 and newer
    ...

    Conflicts:
    drivers/gpu/drm/exynos/exynos_drm_encoder.c
    drivers/gpu/drm/exynos/exynos_drm_fbdev.c
    drivers/gpu/drm/nouveau/core/engine/disp/nv50.c

    Dave Airlie
     

09 Dec, 2012

1 commit

  • This patch adds the multiqueue (VIRTIO_NET_F_MQ) support to virtio_net
    driver. VIRTIO_NET_F_MQ capable device could allow the driver to do packet
    transmission and reception through multiple queue pairs and does the packet
    steering to get better performance. By default, one one queue pair is used, user
    could change the number of queue pairs by ethtool in the next patch.

    When multiple queue pairs is used and the number of queue pairs is equal to the
    number of vcpus. Driver does the following optimizations to implement per-cpu
    virt queue pairs:

    - select the txq based on the smp processor id.
    - smp affinity hint to the cpu that owns the queue pairs.

    This could be used with the flow steering support of the device to guarantee the
    packets of a single flow is handled by the same cpu.

    Signed-off-by: Krishna Kumar
    Signed-off-by: Jason Wang
    Signed-off-by: David S. Miller

    Jason Wang
     

08 Dec, 2012

6 commits

  • Add requests to get the number of shader engines (SE) and
    the number of SH per SE. These are needed for geometry
    and tesselation shaders in the 3D driver as well as setting
    up PA_SC_RASTER_CONFIG on SI asics.

    Signed-off-by: Alex Deucher

    Alex Deucher
     
  • No version bump is required because setting the flag on older DRM has
    no effect.

    This only reserves the bit and doesn't use it. I assume we will use it
    for buffer eviction heuristics.

    Signed-off-by: Marek Olšák

    Marek Olšák
     
  • V5: fix two bugs pointed out by Thomas
    remove seq check for now, mark it as TODO

    V4: remove some useless #include
    some coding style fix

    V3: drop debugging printk's
    update selinux perm table as well

    V2: drop patch 1/2, export ifindex directly
    Redesign netlink attributes
    Improve netlink seq check
    Handle IPv6 addr as well

    This patch exports bridge multicast database via netlink
    message type RTM_GETMDB. Similar to fdb, but currently bridge-specific.
    We may need to support modify multicast database too (RTM_{ADD,DEL}MDB).

    (Thanks to Thomas for patient reviews)

    Cc: Herbert Xu
    Cc: Stephen Hemminger
    Cc: "David S. Miller"
    Cc: Thomas Graf
    Cc: Jesper Dangaard Brouer
    Signed-off-by: Cong Wang
    Acked-by: Thomas Graf
    Signed-off-by: David S. Miller

    Cong Wang
     
  • * pci/bjorn-pcie-cap:
    ath9k: Use standard #defines for PCIe Capability ASPM fields
    iwlwifi: Use standard #defines for PCIe Capability ASPM fields
    iwlwifi: collapse wrapper for pcie_capability_read_word()
    iwlegacy: Use standard #defines for PCIe Capability ASPM fields
    iwlegacy: collapse wrapper for pcie_capability_read_word()
    cxgb3: Use standard #defines for PCIe Capability ASPM fields
    PCI: Add standard PCIe Capability Link ASPM field names
    PCI/portdrv: Use PCI Express Capability accessors
    PCI: Use standard PCIe Capability Link register field names
    PCI: Add and use standard PCI-X Capability register names

    Bjorn Helgaas
     
  • Add standard #defines for ASPM fields in PCI Express Link Capability and
    Link Control registers.

    Previously we used PCIE_LINK_STATE_L0S and PCIE_LINK_STATE_L1 directly, but
    these are defined for the Linux ASPM interfaces, e.g.,
    pci_disable_link_state(), and only coincidentally match the actual register
    bits. PCIE_LINK_STATE_CLKPM, also part of that interface, does not match
    the register bit.

    Signed-off-by: Bjorn Helgaas
    Reviewed-by: Kenji Kaneshige
    Acked-by: Kenji Kaneshige

    Bjorn Helgaas
     
  • …wireless-next into for-davem

    John W. Linville
     

06 Dec, 2012

2 commits

  • A new ioctl, KVM_PPC_GET_HTAB_FD, returns a file descriptor. Reads on
    this fd return the contents of the HPT (hashed page table), writes
    create and/or remove entries in the HPT. There is a new capability,
    KVM_CAP_PPC_HTAB_FD, to indicate the presence of the ioctl. The ioctl
    takes an argument structure with the index of the first HPT entry to
    read out and a set of flags. The flags indicate whether the user is
    intending to read or write the HPT, and whether to return all entries
    or only the "bolted" entries (those with the bolted bit, 0x10, set in
    the first doubleword).

    This is intended for use in implementing qemu's savevm/loadvm and for
    live migration. Therefore, on reads, the first pass returns information
    about all HPTEs (or all bolted HPTEs). When the first pass reaches the
    end of the HPT, it returns from the read. Subsequent reads only return
    information about HPTEs that have changed since they were last read.
    A read that finds no changed HPTEs in the HPT following where the last
    read finished will return 0 bytes.

    The format of the data provides a simple run-length compression of the
    invalid entries. Each block of data starts with a header that indicates
    the index (position in the HPT, which is just an array), the number of
    valid entries starting at that index (may be zero), and the number of
    invalid entries following those valid entries. The valid entries, 16
    bytes each, follow the header. The invalid entries are not explicitly
    represented.

    Signed-off-by: Paul Mackerras
    [agraf: fix documentation]
    Signed-off-by: Alexander Graf

    Paul Mackerras
     
  • V3: make it a flag
    V2: make the toggle per-port

    Fast leave allows bridge to immediately stops the multicast
    traffic on the port receives IGMP Leave when IGMP snooping is enabled,
    no timeouts are observed.

    Cc: Herbert Xu
    Cc: Stephen Hemminger
    Cc: "David S. Miller"
    Signed-off-by: Cong Wang

    David S. Miller