1. 05 9月, 2018 1 次提交
  2. 01 9月, 2018 3 次提交
    • D
      blkcg: use tryget logic when associating a blkg with a bio · 31118850
      Dennis Zhou (Facebook) 提交于
      There is a very small change a bio gets caught up in a really
      unfortunate race between a task migration, cgroup exiting, and itself
      trying to associate with a blkg. This is due to css offlining being
      performed after the css->refcnt is killed which triggers removal of
      blkgs that reach their blkg->refcnt of 0.
      
      To avoid this, association with a blkg should use tryget and fallback to
      using the root_blkg.
      
      Fixes: 08e18eab ("block: add bi_blkg to the bio for cgroups")
      Reviewed-by: NJosef Bacik <josef@toxicpanda.com>
      Signed-off-by: NDennis Zhou <dennisszhou@gmail.com>
      Cc: Jiufei Xue <jiufei.xue@linux.alibaba.com>
      Cc: Joseph Qi <joseph.qi@linux.alibaba.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Josef Bacik <josef@toxicpanda.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      31118850
    • D
      blkcg: delay blkg destruction until after writeback has finished · 59b57717
      Dennis Zhou (Facebook) 提交于
      Currently, blkcg destruction relies on a sequence of events:
        1. Destruction starts. blkcg_css_offline() is called and blkgs
           release their reference to the blkcg. This immediately destroys
           the cgwbs (writeback).
        2. With blkgs giving up their reference, the blkcg ref count should
           become zero and eventually call blkcg_css_free() which finally
           frees the blkcg.
      
      Jiufei Xue reported that there is a race between blkcg_bio_issue_check()
      and cgroup_rmdir(). To remedy this, blkg destruction becomes contingent
      on the completion of all writeback associated with the blkcg. A count of
      the number of cgwbs is maintained and once that goes to zero, blkg
      destruction can follow. This should prevent premature blkg destruction
      related to writeback.
      
      The new process for blkcg cleanup is as follows:
        1. Destruction starts. blkcg_css_offline() is called which offlines
           writeback. Blkg destruction is delayed on the cgwb_refcnt count to
           avoid punting potentially large amounts of outstanding writeback
           to root while maintaining any ongoing policies. Here, the base
           cgwb_refcnt is put back.
        2. When the cgwb_refcnt becomes zero, blkcg_destroy_blkgs() is called
           and handles destruction of blkgs. This is where the css reference
           held by each blkg is released.
        3. Once the blkcg ref count goes to zero, blkcg_css_free() is called.
           This finally frees the blkg.
      
      It seems in the past blk-throttle didn't do the most understandable
      things with taking data from a blkg while associating with current. So,
      the simplification and unification of what blk-throttle is doing caused
      this.
      
      Fixes: 08e18eab ("block: add bi_blkg to the bio for cgroups")
      Reviewed-by: NJosef Bacik <josef@toxicpanda.com>
      Signed-off-by: NDennis Zhou <dennisszhou@gmail.com>
      Cc: Jiufei Xue <jiufei.xue@linux.alibaba.com>
      Cc: Joseph Qi <joseph.qi@linux.alibaba.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Josef Bacik <josef@toxicpanda.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      59b57717
    • D
      Revert "blk-throttle: fix race between blkcg_bio_issue_check() and cgroup_rmdir()" · 6b065462
      Dennis Zhou (Facebook) 提交于
      This reverts commit 4c699480.
      
      Destroying blkgs is tricky because of the nature of the relationship. A
      blkg should go away when either a blkcg or a request_queue goes away.
      However, blkg's pin the blkcg to ensure they remain valid. To break this
      cycle, when a blkcg is offlined, blkgs put back their css ref. This
      eventually lets css_free() get called which frees the blkcg.
      
      The above commit (4c699480) breaks this order of events by trying to
      destroy blkgs in css_free(). As the blkgs still hold references to the
      blkcg, css_free() is never called.
      
      The race between blkcg_bio_issue_check() and cgroup_rmdir() will be
      addressed in the following patch by delaying destruction of a blkg until
      all writeback associated with the blkcg has been finished.
      
      Fixes: 4c699480 ("blk-throttle: fix race between blkcg_bio_issue_check() and cgroup_rmdir()")
      Reviewed-by: NJosef Bacik <josef@toxicpanda.com>
      Signed-off-by: NDennis Zhou <dennisszhou@gmail.com>
      Cc: Jiufei Xue <jiufei.xue@linux.alibaba.com>
      Cc: Joseph Qi <joseph.qi@linux.alibaba.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Jens Axboe <axboe@kernel.dk>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      6b065462
  3. 30 8月, 2018 1 次提交
  4. 29 8月, 2018 1 次提交
  5. 28 8月, 2018 15 次提交
  6. 26 8月, 2018 6 次提交
  7. 25 8月, 2018 11 次提交
    • L
      Merge branch 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 05193597
      Linus Torvalds 提交于
      Pull libata updates from Tejun Heo:
       "Nothing too interesting. Mostly ahci and ahci_platform changes, many
        around power management"
      
      * 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (22 commits)
        ata: ahci_platform: enable to get and control reset
        ata: libahci_platform: add reset control support
        ata: add an extra argument to ahci_platform_get_resources()
        ata: sata_rcar: Add r8a77965 support
        ata: sata_rcar: exclude setting of PHY registers in Gen3
        ata: sata_rcar: really mask all interrupts on Gen2 and later
        Revert "ata: ahci_platform: allow disabling of hotplug to save power"
        ata: libahci: Allow reconfigure of DEVSLP register
        ata: libahci: Correct setting of DEVSLP register
        ata: ahci: Enable DEVSLP by default on x86 with SLP_S0
        ata: ahci: Support state with min power but Partial low power state
        Revert "ata: ahci_platform: convert kcalloc to devm_kcalloc"
        ata: sata_rcar: Add rudimentary Runtime PM support
        ata: sata_rcar: Provide a short-hand for &pdev->dev
        ata: Only output sg element mapped number in verbose debug
        ata: Guard ata_scsi_dump_cdb() by ATA_VERBOSE_DEBUG
        ata: ahci_platform: convert kcalloc to devm_kcalloc
        ata: ahci_platform: convert kzallloc to kcalloc
        ata: ahci_platform: correct parameter documentation for ahci_platform_shutdown
        libata: remove ata_sff_data_xfer_noirq()
        ...
      05193597
    • L
      Merge branch 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 59676610
      Linus Torvalds 提交于
      Pull cgroup updates from Tejun Heo:
       "Just one commit from Steven to take out spin lock from trace event
        handlers"
      
      * 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup/tracing: Move taking of spin lock out of trace event handlers
      59676610
    • L
      Merge branch 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 9022ada8
      Linus Torvalds 提交于
      Pull workqueue updates from Tejun Heo:
       "Over the lockdep cross-release churn, workqueue lost some of the
        existing annotations. Johannes Berg restored it and also improved
        them"
      
      * 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: re-add lockdep dependencies for flushing
        workqueue: skip lockdep wq dependency in cancel_work_sync()
      9022ada8
    • L
      Merge tag 'iommu-updates-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 18b8bfdf
      Linus Torvalds 提交于
      Pull IOMMU updates from Joerg Roedel:
      
       - PASID table handling updates for the Intel VT-d driver. It implements
         a global PASID space now so that applications usings multiple devices
         will just have one PASID.
      
       - A new config option to make iommu passthroug mode the default.
      
       - New sysfs attribute for iommu groups to export the type of the
         default domain.
      
       - A debugfs interface (for debug only) usable by IOMMU drivers to
         export internals to user-space.
      
       - R-Car Gen3 SoCs support for the ipmmu-vmsa driver
      
       - The ARM-SMMU now aborts transactions from unknown devices and devices
         not attached to any domain.
      
       - Various cleanups and smaller fixes all over the place.
      
      * tag 'iommu-updates-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (42 commits)
        iommu/omap: Fix cache flushes on L2 table entries
        iommu: Remove the ->map_sg indirection
        iommu/arm-smmu-v3: Abort all transactions if SMMU is enabled in kdump kernel
        iommu/arm-smmu-v3: Prevent any devices access to memory without registration
        iommu/ipmmu-vmsa: Don't register as BUS IOMMU if machine doesn't have IPMMU-VMSA
        iommu/ipmmu-vmsa: Clarify supported platforms
        iommu/ipmmu-vmsa: Fix allocation in atomic context
        iommu: Add config option to set passthrough as default
        iommu: Add sysfs attribyte for domain type
        iommu/arm-smmu-v3: sync the OVACKFLG to PRIQ consumer register
        iommu/arm-smmu: Error out only if not enough context interrupts
        iommu/io-pgtable-arm-v7s: Abort allocation when table address overflows the PTE
        iommu/io-pgtable-arm: Fix pgtable allocation in selftest
        iommu/vt-d: Remove the obsolete per iommu pasid tables
        iommu/vt-d: Apply per pci device pasid table in SVA
        iommu/vt-d: Allocate and free pasid table
        iommu/vt-d: Per PCI device pasid table interfaces
        iommu/vt-d: Add for_each_device_domain() helper
        iommu/vt-d: Move device_domain_info to header
        iommu/vt-d: Apply global PASID in SVA
        ...
      18b8bfdf
    • L
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · d972604f
      Linus Torvalds 提交于
      Pull thermal management updates from Zhang Rui:
      
       - Add Daniel Lezcano as the reviewer of thermal framework and SoC
         driver changes (Daniel Lezcano).
      
       - Fix a bug in intel_dts_soc_thermal driver, which does not translate
         IO-APIC GSI (Global System Interrupt) into Linux irq number (Hans de
         Goede).
      
       - For device tree bindings, allow cooling devices sharing same trip
         point with same contribution value to share cooling map (Viresh
         Kumar).
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        dt-bindings: thermal: Allow multiple devices to share cooling map
        MAINTAINERS: Add Daniel Lezcano as designated reviewer for thermal
        Thermal: Intel SoC DTS: Translate IO-APIC GSI number to linux irq number
      d972604f
    • L
      Merge tag 'apparmor-pr-2018-08-23' of... · 57bb8e37
      Linus Torvalds 提交于
      Merge tag 'apparmor-pr-2018-08-23' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
      
      Pull apparmor updates from John Johansen:
       "There is nothing major this time just four bug fixes and a patch to
        remove some dead code:
      
        Cleanups:
         - remove no-op permission check in policy_unpack
      
        Bug fixes:
         - fix an error code in __aa_create_ns()
         - fix failure to audit context info in build_change_hat
         - check buffer bounds when mapping permissions mask
         - fully initialize aa_perms struct when answering userspace query"
      
      * tag 'apparmor-pr-2018-08-23' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor:
        apparmor: remove no-op permission check in policy_unpack
        apparmor: fix an error code in __aa_create_ns()
        apparmor: Fix failure to audit context info in build_change_hat
        apparmor: Fully initialize aa_perms struct when answering userspace query
        apparmor: Check buffer bounds when mapping permissions mask
      57bb8e37
    • L
      Merge tag 'powerpc-4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · aa5b1054
      Linus Torvalds 提交于
      Pull powerpc fixes from Michael Ellerman:
      
       - An implementation for the newly added hv_ops->flush() for the OPAL
         hvc console driver backends, I forgot to apply this after merging the
         hvc driver changes before the merge window.
      
       - Enable all PCI bridges at boot on powernv, to avoid races when
         multiple children of a bridge try to enable it simultaneously. This
         is a workaround until the PCI core can be enhanced to fix the races.
      
       - A fix to query PowerVM for the correct system topology at boot before
         initialising sched domains, seen in some configurations to cause
         broken scheduling etc.
      
       - A fix for pte_access_permitted() on "nohash" platforms.
      
       - Two commits to fix SIGBUS when using remap_pfn_range() seen on Power9
         due to a workaround when using the nest MMU (GPUs, accelerators).
      
       - Another fix to the VFIO code used by KVM, the previous fix had some
         bugs which caused guests to not start in some configurations.
      
       - A handful of other minor fixes.
      
      Thanks to: Aneesh Kumar K.V, Benjamin Herrenschmidt, Christophe Leroy,
      Hari Bathini, Luke Dashjr, Mahesh Salgaonkar, Nicholas Piggin, Paul
      Mackerras, Srikar Dronamraju.
      
      * tag 'powerpc-4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/mce: Fix SLB rebolting during MCE recovery path.
        KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages
        powerpc/mm/radix: Only need the Nest MMU workaround for R -> RW transition
        powerpc/mm/books3s: Add new pte bit to mark pte temporarily invalid.
        powerpc/nohash: fix pte_access_permitted()
        powerpc/topology: Get topology for shared processors at boot
        powerpc64/ftrace: Include ftrace.h needed for enable/disable calls
        powerpc/powernv/pci: Work around races in PCI bridge enabling
        powerpc/fadump: cleanup crash memory ranges support
        powerpc/powernv: provide a console flush operation for opal hvc driver
        powerpc/traps: Avoid rate limit messages from show unhandled signals
        powerpc/64s: Fix PACA_IRQ_HARD_DIS accounting in idle_power4()
      aa5b1054
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · e1dbc5a4
      Linus Torvalds 提交于
      Pull s390 updates from Martin Schwidefsky:
      
       - A couple of patches for the zcrypt driver:
           + Add two masks to determine which AP cards and queues are host
             devices, this will be useful for KVM AP device passthrough
           + Add-on patch to improve the parsing of the new apmask and aqmask
           + Some code beautification
      
       - Second try to reenable the GCC plugins, the first patch set had a
         patch to do this but the merge somehow missed this
      
       - Remove the s390 specific GCC version check and use the generic one
      
       - Three patches for kdump, two bug fixes and one cleanup
      
       - Three patches for the PCI layer, one bug fix and two cleanups
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390: remove gcc version check (4.3 or newer)
        s390/zcrypt: hex string mask improvements for apmask and aqmask.
        s390/zcrypt: AP bus support for alternate driver(s)
        s390/zcrypt: code beautify
        s390/zcrypt: switch return type to bool for ap_instructions_available()
        s390/kdump: Remove kzalloc_panic
        s390/kdump: Fix memleak in nt_vmcoreinfo
        s390/kdump: Make elfcorehdr size calculation ABI compliant
        s390/pci: remove fmb address from debug output
        s390/pci: remove stale rc
        s390/pci: fix out of bounds access during irq setup
        s390/zcrypt: fix ap_instructions_available() returncodes
        s390: reenable gcc plugins for real
      e1dbc5a4
    • L
      Merge tag 'acpi-4.19-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 40c431a5
      Linus Torvalds 提交于
      Pull ACPI Kconfig fix from Rafael Wysocki:
       "Fix recent menuconfig breakage causing it to present ACPI-specific
        options incorrectly (Arnd Bergmann)"
      
      * tag 'acpi-4.19-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: fix menuconfig presentation of ACPI submenu
      40c431a5
    • L
      Merge branch 'userns-linus' of... · 4def1963
      Linus Torvalds 提交于
      Merge branch 'userns-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull namespace fixes from Eric Biederman:
       "This is a set of four fairly obvious bug fixes:
      
         - a switch from d_find_alias to d_find_any_alias because the xattr
           code perversely takes a dentry
      
         - two mutex vs copy_to_user fixes from Jann Horn
      
         - a fix to use a sanitized size not the size userspace passed in from
           Christian Brauner"
      
      * 'userns-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        getxattr: use correct xattr length
        sys: don't hold uts_sem while accessing userspace memory
        userns: move user access out of the mutex
        cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias()
      4def1963
    • L
      Merge tag 'drm-next-2018-08-24' of git://anongit.freedesktop.org/drm/drm · 5e8704ac
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Just a couple of fixes"
      
        One MAINTAINERS address change, two panels fixes, and set of amdgpu
        fixes (build fixes, display fixes and some others)"
      
      * tag 'drm-next-2018-08-24' of git://anongit.freedesktop.org/drm/drm:
        drm/edid: Add 6 bpc quirk for SDC panel in Lenovo B50-80
        drm/amd/display: Don't build DCN1 when kcov is enabled
        Revert "drm/amdgpu/display: Replace CONFIG_DRM_AMD_DC_DCN1_0 with CONFIG_X86"
        drm/amdgpu/display: disable eDP fast boot optimization on DCE8
        drm/amdgpu: fix amdgpu_amdkfd_remove_eviction_fence v3
        drm/amdgpu: fix incorrect use of drm_file->pid
        drm/amdgpu: fix incorrect use of fcheck
        drm/powerplay: enable dpm under pass-through
        drm/amdgpu: access register without KIQ
        drm/amdgpu: set correct base for THM/NBIF/MP1 IP
        drm/amd/display: fix dentist did ranges
        drm/amd/display: make dp_ss_off optional
        drm/amd/display: fix dp_ss_control vbios flag parsing
        drm/amd/display: Do not retain link settings
        MAINTAINERS: drm-misc: Change seanpaul's email address
        drm/panel: simple: tv123wam: Add unprepare delay
      5e8704ac
  8. 24 8月, 2018 2 次提交