1. 14 Nov, 2017 31 commits
    • Linus Torvalds's avatar
      Merge tag 'for-4.15/dm' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · b91593fa
      Linus Torvalds authored
      Pull device mapper updates from Mike Snitzer:
      
       - a few conversions from atomic_t to ref_count_t
      
       - a DM core fix for a race during device destruction that could result
         in a BUG_ON
      
       - a stable@ fix for a DM cache race condition that could lead to data
         corruption when operating in writeback mode (writethrough is default)
      
       - various DM cache cleanups and improvements
      
       - add DAX support to the DM log-writes target
      
       - a fix for the DM zoned target's ability to deal with the last zone of
         the drive being smaller than all others
      
       - a stable@ DM crypt and DM integrity fix for a negative check that was
         to restrictive (prevented slab debug with XFS ontop of DM crypt from
         working)
      
       - a DM raid target fix for a panic that can occur when forcing a raid
         to sync
      
      * tag 'for-4.15/dm' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (25 commits)
        dm cache: lift common migration preparation code to alloc_migration()
        dm cache: remove usused deferred_cells member from struct cache
        dm cache policy smq: allocate cache blocks in order
        dm cache policy smq: change max background work from 10240 to 4096 blocks
        dm cache background tracker: limit amount of background work that may be issued at once
        dm cache policy smq: take origin idle status into account when queuing writebacks
        dm cache policy smq: handle races with queuing background_work
        dm raid: fix panic when attempting to force a raid to sync
        dm integrity: allow unaligned bv_offset
        dm crypt: allow unaligned bv_offset
        dm: small cleanup in dm_get_md()
        dm: fix race between dm_get_from_kobject() and __dm_destroy()
        dm: allocate struct mapped_device with kvzalloc
        dm zoned: ignore last smaller runt zone
        dm space map metadata: use ARRAY_SIZE
        dm log writes: add support for DAX
        dm log writes: add support for inline data buffers
        dm cache: simplify get_per_bio_data() by removing data_size argument
        dm cache: remove all obsolete writethrough-specific code
        dm cache: submit writethrough writes in parallel to origin and cache
        ...
      b91593fa
    • Linus Torvalds's avatar
      Merge branch 'for-4.15/block' of git://git.kernel.dk/linux-block · e2c5923c
      Linus Torvalds authored
      Pull core block layer updates from Jens Axboe:
       "This is the main pull request for block storage for 4.15-rc1.
      
        Nothing out of the ordinary in here, and no API changes or anything
        like that. Just various new features for drivers, core changes, etc.
        In particular, this pull request contains:
      
         - A patch series from Bart, closing the whole on blk/scsi-mq queue
           quescing.
      
         - A series from Christoph, building towards hidden gendisks (for
           multipath) and ability to move bio chains around.
      
         - NVMe
              - Support for native multipath for NVMe (Christoph).
              - Userspace notifications for AENs (Keith).
              - Command side-effects support (Keith).
              - SGL support (Chaitanya Kulkarni)
              - FC fixes and improvements (James Smart)
              - Lots of fixes and tweaks (Various)
      
         - bcache
              - New maintainer (Michael Lyle)
              - Writeback control improvements (Michael)
              - Various fixes (Coly, Elena, Eric, Liang, et al)
      
         - lightnvm updates, mostly centered around the pblk interface
           (Javier, Hans, and Rakesh).
      
         - Removal of unused bio/bvec kmap atomic interfaces (me, Christoph)
      
         - Writeback series that fix the much discussed hundreds of millions
           of sync-all units. This goes all the way, as discussed previously
           (me).
      
         - Fix for missing wakeup on writeback timer adjustments (Yafang
           Shao).
      
         - Fix laptop mode on blk-mq (me).
      
         - {mq,name} tupple lookup for IO schedulers, allowing us to have
           alias names. This means you can use 'deadline' on both !mq and on
           mq (where it's called mq-deadline). (me).
      
         - blktrace race fix, oopsing on sg load (me).
      
         - blk-mq optimizations (me).
      
         - Obscure waitqueue race fix for kyber (Omar).
      
         - NBD fixes (Josef).
      
         - Disable writeback throttling by default on bfq, like we do on cfq
           (Luca Miccio).
      
         - Series from Ming that enable us to treat flush requests on blk-mq
           like any other request. This is a really nice cleanup.
      
         - Series from Ming that improves merging on blk-mq with schedulers,
           getting us closer to flipping the switch on scsi-mq again.
      
         - BFQ updates (Paolo).
      
         - blk-mq atomic flags memory ordering fixes (Peter Z).
      
         - Loop cgroup support (Shaohua).
      
         - Lots of minor fixes from lots of different folks, both for core and
           driver code"
      
      * 'for-4.15/block' of git://git.kernel.dk/linux-block: (294 commits)
        nvme: fix visibility of "uuid" ns attribute
        blk-mq: fixup some comment typos and lengths
        ide: ide-atapi: fix compile error with defining macro DEBUG
        blk-mq: improve tag waiting setup for non-shared tags
        brd: remove unused brd_mutex
        blk-mq: only run the hardware queue if IO is pending
        block: avoid null pointer dereference on null disk
        fs: guard_bio_eod() needs to consider partitions
        xtensa/simdisk: fix compile error
        nvme: expose subsys attribute to sysfs
        nvme: create 'slaves' and 'holders' entries for hidden controllers
        block: create 'slaves' and 'holders' entries for hidden gendisks
        nvme: also expose the namespace identification sysfs files for mpath nodes
        nvme: implement multipath access to nvme subsystems
        nvme: track shared namespaces
        nvme: introduce a nvme_ns_ids structure
        nvme: track subsystems
        block, nvme: Introduce blk_mq_req_flags_t
        block, scsi: Make SCSI quiesce and resume work reliably
        block: Add the QUEUE_FLAG_PREEMPT_ONLY request queue flag
        ...
      e2c5923c
    • Linus Torvalds's avatar
      Merge tag 'configfs-for-4.15' of git://git.infradead.org/users/hch/configfs · abc36be2
      Linus Torvalds authored
      Pull configfs updates from Christoph Hellwig:
       "A couple of configfs cleanups:
      
         - proper use of the bool type (Thomas Meyer)
      
         - constification of struct config_item_type (Bhumika Goyal)"
      
      * tag 'configfs-for-4.15' of git://git.infradead.org/users/hch/configfs:
        RDMA/cma: make config_item_type const
        stm class: make config_item_type const
        ACPI: configfs: make config_item_type const
        nvmet: make config_item_type const
        usb: gadget: configfs: make config_item_type const
        PCI: endpoint: make config_item_type const
        iio: make function argument and some structures const
        usb: gadget: make config_item_type structures const
        dlm: make config_item_type const
        netconsole: make config_item_type const
        nullb: make config_item_type const
        ocfs2/cluster: make config_item_type const
        target: make config_item_type const
        configfs: make ci_type field, some pointers and function arguments const
        configfs: make config_item_type const
        configfs: Fix bool initialization/comparison
      abc36be2
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · f14fc0cc
      Linus Torvalds authored
      Pull quota, ext2, isofs and udf fixes from Jan Kara:
      
       - two small quota error handling fixes
      
       - two isofs fixes for architectures with signed char
      
       - several udf block number overflow and signedness fixes
      
       - ext2 rework of mount option handling to avoid GFP_KERNEL allocation
         with spinlock held
      
       - ... it also contains a patch to implement auditing of responses to
         fanotify permission events. That should have been in the fanotify
         pull request but I mistakenly merged that patch into a wrong branch
         and noticed only now at which point I don't think it's worth rebasing
         and redoing.
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        quota: be aware of error from dquot_initialize
        quota: fix potential infinite loop
        isofs: use unsigned char types consistently
        isofs: fix timestamps beyond 2027
        udf: Fix some sign-conversion warnings
        udf: Fix signed/unsigned format specifiers
        udf: Fix 64-bit sign extension issues affecting blocks > 0x7FFFFFFF
        udf: Remove some outdate references from documentation
        udf: Avoid overflow when session starts at large offset
        ext2: Fix possible sleep in atomic during mount option parsing
        ext2: Parse mount options into a dedicated structure
        audit: Record fanotify access control decisions
      f14fc0cc
    • Linus Torvalds's avatar
      Merge branch 'fsnotify' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 23281c80
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
      
       - fixes of use-after-tree issues when handling fanotify permission
         events from Miklos
      
       - refcount_t conversions from Elena
      
       - fixes of ENOMEM handling in dnotify and fsnotify from me
      
      * 'fsnotify' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fsnotify: convert fsnotify_mark.refcnt from atomic_t to refcount_t
        fanotify: clean up CONFIG_FANOTIFY_ACCESS_PERMISSIONS ifdefs
        fsnotify: clean up fsnotify()
        fanotify: fix fsnotify_prepare_user_wait() failure
        fsnotify: fix pinning group in fsnotify_prepare_user_wait()
        fsnotify: pin both inode and vfsmount mark
        fsnotify: clean up fsnotify_prepare/finish_user_wait()
        fsnotify: convert fsnotify_group.refcnt from atomic_t to refcount_t
        fsnotify: Protect bail out path of fsnotify_add_mark_locked() properly
        dnotify: Handle errors from fsnotify_add_mark_locked() in fcntl_dirnotify()
      23281c80
    • Linus Torvalds's avatar
      Merge tag 'dlm-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · f0b60bfa
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
       "This set focuses, as usual, on fixes to the comms layer.
      
        New testing of the dlm with ocfs2 uncovered a number of bugs in the
        TCP connection handling during recovery, starting, and stopping"
      
      * tag 'dlm-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        dlm: remove dlm_send_rcom_lookup_dump
        dlm: recheck kthread_should_stop() before schedule()
        DLM: fix NULL pointer dereference in send_to_sock()
        DLM: fix to reschedule rwork
        DLM: fix to use sk_callback_lock correctly
        DLM: fix overflow dlm_cb_seq
        DLM: fix memory leak in tcp_accept_from_sock()
        DLM: fix conversion deadlock when DLM_LKF_NODLCKWT flag is set
        DLM: use CF_CLOSE flag to stop dlm_send correctly
        DLM: Reanimate CF_WRITE_PENDING flag
        DLM: fix race condition between dlm_recoverd_stop and dlm_recoverd
        DLM: close othercon at send/receive error
        DLM: retry rcom when dlm_wait_function is timed out.
        DLM: fix to use sock_mutex correctly in xxx_accept_from_sock
        DLM: fix race condition between dlm_send and dlm_recv
        DLM: fix double list_del()
        DLM: fix remove save_cb argument from add_sock()
        DLM: Fix saving of NULL callbacks
        DLM: Eliminate CF_WRITE_PENDING flag
        DLM: Eliminate CF_CONNECT_PENDING flag
      f0b60bfa
    • Linus Torvalds's avatar
      Merge tag 'gfs2-4.15.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 29309a4e
      Linus Torvalds authored
      Pull gfs2 updates from Bob Peterson:
       "We've got a total of 17 GFS2 patches for this merge window. The
        patches are basically in three categories: (1) patches related to
        broken xfstest cases, (2) patches related to improving iomap and start
        using it in GFS2, and (3) general typos and clarifications.
      
        Please note that one of the iomap patches extends beyond GFS2 and
        affects other file systems, but it was publically reviewed by a
        variety of file system people in the community.
      
        From Andreas Gruenbacher:
      
         - rename variable 'bsize' to 'factor' to clarify the logic related to
           gfs2_block_map.
      
         - correctly set ctime in the setflags ioctl, which fixes broken
           xfstests test 277.
      
         - fix broken xfstest 258, due to an atime initialization problem.
      
         - fix broken xfstest 307, in which GFS2 was not setting ctime when
           setting acls.
      
         - switch general iomap code from blkno to disk offset for a variety
           of file systems.
      
         - add a new IOMAP_F_DATA_INLINE flag for iomap to indicate blocks
           that have data mixed with metadata.
      
         - implement SEEK_HOLE and SEEK_DATA via iomap in GFS2.
      
         - fix failing xfstest case 066, which was due to not properly syncing
           dirty inodes when changing extended attributes.
      
         - fix a minor typo in a comment.
      
         - partially fix xfstest 424, which involved GET_FLAGS and SET_FLAGS
           ioctl. This is also a cleanup and simplification of the translation
           of flags from fs flags to gfs2 flags.
      
         - add support for STATX_ATTR_ in statx, which fixed broken xfstest
           424.
      
         - fix for failing xfstest 093 which fixes a recursive glock problem
           with gfs2_xattr_get and _set
      
        From me:
      
         - make inode height info part of the 'metapath' data structure to
           facilitate using iomap in GFS2.
      
         - start using iomap inside GFS2 and switch GFS2's block_map functions
           to use iomap under the covers.
      
         - switch GFS2's fiemap implementation from using block_map to using
           iomap under the covers.
      
         - fix journaled data pages not being properly synced to media when
           writing inodes. This was caught with xfstests.
      
         - fix another failing xfstest case in which switching a file from
           ordered_write to journaled data via set_flags caused a deadlock"
      
      * tag 'gfs2-4.15.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Allow gfs2_xattr_set to be called with the glock held
        gfs2: Add support for statx inode flags
        gfs2: Fix and clean up {GET,SET}FLAGS ioctl
        gfs2: Fix a harmless typo
        gfs2: Fix xattr fsync
        GFS2: Take inode off order_write list when setting jdata flag
        GFS2: flush the log and all pages for jdata as we do for WB_SYNC_ALL
        gfs2: Implement SEEK_HOLE / SEEK_DATA via iomap
        GFS2: Switch fiemap implementation to use iomap
        GFS2: Implement iomap for block_map
        GFS2: Make height info part of metapath
        gfs2: Always update inode ctime in set_acl
        gfs2: Support negative atimes
        gfs2: Update ctime in setflags ioctl
        gfs2: Clarify gfs2_block_map
      29309a4e
    • Linus Torvalds's avatar
      Merge tag 'jfs-4.15' of git://github.com/kleikamp/linux-shaggy · ac446dcc
      Linus Torvalds authored
      Pull jfs updates from David Kleikamp:
       "A couple small fixes for jfs"
      
      * tag 'jfs-4.15' of git://github.com/kleikamp/linux-shaggy:
        jfs: Add missing NULL pointer check in __get_metapage
        jfs: remove increment of i_version counter
      ac446dcc
    • Linus Torvalds's avatar
      Merge branch 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 5cea7647
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "There are some new user features and the usual load of invisible
        enhancements or cleanups.
      
        New features:
      
         - extend mount options to specify zlib compression level, -o
           compress=zlib:9
      
         - v2 of ioctl "extent to inode mapping", addressing a usecase where
           we want to retrieve more but inaccurate results and do the
           postprocessing in userspace, aiding defragmentation or
           deduplication tools
      
         - populate compression heuristics logic, do data sampling and try to
           guess compressibility by: looking for repeated patterns, counting
           unique byte values and distribution, calculating Shannon entropy;
           this will need more benchmarking and possibly fine tuning, but the
           base should be good enough
      
         - enable indexing for btrfs as lower filesystem in overlayfs
      
         - speedup page cache readahead during send on large files
      
        Internal enhancements:
      
         - more sanity checks of b-tree items when reading them from disk
      
         - more EINVAL/EUCLEAN fixups, missing BLK_STS_* conversion, other
           errno or error handling fixes
      
         - remove some homegrown IO-related logic, that's been obsoleted by
           core block layer changes (batching, plug/unplug, own counters)
      
         - add ref-verify, optional debugging feature to verify extent
           reference accounting
      
         - simplify code handling outstanding extents, make it more clear
           where and how the accounting is done
      
         - make delalloc reservations per-inode, simplify the code and make
           the logic more straightforward
      
         - extensive cleanup of delayed refs code
      
        Notable fixes:
      
         - fix send ioctl on 32bit with 64bit kernel"
      
      * 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (102 commits)
        btrfs: Fix bug for misused dev_t when lookup in dev state hash table.
        Btrfs: heuristic: add Shannon entropy calculation
        Btrfs: heuristic: add byte core set calculation
        Btrfs: heuristic: add byte set calculation
        Btrfs: heuristic: add detection of repeated data patterns
        Btrfs: heuristic: implement sampling logic
        Btrfs: heuristic: add bucket and sample counters and other defines
        Btrfs: compression: separate heuristic/compression workspaces
        btrfs: move btrfs_truncate_block out of trans handle
        btrfs: don't call btrfs_start_delalloc_roots in flushoncommit
        btrfs: track refs in a rb_tree instead of a list
        btrfs: add a comp_refs() helper
        btrfs: switch args for comp_*_refs
        btrfs: make the delalloc block rsv per inode
        btrfs: add tracepoints for outstanding extents mods
        Btrfs: rework outstanding_extents
        btrfs: increase output size for LOGICAL_INO_V2 ioctl
        btrfs: add a flags argument to LOGICAL_INO and call it LOGICAL_INO_V2
        btrfs: add a flag to iterate_inodes_from_logical to find all extent refs for uncompressed extents
        btrfs: send: remove unused code
        ...
      5cea7647
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.15-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 808eb24e
      Linus Torvalds authored
      Pull xfs updates from Darrick Wong:
       "xfs: great scads of new stuff for 4.15.
      
        This merge cycle, we're making some substantive changes to XFS. The
        in-core extent mappings have been refactored to use proper iterators
        and a btree to handle heavily fragmented files without needing
        high-order memory allocations; some important log recovery bug fixes;
        and the first part of the online fsck functionality.
      
        (The online fsck feature is disabled by default and more pieces of it
        will be coming in future release cycles.)
      
        This giant pile of patches has been run through a full xfstests run
        over the weekend and through a quick xfstests run against this
        morning's master, with no major failures reported.
      
        New in this version:
      
         - Refactor the incore extent map manipulations to use a cursor
           instead of directly modifying extent data.
      
         - Refactor the incore extent map cursor to use an in-memory btree
           instead of a single high-order allocation. This eliminates a major
           source of complaints about insufficient memory when opening a
           heavily fragmented file into a system whose memory is also heavily
           fragmented.
      
         - Fix a longstanding bug where deleting a file with a complex
           extended attribute btree incorrectly handled memory pointers, which
           could lead to memory corruption.
      
         - Improve metadata validation to eliminate crashing problems found
           while fuzzing xfs.
      
         - Move the error injection tag definitions into libxfs to be shared
           with userspace components.
      
         - Fix some log recovery bugs where we'd underflow log block position
           vector and incorrectly fail log recovery.
      
         - Drain the buffer lru after log recovery to force recovered buffers
           back through the verifiers after mount. On a v4 filesystem the log
           never attaches verifiers during log replay (v5 does), so we could
           end up with buffers marked verified but without having ever been
           verified.
      
         - Fix various other bugs.
      
         - Introduce the first part of a new online fsck tool. The new fsck
           tool will be able to iterate every piece of metadata in the
           filesystem to look for obvious errors and corruptions. In the next
           release cycle the checking will be extended to cross-reference with
           the other fs metadata, so this feature should only be used by the
           developers in the mean time"
      
      * tag 'xfs-4.15-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (131 commits)
        xfs: on failed mount, force-reclaim inodes after unmounting quota controls
        xfs: check the uniqueness of the AGFL entries
        xfs: remove u_int* type usage
        xfs: handle zero entries case in xfs_iext_rebalance_leaf
        xfs: add comments documenting the rebalance algorithm
        xfs: trivial indentation fixup for xfs_iext_remove_node
        xfs: remove a superflous assignment in xfs_iext_remove_node
        xfs: add some comments to xfs_iext_insert/xfs_iext_insert_node
        xfs: fix number of records handling in xfs_iext_split_leaf
        fs/xfs: Remove NULL check before kmem_cache_destroy
        xfs: only check da node header padding on v5 filesystems
        xfs: fix btree scrub deref check
        xfs: fix uninitialized return values in scrub code
        xfs: pass inode number to xfs_scrub_ino_set_{preen,warning}
        xfs: refactor the directory data block bestfree checks
        xfs: mark xlog_verify_dest_ptr STATIC
        xfs: mark xlog_recover_check_summary STATIC
        xfs: mark xfs_btree_check_lblock and xfs_btree_check_ptr static
        xfs: remove unreachable error injection code in xfs_qm_dqget
        xfs: remove unused debug counts for xfs_lock_inodes
        ...
      808eb24e
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · ae9a8c4b
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
      
       - Add support for online resizing of file systems with bigalloc
      
       - Fix a two data corruption bugs involving DAX, as well as a corruption
         bug after a crash during a racing fallocate and delayed allocation.
      
       - Finally, a number of cleanups and optimizations.
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: improve smp scalability for inode generation
        ext4: add support for online resizing with bigalloc
        ext4: mention noload when recovering on read-only device
        Documentation: fix little inconsistencies
        ext4: convert timers to use timer_setup()
        jbd2: convert timers to use timer_setup()
        ext4: remove duplicate extended attributes defs
        ext4: add ext4_should_use_dax()
        ext4: add sanity check for encryption + DAX
        ext4: prevent data corruption with journaling + DAX
        ext4: prevent data corruption with inline data + DAX
        ext4: fix interaction between i_size, fallocate, and delalloc after a crash
        ext4: retry allocations conservatively
        ext4: Switch to iomap for SEEK_HOLE / SEEK_DATA
        ext4: Add iomap support for inline data
        iomap: Add IOMAP_F_DATA_INLINE flag
        iomap: Switch from blkno to disk offset
      ae9a8c4b
    • Linus Torvalds's avatar
      Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt · 32190f0a
      Linus Torvalds authored
      Pull fscrypt updates from Ted Ts'o:
       "Lots of cleanups, mostly courtesy by Eric Biggers"
      
      * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt:
        fscrypt: lock mutex before checking for bounce page pool
        fscrypt: add a documentation file for filesystem-level encryption
        ext4: switch to fscrypt_prepare_setattr()
        ext4: switch to fscrypt_prepare_lookup()
        ext4: switch to fscrypt_prepare_rename()
        ext4: switch to fscrypt_prepare_link()
        ext4: switch to fscrypt_file_open()
        fscrypt: new helper function - fscrypt_prepare_setattr()
        fscrypt: new helper function - fscrypt_prepare_lookup()
        fscrypt: new helper function - fscrypt_prepare_rename()
        fscrypt: new helper function - fscrypt_prepare_link()
        fscrypt: new helper function - fscrypt_file_open()
        fscrypt: new helper function - fscrypt_require_key()
        fscrypt: remove unneeded empty fscrypt_operations structs
        fscrypt: remove ->is_encrypted()
        fscrypt: switch from ->is_encrypted() to IS_ENCRYPTED()
        fs, fscrypt: add an S_ENCRYPTED inode flag
        fscrypt: clean up include file mess
      32190f0a
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 37dc7956
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "Here is the crypto update for 4.15:
      
        API:
      
         - Disambiguate EBUSY when queueing crypto request by adding ENOSPC.
           This change touches code outside the crypto API.
         - Reset settings when empty string is written to rng_current.
      
        Algorithms:
      
         - Add OSCCA SM3 secure hash.
      
        Drivers:
      
         - Remove old mv_cesa driver (replaced by marvell/cesa).
         - Enable rfc3686/ecb/cfb/ofb AES in crypto4xx.
         - Add ccm/gcm AES in crypto4xx.
         - Add support for BCM7278 in iproc-rng200.
         - Add hash support on Exynos in s5p-sss.
         - Fix fallback-induced error in vmx.
         - Fix output IV in atmel-aes.
         - Fix empty GCM hash in mediatek.
      
        Others:
      
         - Fix DoS potential in lib/mpi.
         - Fix potential out-of-order issues with padata"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (162 commits)
        lib/mpi: call cond_resched() from mpi_powm() loop
        crypto: stm32/hash - Fix return issue on update
        crypto: dh - Remove pointless checks for NULL 'p' and 'g'
        crypto: qat - Clean up error handling in qat_dh_set_secret()
        crypto: dh - Don't permit 'key' or 'g' size longer than 'p'
        crypto: dh - Don't permit 'p' to be 0
        crypto: dh - Fix double free of ctx->p
        hwrng: iproc-rng200 - Add support for BCM7278
        dt-bindings: rng: Document BCM7278 RNG200 compatible
        crypto: chcr - Replace _manual_ swap with swap macro
        crypto: marvell - Add a NULL entry at the end of mv_cesa_plat_id_table[]
        hwrng: virtio - Virtio RNG devices need to be re-registered after suspend/resume
        crypto: atmel - remove empty functions
        crypto: ecdh - remove empty exit()
        MAINTAINERS: update maintainer for qat
        crypto: caam - remove unused param of ctx_map_to_sec4_sg()
        crypto: caam - remove unneeded edesc zeroization
        crypto: atmel-aes - Reset the controller before each use
        crypto: atmel-aes - properly set IV after {en,de}crypt
        hwrng: core - Reset user selected rng by writing "" to rng_current
        ...
      37dc7956
    • Jan Kara's avatar
      838bee9e
    • Linus Torvalds's avatar
      Merge tag 'usb-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 894025f2
      Linus Torvalds authored
      Pull USB/PHY updates from Greg KH:
       "Here is the big set of USB and PHY driver updates for 4.15-rc1.
      
        There is the usual amount of gadget and xhci driver updates, along
        with phy and chipidea enhancements. There's also a lot of SPDX tags
        and license boilerplate cleanups as well, which provide some churn in
        the diffstat.
      
        Other major thing is the typec code that moved out of staging and into
        the "real" part of the drivers/usb/ tree, which was nice to see
        happen.
      
        All of these have been in linux-next with no reported issues for a
        while"
      
      * tag 'usb-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (263 commits)
        usb: gadget: f_fs: Fix use-after-free in ffs_free_inst
        USB: usbfs: compute urb->actual_length for isochronous
        usb: core: message: remember to reset 'ret' to 0 when necessary
        USB: typec: Remove remaining redundant license text
        USB: typec: add SPDX identifiers to some files
        USB: renesas_usbhs: rcar?.h: add SPDX tags
        USB: chipidea: ci_hdrc_tegra.c: add SPDX line
        USB: host: xhci-debugfs: add SPDX lines
        USB: add SPDX identifiers to all remaining Makefiles
        usb: host: isp1362-hcd: remove a couple of redundant assignments
        USB: adutux: remove redundant variable minor
        usb: core: add a new usb_get_ptm_status() helper
        usb: core: add a 'type' parameter to usb_get_status()
        usb: core: introduce a new usb_get_std_status() helper
        usb: core: rename usb_get_status() 'type' argument to 'recip'
        usb: core: add Status Type definitions
        USB: gadget: Remove redundant license text
        USB: gadget: function: Remove redundant license text
        USB: gadget: udc: Remove redundant license text
        USB: gadget: legacy: Remove redundant license text
        ...
      894025f2
    • Linus Torvalds's avatar
      Merge tag 'tty-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · fb0255fb
      Linus Torvalds authored
      Pull tty/serial updates from Greg KH:
       "Here is the big tty/serial driver pull request for 4.15-rc1.
      
        Lots of serial driver updates in here, some small vt cleanups, and a
        raft of SPDX and license boilerplate cleanups, messing up the diffstat
        a bit.
      
        Nothing major, with no realy functional changes except better hardware
        support for some platforms.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'tty-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (110 commits)
        tty: ehv_bytechan: fix spelling mistake
        tty: serial: meson: allow baud-rates lower than 9600
        serial: 8250_fintek: Fix crash with baud rate B0
        serial: 8250_fintek: Disable delays for ports != 0
        serial: 8250_fintek: Return -EINVAL on invalid configuration
        tty: Remove redundant license text
        tty: serdev: Remove redundant license text
        tty: hvc: Remove redundant license text
        tty: serial: Remove redundant license text
        tty: add SPDX identifiers to all remaining files in drivers/tty/
        tty: serial: jsm: remove redundant pointer ts
        tty: serial: jsm: add space before the open parenthesis '('
        tty: serial: jsm: fix coding style
        tty: serial: jsm: delete space between function name and '('
        tty: serial: jsm: add blank line after declarations
        tty: serial: jsm: change the type of local variable
        tty: serial: imx: remove dead code imx_dma_rxint
        tty: serial: imx: disable ageing timer interrupt if dma in use
        serial: 8250: fix potential deadlock in rs485-mode
        serial: m32r_sio: Drop redundant .data assignment
        ...
      fb0255fb
    • Linus Torvalds's avatar
      Merge tag 'staging-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 449fcf3a
      Linus Torvalds authored
      Pull staging and IIO updates from Greg KH:
       "Here is the "big" staging and IIO driver update for 4.15-rc1.
      
        Lots and lots of little changes, almost all minor code cleanups as the
        Outreachy application process happened during this development cycle.
        Also happened was a lot of IIO driver activity, and the typec USB code
        moving out of staging to drivers/usb (same commits are in the USB tree
        on a persistent branch to not cause merge issues.)
      
        Overall, it's a wash, I think we added a few hundred more lines than
        removed, but really only a few thousand were modified at all.
      
        All of these have been in linux-next for a while. There might be a
        merge issue with Al's vfs tree in the pi433 driver (take his changes,
        they are always better), and the media tree with some of the odd
        atomisp cleanups (take the media tree's version)"
      
      * tag 'staging-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (507 commits)
        staging: lustre: add SPDX identifiers to all lustre files
        staging: greybus: Remove redundant license text
        staging: greybus: add SPDX identifiers to all greybus driver files
        staging: ccree: simplify ioread/iowrite
        staging: ccree: simplify registers access
        staging: ccree: simplify error handling logic
        staging: ccree: remove dead code
        staging: ccree: handle limiting of DMA masks
        staging: ccree: copy IV to DMAable memory
        staging: fbtft: remove redundant initialization of buf
        staging: sm750fb: Fix parameter mistake in poke32
        staging: wilc1000: Fix bssid buffer offset in Txq
        staging: fbtft: fb_ssd1331: fix mirrored display
        staging: android: Fix checkpatch.pl error
        staging: greybus: loopback: convert loopback to use generic async operations
        staging: greybus: operation: add private data with get/set accessors
        staging: greybus: loopback: Fix iteration count on async path
        staging: greybus: loopback: Hold per-connection mutex across operations
        staging: greybus/loopback: use ktime_get() for time intervals
        staging: fsl-dpaa2/eth: Extra headroom in RX buffers
        ...
      449fcf3a
    • Linus Torvalds's avatar
      Merge tag 'devprop-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 3c073991
      Linus Torvalds authored
      Pull device properties framework updates from Rafael Wysocki:
       "These make the fwnode_handle_get() function return a pointer to the
        target fwnode object, which reflects the of_node_get() behavior, and
        add a macro for iterating over graph endpoints (Sakari Ailus)"
      
      * tag 'devprop-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        device property: Add a macro for interating over graph endpoints
        device property: Make fwnode_handle_get() return the fwnode
      3c073991
    • Linus Torvalds's avatar
      Merge tag 'acpi-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 04ed5109
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These update ACPICA to upstream revision 20170831, fix APEI to use the
        fixmap instead of ioremap_page_range(), add an operation region driver
        for TI PMIC TPS68470, add support for PCC subspace IDs to the ACPI
        CPPC driver, fix a few assorted issues and clean up some code.
      
        Specifics:
      
         - Update the ACPICA code to upstream revision 20170831 including
            * PDTT table header support (Bob Moore).
            * Cleanup and extension of internal string-to-integer conversion
              functions (Bob Moore).
            * Support for 64-bit hardware accesses (Lv Zheng).
            * ACPI PM Timer code adjustment to deal with 64-bit return values
              of acpi_hw_read() (Bob Moore).
            * Support for deferred table verification in acpiexec (Lv Zheng).
      
         - Fix APEI to use the fixmap instead of ioremap_page_range() which
           cannot work correctly the way the code in there attempted to use it
           and drop some code that's not necessary any more after that change
           (James Morse).
      
         - Clean up the APEI support code and make it use 64-bit timestamps
           (Arnd Bergmann, Dongjiu Geng, Jan Beulich).
      
         - Add operation region driver for TI PMIC TPS68470 (Rajmohan Mani).
      
         - Add support for PCC subspace IDs to the ACPI CPPC driver (George
           Cherian).
      
         - Fix an ACPI EC driver regression related to the handling of EC
           events during the "noirq" phases of system suspend/resume (Lv
           Zheng).
      
         - Delay the initialization of the lid state in the ACPI button driver
           to fix issues appearing on some systems (Hans de Goede).
      
         - Extend the KIOX000A "device always present" quirk to cover all
           affected BIOS versions (Hans de Goede).
      
         - Clean up some code in the ACPI core and drivers (Colin Ian King,
           Gustavo Silva)"
      
      * tag 'acpi-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (24 commits)
        ACPI: Mark expected switch fall-throughs
        ACPI / LPSS: Remove redundant initialization of clk
        ACPI / CPPC: Make CPPC ACPI driver aware of PCC subspace IDs
        mailbox: PCC: Move the MAX_PCC_SUBSPACES definition to header file
        ACPI / sysfs: Make function param_set_trace_method_name() static
        ACPI / button: Delay acpi_lid_initialize_state() until first user space open
        ACPI / EC: Fix regression related to triggering source of EC event handling
        APEI / ERST: use 64-bit timestamps
        ACPI / APEI: Remove arch_apei_flush_tlb_one()
        arm64: mm: Remove arch_apei_flush_tlb_one()
        ACPI / APEI: Remove ghes_ioremap_area
        ACPI / APEI: Replace ioremap_page_range() with fixmap
        ACPI / APEI: remove the unused dead-code for SEA/NMI notification type
        ACPI / x86: Extend KIOX000A quirk to cover all affected BIOS versions
        ACPI / APEI: adjust a local variable type in ghes_ioremap_pfn_irq()
        ACPICA: Update version to 20170831
        ACPICA: Update acpi_get_timer for 64-bit interface to acpi_hw_read
        ACPICA: String conversions: Update to add new behaviors
        ACPICA: String conversions: Cleanup/format comments. No functional changes
        ACPICA: Restructure/cleanup all string-to-integer conversion functions
        ...
      04ed5109
    • Linus Torvalds's avatar
      Merge tag 'pm-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · bd2cd7d5
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "There are no real big ticket items here this time.
      
        The most noticeable change is probably the relocation of the OPP
        (Operating Performance Points) framework to its own directory under
        drivers/ as it has grown big enough for that. Also Viresh is now going
        to maintain it and send pull requests for it to me, so you will see
        this change in the git history going forward (but still not right
        now).
      
        Another noticeable set of changes is the modifications of the PM core,
        the PCI subsystem and the ACPI PM domain to allow of more integration
        between system-wide suspend/resume and runtime PM. For now it's just a
        way to avoid resuming devices from runtime suspend unnecessarily
        during system suspend (if the driver sets a flag to indicate its
        readiness for that) and in the works is an analogous mechanism to
        allow devices to stay suspended after system resume.
      
        In addition to that, we have some changes related to supporting
        frequency-invariant CPU utilization metrics in the scheduler and in
        the schedutil cpufreq governor on ARM and changes to add support for
        device performance states to the generic power domains (genpd)
        framework.
      
        The rest is mostly fixes and cleanups of various sorts.
      
        Specifics:
      
         - Relocate the OPP (Operating Performance Points) framework to its
           own directory under drivers/ and add support for power domain
           performance states to it (Viresh Kumar).
      
         - Modify the PM core, the PCI bus type and the ACPI PM domain to
           support power management driver flags allowing device drivers to
           specify their capabilities and preferences regarding the handling
           of devices with enabled runtime PM during system suspend/resume and
           clean up that code somewhat (Rafael Wysocki, Ulf Hansson).
      
         - Add frequency-invariant accounting support to the task scheduler on
           ARM and ARM64 (Dietmar Eggemann).
      
         - Fix PM QoS device resume latency framework to prevent "no
           restriction" requests from overriding requests with specific
           requirements and drop the confusing PM_QOS_FLAG_REMOTE_WAKEUP
           device PM QoS flag (Rafael Wysocki).
      
         - Drop legacy class suspend/resume operations from the PM core and
           drop legacy bus type suspend and resume callbacks from ARM/locomo
           (Rafael Wysocki).
      
         - Add min/max frequency support to devfreq and clean it up somewhat
           (Chanwoo Choi).
      
         - Rework wakeup support in the generic power domains (genpd)
           framework and update some of its users accordingly (Geert
           Uytterhoeven).
      
         - Convert timers in the PM core to use timer_setup() (Kees Cook).
      
         - Add support for exposing the SLP_S0 (Low Power S0 Idle) residency
           counter based on the LPIT ACPI table on Intel platforms (Srinivas
           Pandruvada).
      
         - Add per-CPU PM QoS resume latency support to the ladder cpuidle
           governor (Ramesh Thomas).
      
         - Fix a deadlock between the wakeup notify handler and the notifier
           removal in the ACPI core (Ville Syrjälä).
      
         - Fix a cpufreq schedutil governor issue causing it to use stale
           cached frequency values sometimes (Viresh Kumar).
      
         - Fix an issue in the system suspend core support code causing wakeup
           events detection to fail in some cases (Rajat Jain).
      
         - Fix the generic power domains (genpd) framework to prevent the PM
           core from using the direct-complete optimization with it as that is
           guaranteed to fail (Ulf Hansson).
      
         - Fix a minor issue in the cpuidle core and clean it up a bit (Gaurav
           Jindal, Nicholas Piggin).
      
         - Fix and clean up the intel_idle and ARM cpuidle drivers (Jason
           Baron, Len Brown, Leo Yan).
      
         - Fix a couple of minor issues in the OPP framework and clean it up
           (Arvind Yadav, Fabio Estevam, Sudeep Holla, Tobias Jordan).
      
         - Fix and clean up some cpufreq drivers and fix a minor issue in the
           cpufreq statistics code (Arvind Yadav, Bhumika Goyal, Fabio
           Estevam, Gautham Shenoy, Gustavo Silva, Marek Szyprowski, Masahiro
           Yamada, Robert Jarzmik, Zumeng Chen).
      
         - Fix minor issues in the system suspend and hibernation core, in
           power management documentation and in the AVS (Adaptive Voltage
           Scaling) framework (Helge Deller, Himanshu Jha, Joe Perches, Rafael
           Wysocki).
      
         - Fix some issues in the cpupower utility and document that Shuah
           Khan is going to maintain it going forward (Prarit Bhargava, Shuah
           Khan)"
      
      * tag 'pm-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (88 commits)
        tools/power/cpupower: add libcpupower.so.0.0.1 to .gitignore
        tools/power/cpupower: Add 64 bit library detection
        intel_idle: Graceful probe failure when MWAIT is disabled
        cpufreq: schedutil: Reset cached_raw_freq when not in sync with next_freq
        freezer: Fix typo in freezable_schedule_timeout() comment
        PM / s2idle: Clear the events_check_enabled flag
        cpufreq: stats: Handle the case when trans_table goes beyond PAGE_SIZE
        cpufreq: arm_big_little: make cpufreq_arm_bL_ops structures const
        cpufreq: arm_big_little: make function arguments and structure pointer const
        cpuidle: Avoid assignment in if () argument
        cpuidle: Clean up cpuidle_enable_device() error handling a bit
        ACPI / PM: Fix acpi_pm_notifier_lock vs flush_workqueue() deadlock
        PM / Domains: Fix genpd to deal with drivers returning 1 from ->prepare()
        cpuidle: ladder: Add per CPU PM QoS resume latency support
        PM / QoS: Fix device resume latency framework
        PM / domains: Rework governor code to be more consistent
        PM / Domains: Remove gpd_dev_ops.active_wakeup() callback
        soc: rockchip: power-domain: Use GENPD_FLAG_ACTIVE_WAKEUP
        soc: mediatek: Use GENPD_FLAG_ACTIVE_WAKEUP
        ARM: shmobile: pm-rmobile: Use GENPD_FLAG_ACTIVE_WAKEUP
        ...
      bd2cd7d5
    • Rafael J. Wysocki's avatar
      x86 / CPU: Avoid unnecessary IPIs in arch_freq_get_on_cpu() · b29c6ef7
      Rafael J. Wysocki authored
      Even though aperfmperf_snapshot_khz() caches the samples.khz value to
      return if called again in a sufficiently short time, its caller,
      arch_freq_get_on_cpu(), still uses smp_call_function_single() to run it
      which may allow user space to trigger an IPI storm by reading from the
      scaling_cur_freq cpufreq sysfs file in a tight loop.
      
      To avoid that, move the decision on whether or not to return the cached
      samples.khz value to arch_freq_get_on_cpu().
      
      This change was part of commit 941f5f0f ("x86: CPU: Fix up "cpu MHz"
      in /proc/cpuinfo"), but it was not the reason for the revert and it
      remains applicable.
      
      Fixes: 4815d3c5 (cpufreq: x86: Make scaling_cur_freq behave more as expected)
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Reviewed-by: default avatarWANG Chao <chao.wang@ucloud.cn>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b29c6ef7
    • Linus Torvalds's avatar
      Merge branch 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 99306dfc
      Linus Torvalds authored
      Pull x86 timer updates from Thomas Gleixner:
       "These updates are related to TSC handling:
      
         - Support platforms which have synchronized TSCs but the boot CPU has
           a non zero TSC_ADJUST value, which is considered a firmware bug on
           normal systems.
      
           This applies to HPE/SGI UV platforms where the platform firmware
           uses TSC_ADJUST to ensure TSC synchronization across a huge number
           of sockets, but due to power on timings the boot CPU cannot be
           guaranteed to have a zero TSC_ADJUST register value.
      
         - Fix the ordering of udelay calibration and kvmclock_init()
      
         - Cleanup the udelay and calibration code"
      
      * 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tsc: Mark cyc2ns_init() and detect_art() __init
        x86/platform/UV: Mark tsc_check_sync as an init function
        x86/tsc: Make CONFIG_X86_TSC=n build work again
        x86/platform/UV: Add check of TSC state set by UV BIOS
        x86/tsc: Provide a means to disable TSC ART
        x86/tsc: Drastically reduce the number of firmware bug warnings
        x86/tsc: Skip TSC test and error messages if already unstable
        x86/tsc: Add option that TSC on Socket 0 being non-zero is valid
        x86/timers: Move simple_udelay_calibration() past kvmclock_init()
        x86/timers: Make recalibrate_cpu_khz() void
        x86/timers: Move the simple udelay calibration to tsc.h
      99306dfc
    • Linus Torvalds's avatar
      Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3643b7e0
      Linus Torvalds authored
      Pull x86 cache resource updates from Thomas Gleixner:
       "This update provides updates to RDT:
      
        - A diagnostic framework for the Resource Director Technology (RDT)
          user interface (sysfs). The failure modes of the user interface are
          hard to diagnose from the error codes. An extra last command status
          file provides now sensible textual information about the failure so
          its simpler to use.
      
        - A few minor cleanups and updates in the RDT code"
      
      * 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/intel_rdt: Fix a silent failure when writing zero value schemata
        x86/intel_rdt: Fix potential deadlock during resctrl mount
        x86/intel_rdt: Fix potential deadlock during resctrl unmount
        x86/intel_rdt: Initialize bitmask of shareable resource if CDP enabled
        x86/intel_rdt: Remove redundant assignment
        x86/intel_rdt/cqm: Make integer rmid_limbo_count static
        x86/intel_rdt: Add documentation for "info/last_cmd_status"
        x86/intel_rdt: Add diagnostics when making directories
        x86/intel_rdt: Add diagnostics when writing the cpus file
        x86/intel_rdt: Add diagnostics when writing the tasks file
        x86/intel_rdt: Add diagnostics when writing the schemata file
        x86/intel_rdt: Add framework for better RDT UI diagnostics
      3643b7e0
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b18d6289
      Linus Torvalds authored
      Pull x86 APIC updates from Thomas Gleixner:
       "This update provides a major overhaul of the APIC initialization and
        vector allocation code:
      
         - Unification of the APIC and interrupt mode setup which was
           scattered all over the place and was hard to follow. This also
           distangles the timer setup from the APIC initialization which
           brings a clear separation of functionality.
      
           Great detective work from Dou Lyiang!
      
         - Refactoring of the x86 vector allocation mechanism. The existing
           code was based on nested loops and rather convoluted APIC callbacks
           which had a horrible worst case behaviour and tried to serve all
           different use cases in one go. This led to quite odd hacks when
           supporting the new managed interupt facility for multiqueue devices
           and made it more or less impossible to deal with the vector space
           exhaustion which was a major roadblock for server hibernation.
      
           Aside of that the code dealing with cpu hotplug and the system
           vectors was disconnected from the actual vector management and
           allocation code, which made it hard to follow and maintain.
      
           Utilizing the new bitmap matrix allocator core mechanism, the new
           allocator and management code consolidates the handling of system
           vectors, legacy vectors, cpu hotplug mechanisms and the actual
           allocation which needs to be aware of system and legacy vectors and
           hotplug constraints into a single consistent entity.
      
           This has one visible change: The support for multi CPU targets of
           interrupts, which is only available on a certain subset of
           CPUs/APIC variants has been removed in favour of single interrupt
           targets. A proper analysis of the multi CPU target feature revealed
           that there is no real advantage as the vast majority of interrupts
           end up on the CPU with the lowest APIC id in the set of target CPUs
           anyway. That change was agreed on by the relevant folks and allowed
           to simplify the implementation significantly and to replace rather
           fragile constructs like the vector cleanup IPI with straight
           forward and solid code.
      
           Furthermore this allowed to cleanly separate the allocation details
           for legacy, normal and managed interrupts:
      
            * Legacy interrupts are not longer wasting 16 vectors
              unconditionally
      
            * Managed interrupts have now a guaranteed vector reservation, but
              the actual vector assignment happens when the interrupt is
              requested. It's guaranteed not to fail.
      
            * Normal interrupts no longer allocate vectors unconditionally
              when the interrupt is set up (IO/APIC init or MSI(X) enable).
              The mechanism has been switched to a best effort reservation
              mode. The actual allocation happens when the interrupt is
              requested. Contrary to managed interrupts the request can fail
              due to vector space exhaustion, but drivers must handle a fail
              of request_irq() anyway. When the interrupt is freed, the vector
              is handed back as well.
      
              This solves a long standing problem with large unconditional
              vector allocations for a certain class of enterprise devices
              which prevented server hibernation due to vector space
              exhaustion when the unused allocated vectors had to be migrated
              to CPU0 while unplugging all non boot CPUs.
      
           The code has been equipped with trace points and detailed debugfs
           information to aid analysis of the vector space"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (60 commits)
        x86/vector/msi: Select CONFIG_GENERIC_IRQ_RESERVATION_MODE
        PCI/MSI: Set MSI_FLAG_MUST_REACTIVATE in core code
        genirq: Add config option for reservation mode
        x86/vector: Use correct per cpu variable in free_moved_vector()
        x86/apic/vector: Ignore set_affinity call for inactive interrupts
        x86/apic: Fix spelling mistake: "symmectic" -> "symmetric"
        x86/apic: Use dead_cpu instead of current CPU when cleaning up
        ACPI/init: Invoke early ACPI initialization earlier
        x86/vector: Respect affinity mask in irq descriptor
        x86/irq: Simplify hotplug vector accounting
        x86/vector: Switch IOAPIC to global reservation mode
        x86/vector/msi: Switch to global reservation mode
        x86/vector: Handle managed interrupts proper
        x86/io_apic: Reevaluate vector configuration on activate()
        iommu/amd: Reevaluate vector configuration on activate()
        iommu/vt-d: Reevaluate vector configuration on activate()
        x86/apic/msi: Force reactivation of interrupts at startup time
        x86/vector: Untangle internal state from irq_cfg
        x86/vector: Compile SMP only code conditionally
        x86/apic: Remove unused callbacks
        ...
      b18d6289
    • Linus Torvalds's avatar
      Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7d58e1c9
      Linus Torvalds authored
      Pull smp/hotplug updates from Thomas Gleixner:
       "No functional changes, just removal of obsolete and outdated defines,
        macros and documentation"
      
      * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        cpu/hotplug: Get rid of CPU hotplug notifier leftovers
        cpu/hotplug: Remove obsolete notifier macros
      7d58e1c9
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2bcc6731
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "Yet another big pile of changes:
      
         - More year 2038 work from Arnd slowly reaching the point where we
           need to think about the syscalls themself.
      
         - A new timer function which allows to conditionally (re)arm a timer
           only when it's either not running or the new expiry time is sooner
           than the armed expiry time. This allows to use a single timer for
           multiple timeout requirements w/o caring about the first expiry
           time at the call site.
      
         - A new NMI safe accessor to clock real time for the printk timestamp
           work. Can be used by tracing, perf as well if required.
      
         - A large number of timer setup conversions from Kees which got
           collected here because either maintainers requested so or they
           simply got ignored. As Kees pointed out already there are a few
           trivial merge conflicts and some redundant commits which was
           unavoidable due to the size of this conversion effort.
      
         - Avoid a redundant iteration in the timer wheel softirq processing.
      
         - Provide a mechanism to treat RTC implementations depending on their
           hardware properties, i.e. don't inflict the write at the 0.5
           seconds boundary which originates from the PC CMOS RTC to all RTCs.
           No functional change as drivers need to be updated separately.
      
         - The usual small updates to core code clocksource drivers. Nothing
           really exciting"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (111 commits)
        timers: Add a function to start/reduce a timer
        pstore: Use ktime_get_real_fast_ns() instead of __getnstimeofday()
        timer: Prepare to change all DEFINE_TIMER() callbacks
        netfilter: ipvs: Convert timers to use timer_setup()
        scsi: qla2xxx: Convert timers to use timer_setup()
        block/aoe: discover_timer: Convert timers to use timer_setup()
        ide: Convert timers to use timer_setup()
        drbd: Convert timers to use timer_setup()
        mailbox: Convert timers to use timer_setup()
        crypto: Convert timers to use timer_setup()
        drivers/pcmcia: omap1: Fix error in automated timer conversion
        ARM: footbridge: Fix typo in timer conversion
        drivers/sgi-xp: Convert timers to use timer_setup()
        drivers/pcmcia: Convert timers to use timer_setup()
        drivers/memstick: Convert timers to use timer_setup()
        drivers/macintosh: Convert timers to use timer_setup()
        hwrng/xgene-rng: Convert timers to use timer_setup()
        auxdisplay: Convert timers to use timer_setup()
        sparc/led: Convert timers to use timer_setup()
        mips: ip22/32: Convert timers to use timer_setup()
        ...
      2bcc6731
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 670310df
      Linus Torvalds authored
      Pull irq core updates from Thomas Gleixner:
       "A rather large update for the interrupt core code and the irq chip drivers:
      
         - Add a new bitmap matrix allocator and supporting changes, which is
           used to replace the x86 vector allocator which comes with separate
           pull request. This allows to replace the convoluted nested loop
           allocation function in x86 with a facility which supports the
           recently added property of managed interrupts proper and allows to
           switch to a best effort vector reservation scheme, which addresses
           problems with vector exhaustion.
      
         - A large update to the ARM GIC-V3-ITS driver adding support for
           range selectors.
      
         - New interrupt controllers:
             - Meson and Meson8 GPIO
             - BCM7271 L2
             - Socionext EXIU
      
           If you expected that this will stop at some point, I have to
           disappoint you. There are new ones posted already. Sigh!
      
         - STM32 interrupt controller support for new platforms.
      
         - A pile of fixes, cleanups and updates to the MIPS GIC driver
      
         - The usual small fixes, cleanups and updates all over the place.
           Most visible one is to move the irq chip drivers Kconfig switches
           into a separate Kconfig menu"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (70 commits)
        genirq: Fix type of shifting literal 1 in __setup_irq()
        irqdomain: Drop pointless NULL check in virq_debug_show_one
        genirq/proc: Return proper error code when irq_set_affinity() fails
        irq/work: Use llist_for_each_entry_safe
        irqchip: mips-gic: Print warning if inherited GIC base is used
        irqchip/mips-gic: Add pr_fmt and reword pr_* messages
        irqchip/stm32: Move the wakeup on interrupt mask
        irqchip/stm32: Fix initial values
        irqchip/stm32: Add stm32h7 support
        dt-bindings/interrupt-controllers: Add compatible string for stm32h7
        irqchip/stm32: Add multi-bank management
        irqchip/stm32: Select GENERIC_IRQ_CHIP
        irqchip/exiu: Add support for Socionext Synquacer EXIU controller
        dt-bindings: Add description of Socionext EXIU interrupt controller
        irqchip/gic-v3-its: Fix VPE activate callback return value
        irqchip: mips-gic: Make IPI bitmaps static
        irqchip: mips-gic: Share register writes in gic_set_type()
        irqchip: mips-gic: Remove gic_vpes variable
        irqchip: mips-gic: Use num_possible_cpus() to reserve IPIs
        irqchip: mips-gic: Configure EIC when CPUs come online
        ...
      670310df
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 43ff2f4d
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - a refactoring of the early virt init code by merging 'struct
           x86_hyper' into 'struct x86_platform' and 'struct x86_init', which
           allows simplifications and also the addition of a new
           ->guest_late_init() callback. (Juergen Gross)
      
         - timer_setup() conversion of the UV code (Kees Cook)"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/virt/xen: Use guest_late_init to detect Xen PVH guest
        x86/virt, x86/platform: Add ->guest_late_init() callback to hypervisor_x86 structure
        x86/virt, x86/acpi: Add test for ACPI_FADT_NO_VGA
        x86/virt: Add enum for hypervisors to replace x86_hyper
        x86/virt, x86/platform: Merge 'struct x86_hyper' into 'struct x86_platform' and 'struct x86_init'
        x86/platform/UV: Convert timers to use timer_setup()
      43ff2f4d
    • Linus Torvalds's avatar
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 13e57da4
      Linus Torvalds authored
      Pull x86 debug update from Ingo Molnar:
       "A single change enhancing stack traces by hiding wrapper function
        entries"
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/stacktrace: Avoid recording save_stack_trace() wrappers
      13e57da4
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · eb4d47c8
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Two changes: Propagate const/__initconst, and use ARRAY_SIZE() some
        more"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/events/amd/iommu: Make iommu_pmu const and __initconst
        x86: Use ARRAY_SIZE
      eb4d47c8
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6a9f70b0
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
       "Three smaller changes:
      
         - clang fix
      
         - boot message beautification
      
         - unnecessary header inclusion removal"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Disable Clang warnings about GNU extensions
        x86/boot: Remove unnecessary #include <generated/utsrelease.h>
        x86/boot: Spell out "boot CPU" for BP
      6a9f70b0
  2. 13 Nov, 2017 9 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d6ec9d9a
      Linus Torvalds authored
      Pull x86 core updates from Ingo Molnar:
       "Note that in this cycle most of the x86 topics interacted at a level
        that caused them to be merged into tip:x86/asm - but this should be a
        temporary phenomenon, hopefully we'll back to the usual patterns in
        the next merge window.
      
        The main changes in this cycle were:
      
        Hardware enablement:
      
         - Add support for the Intel UMIP (User Mode Instruction Prevention)
           CPU feature. This is a security feature that disables certain
           instructions such as SGDT, SLDT, SIDT, SMSW and STR. (Ricardo Neri)
      
           [ Note that this is disabled by default for now, there are some
             smaller enhancements in the pipeline that I'll follow up with in
             the next 1-2 days, which allows this to be enabled by default.]
      
         - Add support for the AMD SEV (Secure Encrypted Virtualization) CPU
           feature, on top of SME (Secure Memory Encryption) support that was
           added in v4.14. (Tom Lendacky, Brijesh Singh)
      
         - Enable new SSE/AVX/AVX512 CPU features: AVX512_VBMI2, GFNI, VAES,
           VPCLMULQDQ, AVX512_VNNI, AVX512_BITALG. (Gayatri Kammela)
      
        Other changes:
      
         - A big series of entry code simplifications and enhancements (Andy
           Lutomirski)
      
         - Make the ORC unwinder default on x86 and various objtool
           enhancements. (Josh Poimboeuf)
      
         - 5-level paging enhancements (Kirill A. Shutemov)
      
         - Micro-optimize the entry code a bit (Borislav Petkov)
      
         - Improve the handling of interdependent CPU features in the early
           FPU init code (Andi Kleen)
      
         - Build system enhancements (Changbin Du, Masahiro Yamada)
      
         - ... plus misc enhancements, fixes and cleanups"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (118 commits)
        x86/build: Make the boot image generation less verbose
        selftests/x86: Add tests for the STR and SLDT instructions
        selftests/x86: Add tests for User-Mode Instruction Prevention
        x86/traps: Fix up general protection faults caused by UMIP
        x86/umip: Enable User-Mode Instruction Prevention at runtime
        x86/umip: Force a page fault when unable to copy emulated result to user
        x86/umip: Add emulation code for UMIP instructions
        x86/cpufeature: Add User-Mode Instruction Prevention definitions
        x86/insn-eval: Add support to resolve 16-bit address encodings
        x86/insn-eval: Handle 32-bit address encodings in virtual-8086 mode
        x86/insn-eval: Add wrapper function for 32 and 64-bit addresses
        x86/insn-eval: Add support to resolve 32-bit address encodings
        x86/insn-eval: Compute linear address in several utility functions
        resource: Fix resource_size.cocci warnings
        X86/KVM: Clear encryption attribute when SEV is active
        X86/KVM: Decrypt shared per-cpu variables when SEV is active
        percpu: Introduce DEFINE_PER_CPU_DECRYPTED
        x86: Add support for changing memory encryption attribute in early boot
        x86/io: Unroll string I/O when SEV is active
        x86/boot: Add early boot support when running with SEV active
        ...
      d6ec9d9a
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3e201463
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main updates in this cycle were:
      
         - Group balancing enhancements and cleanups (Brendan Jackman)
      
         - Move CPU isolation related functionality into its separate
           kernel/sched/isolation.c file, with related 'housekeeping_*()'
           namespace and nomenclature et al. (Frederic Weisbecker)
      
         - Improve the interactive/cpu-intense fairness calculation (Josef
           Bacik)
      
         - Improve the PELT code and related cleanups (Peter Zijlstra)
      
         - Improve the logic of pick_next_task_fair() (Uladzislau Rezki)
      
         - Improve the RT IPI based balancing logic (Steven Rostedt)
      
         - Various micro-optimizations:
      
         - better !CONFIG_SCHED_DEBUG optimizations (Patrick Bellasi)
      
         - better idle loop (Cheng Jian)
      
         - ... plus misc fixes, cleanups and updates"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (54 commits)
        sched/core: Optimize sched_feat() for !CONFIG_SCHED_DEBUG builds
        sched/sysctl: Fix attributes of some extern declarations
        sched/isolation: Document isolcpus= boot parameter flags, mark it deprecated
        sched/isolation: Add basic isolcpus flags
        sched/isolation: Move isolcpus= handling to the housekeeping code
        sched/isolation: Handle the nohz_full= parameter
        sched/isolation: Introduce housekeeping flags
        sched/isolation: Split out new CONFIG_CPU_ISOLATION=y config from CONFIG_NO_HZ_FULL
        sched/isolation: Rename is_housekeeping_cpu() to housekeeping_cpu()
        sched/isolation: Use its own static key
        sched/isolation: Make the housekeeping cpumask private
        sched/isolation: Provide a dynamic off-case to housekeeping_any_cpu()
        sched/isolation, watchdog: Use housekeeping_cpumask() instead of ad-hoc version
        sched/isolation: Move housekeeping related code to its own file
        sched/idle: Micro-optimize the idle loop
        sched/isolcpus: Fix "isolcpus=" boot parameter handling when !CONFIG_CPUMASK_OFFSTACK
        x86/tsc: Append the 'tsc=' description for the 'tsc=unstable' boot parameter
        sched/rt: Simplify the IPI based RT balancing logic
        block/ioprio: Use a helper to check for RT prio
        sched/rt: Add a helper to test for a RT task
        ...
      3e201463
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f2be8bd5
      Linus Torvalds authored
      Pull RAS updates from Ingo Molnar:
       "Two minor updates to AMD SMCA support, plus a timer_setup() conversion"
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/MCE/AMD: Fix mce_severity_amd_smca() signature
        x86/MCE/AMD: Always give panic severity for UC errors in kernel context
        x86/mce: Convert timers to use timer_setup()
      f2be8bd5
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 31486372
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "The main changes in this cycle were:
      
        Kernel:
      
         - kprobes updates: use better W^X patterns for code modifications,
           improve optprobes, remove jprobes. (Masami Hiramatsu, Kees Cook)
      
         - core fixes: event timekeeping (enabled/running times statistics)
           fixes, perf_event_read() locking fixes and cleanups, etc. (Peter
           Zijlstra)
      
         - Extend x86 Intel free-running PEBS support and support x86
           user-register sampling in perf record and perf script. (Andi Kleen)
      
        Tooling:
      
         - Completely rework the way inline frames are handled. Instead of
           querying for the inline nodes on-demand in the individual tools, we
           now create proper callchain nodes for inlined frames. (Milian
           Wolff)
      
         - 'perf trace' updates (Arnaldo Carvalho de Melo)
      
         - Implement a way to print formatted output to per-event files in
           'perf script' to facilitate generate flamegraphs, elliminating the
           need to write scripts to do that separation (yuzhoujian, Arnaldo
           Carvalho de Melo)
      
         - Update vendor events JSON metrics for Intel's Broadwell, Broadwell
           Server, Haswell, Haswell Server, IvyBridge, IvyTown, JakeTown,
           Sandy Bridge, Skylake, SkyLake Server - and Goldmont Plus V1 (Andi
           Kleen, Kan Liang)
      
         - Multithread the synthesizing of PERF_RECORD_ events for
           pre-existing threads in 'perf top', speeding up that phase, greatly
           improving the user experience in systems such as Intel's Knights
           Mill (Kan Liang)
      
         - Introduce the concept of weak groups in 'perf stat': try to set up
           a group, but if it's not schedulable fallback to not using a group.
           That gives us the best of both worlds: groups if they work, but
           still a usable fallback if they don't. E.g: (Andi Kleen)
      
         - perf sched timehist enhancements (David Ahern)
      
         - ... various other enhancements, updates, cleanups and fixes"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (139 commits)
        kprobes: Don't spam the build log with deprecation warnings
        arm/kprobes: Remove jprobe test case
        arm/kprobes: Fix kretprobe test to check correct counter
        perf srcline: Show correct function name for srcline of callchains
        perf srcline: Fix memory leak in addr2inlines()
        perf trace beauty kcmp: Beautify arguments
        perf trace beauty: Implement pid_fd beautifier
        tools include uapi: Grab a copy of linux/kcmp.h
        perf callchain: Fix double mapping al->addr for children without self period
        perf stat: Make --per-thread update shadow stats to show metrics
        perf stat: Move the shadow stats scale computation in perf_stat__update_shadow_stats
        perf tools: Add perf_data_file__write function
        perf tools: Add struct perf_data_file
        perf tools: Rename struct perf_data_file to perf_data
        perf script: Print information about per-event-dump files
        perf trace beauty prctl: Generate 'option' string table from kernel headers
        tools include uapi: Grab a copy of linux/prctl.h
        perf script: Allow creating per-event dump files
        perf evsel: Restore evsel->priv as a tool private area
        perf script: Use event_format__fprintf()
        ...
      31486372
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8e9a2dba
      Linus Torvalds authored
      Pull core locking updates from Ingo Molnar:
       "The main changes in this cycle are:
      
         - Another attempt at enabling cross-release lockdep dependency
           tracking (automatically part of CONFIG_PROVE_LOCKING=y), this time
           with better performance and fewer false positives. (Byungchul Park)
      
         - Introduce lockdep_assert_irqs_enabled()/disabled() and convert
           open-coded equivalents to lockdep variants. (Frederic Weisbecker)
      
         - Add down_read_killable() and use it in the VFS's iterate_dir()
           method. (Kirill Tkhai)
      
         - Convert remaining uses of ACCESS_ONCE() to
           READ_ONCE()/WRITE_ONCE(). Most of the conversion was Coccinelle
           driven. (Mark Rutland, Paul E. McKenney)
      
         - Get rid of lockless_dereference(), by strengthening Alpha atomics,
           strengthening READ_ONCE() with smp_read_barrier_depends() and thus
           being able to convert users of lockless_dereference() to
           READ_ONCE(). (Will Deacon)
      
         - Various micro-optimizations:
      
              - better PV qspinlocks (Waiman Long),
              - better x86 barriers (Michael S. Tsirkin)
              - better x86 refcounts (Kees Cook)
      
         - ... plus other fixes and enhancements. (Borislav Petkov, Juergen
           Gross, Miguel Bernal Marin)"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (70 commits)
        locking/x86: Use LOCK ADD for smp_mb() instead of MFENCE
        rcu: Use lockdep to assert IRQs are disabled/enabled
        netpoll: Use lockdep to assert IRQs are disabled/enabled
        timers/posix-cpu-timers: Use lockdep to assert IRQs are disabled/enabled
        sched/clock, sched/cputime: Use lockdep to assert IRQs are disabled/enabled
        irq_work: Use lockdep to assert IRQs are disabled/enabled
        irq/timings: Use lockdep to assert IRQs are disabled/enabled
        perf/core: Use lockdep to assert IRQs are disabled/enabled
        x86: Use lockdep to assert IRQs are disabled/enabled
        smp/core: Use lockdep to assert IRQs are disabled/enabled
        timers/hrtimer: Use lockdep to assert IRQs are disabled/enabled
        timers/nohz: Use lockdep to assert IRQs are disabled/enabled
        workqueue: Use lockdep to assert IRQs are disabled/enabled
        irq/softirqs: Use lockdep to assert IRQs are disabled/enabled
        locking/lockdep: Add IRQs disabled/enabled assertion APIs: lockdep_assert_irqs_enabled()/disabled()
        locking/pvqspinlock: Implement hybrid PV queued/unfair locks
        locking/rwlocks: Fix comments
        x86/paravirt: Set up the virt_spin_lock_key after static keys get initialized
        block, locking/lockdep: Assign a lock_class per gendisk used for wait_for_completion()
        workqueue: Remove now redundant lock acquisitions wrt. workqueue flushes
        ...
      8e9a2dba
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6098850e
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The main changes in this cycle are:
      
         - Documentation updates
      
         - RCU CPU stall-warning updates
      
         - Torture-test updates
      
         - Miscellaneous fixes
      
        Size wise the biggest updates are to documentation. Excluding
        documentation most of the code increase comes from a single commit
        which expands debugging"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
        srcu: Add parameters to SRCU docbook comments
        doc: Rewrite confusing statement about memory barriers
        memory-barriers.txt: Fix typo in pairing example
        rcu/segcblist: Include rcupdate.h
        rcu: Add extended-quiescent-state testing advice
        rcu: Suppress lockdep false-positive ->boost_mtx complaints
        rcu: Do not include rtmutex_common.h unconditionally
        torture: Provide TMPDIR environment variable to specify tmpdir
        rcutorture: Dump writer stack if stalled
        rcutorture: Add interrupt-disable capability to stall-warning tests
        rcu: Suppress RCU CPU stall warnings while dumping trace
        rcu: Turn off tracing before dumping trace
        rcu: Make RCU CPU stall warnings check for irq-disabled CPUs
        sched,rcu: Make cond_resched() provide RCU quiescent state
        sched: Make resched_cpu() unconditional
        irq_work: Map irq_work_on_queue() to irq_work_on() in !SMP
        rcu: Create call_rcu_tasks() kthread at boot time
        rcu: Fix up pending cbs check in rcu_prepare_for_idle
        memory-barriers: Rework multicopy-atomicity section
        memory-barriers: Replace uses of "transitive"
        ...
      6098850e
    • Linus Torvalds's avatar
      Merge tag 'please-pull-gettime_vsyscall_update' of... · f08d8bcc
      Linus Torvalds authored
      Merge tag 'please-pull-gettime_vsyscall_update' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux
      
      Pull ia64 update from Tony Luck:
       "Stop ia64 being the last holdout using GENERIC_TIME_VSYSCALL_OLD so
        that John Stultz can drop that code"
      
      * tag 'please-pull-gettime_vsyscall_update' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        ia64: Update fsyscall gettime to use modern vsyscall_update
      f08d8bcc
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://github.com/openrisc/linux · f3573b8f
      Linus Torvalds authored
      Pull OpenRISC updates from Stafford Horne:
       "The OpenRISC work is a bit more interesting this time, adding SMP
        support and a few general cleanups.
      
        Small Things:
      
         - Move OpenRISC docs into Documentation and clean them up
      
         - Document previously undocumented devicetree bindings
      
         - Update the or1ksim dts to use stdout-path
      
        OpenRISC SMP support details:
      
         - First the "use shadow registers" and "define CPU_BIG_ENDIAN as
           true" get the architecture ready for SMP.
      
         - The "add 1 and 2 byte cmpxchg support" and "use qspinlocks and
           qrwlocks" add the SMP locking infrastructure as needed. Using the
           qspinlocks and qrwlocks as suggested by Peter Z while reviewing the
           original spinlocks implementation.
      
         - The "support for ompic" adds a new irqchip device which is used for
           IPI communication to support SMP.
      
         - The "initial SMP support" adds smp.c and makes changes to all of
           the necessary data-structures to be per-cpu.
      
        The remaining patches are bug fixes and debug helpers which I wanted
        to keep separate from the "initial SMP support" in order to allow them
        to be reviewed on their own. This includes:
      
         - add cacheflush support to fix icache aliasing
      
         - fix initial preempt state for secondary cpu tasks
      
         - sleep instead of spin on secondary wait
      
         - support framepointers and STACKTRACE_SUPPORT
      
         - enable LOCKDEP_SUPPORT and irqflags tracing
      
         - timer sync: Add tick timer sync logic
      
         - fix possible deadlock in timer sync, pointed out by mips guys
      
        Note: the irqchip patch was reviewed with Marc and we agreed to push
        it together with these patches"
      
      * tag 'for-linus' of git://github.com/openrisc/linux:
        openrisc: fix possible deadlock scenario during timer sync
        openrisc: pass endianness info to sparse
        openrisc: add tick timer multi-core sync logic
        openrisc: enable LOCKDEP_SUPPORT and irqflags tracing
        openrisc: support framepointers and STACKTRACE_SUPPORT
        openrisc: add simple_smp dts and defconfig for simulators
        openrisc: add cacheflush support to fix icache aliasing
        openrisc: sleep instead of spin on secondary wait
        openrisc: fix initial preempt state for secondary cpu tasks
        openrisc: initial SMP support
        irqchip: add initial support for ompic
        dt-bindings: add openrisc to vendor prefixes list
        openrisc: use qspinlocks and qrwlocks
        openrisc: add 1 and 2 byte cmpxchg support
        openrisc: use shadow registers to save regs on exception
        dt-bindings: openrisc: Add OpenRISC platform SoC
        Documentation: openrisc: Updates to README
        Documentation: Move OpenRISC docs out of arch/
        MAINTAINERS: Add OpenRISC pic maintainer
        openrisc: dts: or1ksim: Add stdout-path
      f3573b8f
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v4.15-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 9e09d05c
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
        - more printk modernization
      
        - various cleanups and fixes (incl. a race condition) for Mac
      
        - defconfig updates
      
      * tag 'm68k-for-v4.15-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/defconfig: Update defconfigs for v4.14-rc7
        m68k/mac: Add mutual exclusion for IOP interrupt polling
        m68k/mac: Disentangle VIA/RBV and NuBus initialization
        m68k/mac: Disentangle VIA and OSS initialization
        m68k/mac: More printk modernization
      9e09d05c