* linux-next: Signed-off-by missing for commit in the rcu tree
From: Stephen Rothwell @ 2017-07-30 13:48 UTC (permalink / raw)
To: Paul E. McKenney
Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
Mathieu Desnoyers
Hi Paul,
Commit
6a48c1c899e8 ("membarrier: Expedited private command")
is missing a Signed-off-by from its committer.
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* Re: linux-next: Signed-off-by missing for commit in the rcu tree
From: Paul E. McKenney @ 2017-07-30 16:57 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
Mathieu Desnoyers
In-Reply-To: <20170730234857.6d4c5760@canb.auug.org.au>
On Sun, Jul 30, 2017 at 11:48:57PM +1000, Stephen Rothwell wrote:
> Hi Paul,
>
> Commit
>
> 6a48c1c899e8 ("membarrier: Expedited private command")
>
> is missing a Signed-off-by from its committer.
Good catch, fixed.
Thanx, Paul
^ permalink raw reply
* linux-next: build failure after merge of the rdma tree
From: Stephen Rothwell @ 2017-07-31 2:07 UTC (permalink / raw)
To: Doug Ledford
Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Matan Barak
Hi Doug,
After merging the rdma tree, today's linux-next build (x86_64
allmodconfig) failed like this:
drivers/infiniband/hw/hns/hns_roce_eq.c: In function 'hns_roce_init_eq_table':
drivers/infiniband/hw/hns/hns_roce_eq.c:711:9: error: implicit declaration of function 'request_irq' [-Werror=implicit-function-declaration]
ret = request_irq(eq_table->eq[j].irq, hns_roce_msi_x_interrupt,
^
drivers/infiniband/hw/hns/hns_roce_eq.c:726:3: error: implicit declaration of function 'free_irq' [-Werror=implicit-function-declaration]
free_irq(eq_table->eq[j].irq, eq_table->eq + j);
^
Probably exposed by commit
e89bf462b6be ("IB/hns: Support compile test for hns RoCE driver")
But maybe caused by another commit thet modified includes so that
linux/interrupt.h is not longer implictly included ...
I have used the rdma tree from next-20170728 for today.
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* linux-next: build warning after merge of the crypto tree
From: Stephen Rothwell @ 2017-07-31 2:17 UTC (permalink / raw)
To: Herbert Xu
Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Gary R Hook
Hi Herbert,
After merging the crypto tree, today's linux-next build (x86_64
allmodconfig) produced this warning:
drivers/crypto/ccp/ccp-ops.c: In function 'ccp_run_rsa_cmd':
drivers/crypto/ccp/ccp-ops.c:1856:3: warning: 'sb_count' may be used uninitialized in this function [-Wmaybe-uninitialized]
cmd_q->ccp->vdata->perform->sbfree(cmd_q, op.sb_key, sb_count);
^
Maybe introduced by commit
6ba46c7d4d7e ("crypto: ccp - Fix base RSA function for version 5 CCPs")
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* linux-next: manual merge of the drm tree with Linus' tree
From: Stephen Rothwell @ 2017-07-31 2:24 UTC (permalink / raw)
To: Dave Airlie
Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Daniel Vetter,
Ben Skeggs
Hi Dave,
Today's linux-next merge of the drm tree got a conflict in:
drivers/gpu/drm/nouveau/nv50_display.c
between commit:
4a5431af19bc ("drm/nouveau/kms/nv50: update vblank state in response to modeset actions")
from Linus' tree and commit:
ca814b25538a ("drm/vblank: Consistent drm_crtc_ prefix")
from the drm tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
--
Cheers,
Stephen Rothwell
diff --cc drivers/gpu/drm/nouveau/nv50_display.c
index 2bc0dc985214,747c99c1e474..000000000000
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@@ -4080,8 -4068,7 +4081,8 @@@ nv50_disp_atomic_commit_tail(struct drm
if (crtc->state->event) {
unsigned long flags;
/* Get correct count/ts if racing with vblank irq */
- drm_crtc_accurate_vblank_count(crtc);
+ if (crtc->state->active)
- drm_accurate_vblank_count(crtc);
++ drm_crtc_accurate_vblank_count(crtc);
spin_lock_irqsave(&crtc->dev->event_lock, flags);
drm_crtc_send_vblank_event(crtc, crtc->state->event);
spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
^ permalink raw reply
* linux-next: manual merge of the rcu tree with the tip tree
From: Stephen Rothwell @ 2017-07-31 3:50 UTC (permalink / raw)
To: Paul E. McKenney, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
Peter Zijlstra
Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
Andy Lutomirski, Mathieu Desnoyers
Hi Paul,
Today's linux-next merge of the rcu tree got a conflict in:
arch/x86/mm/tlb.c
between commit:
94b1b03b519b ("x86/mm: Rework lazy TLB mode and TLB freshness tracking")
from the tip tree and commit:
d7713e8f8b23 ("membarrier: Expedited private command")
from the rcu tree.
I fixed it up (the former removed the comment and the load_cr3(), so I
just dropped the commend change in the latter) and can carry the fix as
necessary. This is now fixed as far as linux-next is concerned, but any
non trivial conflicts should be mentioned to your upstream maintainer
when your tree is submitted for merging. You may also want to consider
cooperating with the maintainer of the conflicting tree to minimise any
particularly complex conflicts.
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* linux-next: build warnings after merge of the staging tree
From: Stephen Rothwell @ 2017-07-31 5:02 UTC (permalink / raw)
To: Greg KH; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
JB Van Puyvelde
Hi Greg,
After merging the staging tree, today's linux-next build (x86_64
allmodconfig) produced this warning:
drivers/staging/media/atomisp/i2c/imx/imx.c:1087:12: warning: 'imx_vcm_power_up' defined but not used [-Wunused-function]
static int imx_vcm_power_up(struct v4l2_subdev *sd)
^
drivers/staging/media/atomisp/i2c/imx/imx.c:1095:12: warning: 'imx_vcm_power_down' defined but not used [-Wunused-function]
static int imx_vcm_power_down(struct v4l2_subdev *sd)
^
drivers/staging/media/atomisp/i2c/imx/imx.c:1103:12: warning: 'imx_vcm_init' defined but not used [-Wunused-function]
static int imx_vcm_init(struct v4l2_subdev *sd)
^
drivers/staging/media/atomisp/i2c/imx/imx.c:1111:12: warning: 'imx_t_focus_vcm' defined but not used [-Wunused-function]
static int imx_t_focus_vcm(struct v4l2_subdev *sd, u16 val)
^
Introduced by commit
9a5a6911aa3f ("staging: imx: fix non-static declarations")
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* linux-next: Tree for Jul 31
From: Stephen Rothwell @ 2017-07-31 6:34 UTC (permalink / raw)
To: Linux-Next Mailing List; +Cc: Linux Kernel Mailing List
Hi all,
Changes since 20170728:
The rdma tree gained a build failure so I used the version from
next-20170728.
The drm tree gained a conflict against Linus' tree.
The rcu tree gained a conflict against the tip tree.
Non-merge commits (relative to Linus' tree): 3288
3279 files changed, 115355 insertions(+), 54071 deletions(-)
----------------------------------------------------------------------------
I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" and checkout or reset to the new
master.
You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log
files in the Next directory. Between each merge, the tree was built
with a ppc64_defconfig for powerpc and an allmodconfig (with
CONFIG_BUILD_DOCSRC=n) for x86_64, a multi_v7_defconfig for arm and a
native build of tools/perf. After the final fixups (if any), I do an
x86_64 modules_install followed by builds for x86_64 allnoconfig,
powerpc allnoconfig (32 and 64 bit), ppc44x_defconfig, allyesconfig
and pseries_le_defconfig and i386, sparc and sparc64 defconfig. And
finally, a simple boot test of the powerpc pseries_le_defconfig kernel
in qemu.
Below is a summary of the state of the merge.
I am currently merging 267 trees (counting Linus' and 41 trees of bug
fix patches pending for the current merge release).
Stats about the size of the tree over time can be seen at
http://neuling.org/linux-next-size.html .
Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.
Thanks to Randy Dunlap for doing many randconfig builds. And to Paul
Gortmaker for triage and bug fixes.
--
Cheers,
Stephen Rothwell
$ git checkout master
$ git reset --hard stable
Merging origin/master (16f73eb02d7e Linux 4.13-rc3)
Merging fixes/master (b4b8cbf679c4 Cavium CNN55XX: fix broken default Kconfig entry)
Merging kbuild-current/fixes (ad8181060788 kconfig: fix sparse warnings in nconfig)
Merging arc-current/for-curr (37f1db0e85ff ARC: [plat-axs10x]: prepare dts files for enabling PAE40 on axs103)
Merging arm-current/fixes (ce184a0dee92 ARM: 8687/1: signal: Fix unparseable iwmmxt_sigframe in uc_regspace[])
Merging m68k-current/for-linus (204a2be30a7a m68k: Remove ptrace_signal_deliver)
Merging metag-fixes/fixes (b884a190afce metag/usercopy: Add missing fixups)
Merging powerpc-fixes/fixes (c9c98bc5cc2a powerpc/mm: Fix pmd/pte_devmap() on non-leaf entries)
Merging sparc/master (8cd3ec51c0c3 sbus: Convert to using %pOF instead of full_name)
Merging fscrypt-current/for-stable (42d97eb0ade3 fscrypt: fix renaming and linking special files)
Merging net/master (9975a54b3c9e bpf: fix bpf_prog_get_info_by_fd to dump correct xlated_prog_len)
Merging ipsec/master (e6194923237f esp: Fix memleaks on error paths.)
Merging netfilter/master (f7fb77fc1235 netfilter: nft_compat: check extension hook mask only if set)
Merging ipvs/master (3c5ab3f395d6 ipvs: SNAT packet replies only for NATed connections)
Merging wireless-drivers/master (5f5d03143de5 brcmfmac: fix memleak due to calling brcmf_sdiod_sgtable_alloc() twice)
Merging mac80211/master (d7f13f745036 cfg80211: Validate frequencies nested in NL80211_ATTR_SCAN_FREQUENCIES)
Merging sound-current/for-linus (ba92b1142879 ALSA: hda - Add mute led support for HP ProBook 440 G4)
Merging pci-current/for-linus (34d5ac2af644 PCI: rockchip: Check for pci_scan_root_bus_bridge() failure correctly)
Merging driver-core.current/driver-core-linus (5771a8c08880 Linux v4.13-rc1)
Merging tty.current/tty-linus (37ef38f3f838 tty: pl011: fix initialization order of QDF2400 E44)
Merging usb.current/usb-linus (45d73860530a usb: musb: fix tx fifo flush handling again)
Merging usb-gadget-fixes/fixes (520eccdfe187 Linux 4.13-rc2)
Merging usb-serial-fixes/usb-linus (9585e340db9f USB: serial: cp210x: add support for Qivicon USB ZigBee dongle)
Merging usb-chipidea-fixes/ci-for-usb-stable (cbb22ebcfb99 usb: chipidea: core: check before accessing ci_role in ci_role_show)
Merging phy/fixes (5771a8c08880 Linux v4.13-rc1)
Merging staging.current/staging-linus (cef988642cda staging: comedi: comedi_fops: do not call blocking ops when !TASK_RUNNING)
Merging char-misc.current/char-misc-linus (520eccdfe187 Linux 4.13-rc2)
Merging input-current/for-linus (293b915fd9be Input: trackpoint - assume 3 buttons when buttons detection fails)
Merging crypto-current/master (41cdf7a45389 crypto: authencesn - Fix digest_null crash)
Merging ide/master (921edf312a6a ide: avoid warning for timings calculation)
Merging vfio-fixes/for-linus (bb67b496c338 include/linux/vfio.h: Guard powerpc-specific functions with CONFIG_VFIO_SPAPR_EEH)
Merging kselftest-fixes/fixes (5771a8c08880 Linux v4.13-rc1)
Merging backlight-fixes/for-backlight-fixes (68feaca0b13e backlight: pwm: Handle EPROBE_DEFER while requesting the PWM)
Merging ftrace-fixes/for-next-urgent (6224beb12e19 tracing: Have branch tracer use recursive field of task struct)
Merging nand-fixes/nand/fixes (d4ed3b9015b5 mtd: nand: make nand_ooblayout_lp_hamming_ops static)
Merging spi-nor-fixes/spi-nor/fixes (5771a8c08880 Linux v4.13-rc1)
Merging mfd-fixes/for-mfd-fixes (9e69672e90cc dt-bindings: mfd: Update STM32 timers clock names)
Merging v4l-dvb-fixes/fixes (8033120f36c0 media: atomisp2: array underflow in imx_enum_frame_size())
Merging reset-fixes/reset/fixes (4497a224f759 reset: hi6220: Set module license so that it can be loaded)
Merging drm-intel-fixes/for-linux-next-fixes (5fe220a160e5 Merge tag 'gvt-fixes-2017-07-26' of https://github.com/01org/gvt-linux into drm-intel-fixes)
Merging drm-misc-fixes/for-linux-next-fixes (d630213f2a47 drm/bridge: tc358767: fix probe without attached output node)
Merging kbuild/for-next (5771a8c08880 Linux v4.13-rc1)
Merging uuid/for-next (832e4c83abc5 uuid: remove uuid_be)
Merging dma-mapping/for-next (878ec36765fa ARM: NOMMU: Wire-up default DMA interface)
Merging asm-generic/master (a351e9b9fc24 Linux 4.11)
Merging arc/for-next (6f8119230ed0 ARC: set boot print log level to PR_INFO)
Merging arm/for-next (640265076a84 Merge branches 'fixes' and 'misc' into for-next)
Merging arm-perf/for-next/perf (5771a8c08880 Linux v4.13-rc1)
Merging arm-soc/for-next (1d20d8a9fce8 ARM: pxa: select both FB and FB_W100 for eseries)
Merging actions/for-next (253d192bc4aa Merge branch 'v4.14/dt' into next)
Merging alpine/alpine/for-next (a1144b2b1ec4 ARM: dts: alpine: add valid clock-frequency values)
Merging amlogic/for-next (f211bbd6b110 Merge branch 'v4.14/drivers' into tmp/aml-rebuild)
Merging aspeed/for-next (4944e5dbb215 Merge branches 'dt-for-v4.12' and 'defconfig-for-v4.12' into for-next)
Merging at91/at91-next (01c1fe77824e Merge branch 'at91-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into at91-next)
Merging bcm2835/for-next (389c81b7e7ae Merge branch anholt/bcm2835-defconfig-next into for-next)
Merging berlin/berlin/for-next (5153351425c9 Merge branch 'berlin/dt' into berlin/for-next)
Merging cortex-m/for-next (f719a0d6a854 ARM: efm32: switch to vendor,device compatible strings)
Merging imx-mxs/for-next (83bf680264c1 Merge branch 'zte/dt64' into for-next)
Merging keystone/next (841dfc638309 Merge branch 'for_4.14/driver-soc' into next)
Merging mvebu/for-next (fd63b625307d Merge branch 'mvebu/dt64' into mvebu/for-next)
Merging omap/for-next (191ae5a41246 Merge branch 'omap-for-v4.14/debug-ll' into for-next)
Merging omap-pending/for-next (c20c8f750d9f ARM: OMAP2+: hwmod: fix _idle() hwmod state sanity check sequence)
Merging reset/reset/next (e0be864f1424 ARC: reset: introduce HSDKv1 reset driver)
CONFLICT (content): Merge conflict in MAINTAINERS
Merging qcom/for-next (c3c9fffc9384 soc: qcom: mdt_loader: Use request_firmware_into_buf())
Merging realtek/for-next (5771a8c08880 Linux v4.13-rc1)
Merging renesas/next (6a116f0bf8c7 Merge branches 'fixes-for-v4.13', 'arm64-dt-for-v4.14', 'arm64-defconfig-for-v4.14', 'defconfig-for-v4.14', 'drivers-for-v4.14', 'dt-bindings-for-v4.14', 'dt-for-v4.14' and 'soc-for-v4.14' into next)
Merging rockchip/for-next (29a737be1eab Merge branch 'v4.14-armsoc/dts64' into for-next)
Merging rpi/for-rpi-next (bc0195aad0da Linux 4.2-rc2)
Merging samsung/for-next (2ea659a9ef48 Linux 4.12-rc1)
Merging samsung-krzk/for-next (4157348c49de Merge branch 'next/dt' into for-next)
Merging sunxi/sunxi/for-next (4d9e6924be57 Merge branches 'sunxi/fixes-for-4.13', 'sunxi/dt-for-4.14', 'sunxi/dt64-for-4.14', 'sunxi/config-for-4.14', 'sunxi/clk-fixes-for-4.13' and 'sunxi/clk-for-4.14' into sunxi/for-next)
Merging tegra/for-next (07bb9460b188 Merge branch for-4.13/arm64/dt into for-next)
Merging arm64/for-next/core (425e1ed73e65 arm64: fix endianness annotation for 'struct jit_ctx' and friends)
Merging clk/clk-next (1667393126d7 clk: Convert to using %pOF instead of full_name)
CONFLICT (content): Merge conflict in MAINTAINERS
Merging c6x/for-linux-next (eab89e215ae4 c6x: defconfig: Cleanup from old Kconfig options)
Merging cris/for-next (8f50f2a1b46a cris: No need to append -O2 and $(LINUXINCLUDE))
Merging h8300/h8300-next (58c57526711f h8300: Add missing include file to asm/io.h)
Merging hexagon/linux-next (02cc2ccfe771 Revert "Hexagon: fix signal.c compile error")
Merging ia64/next (fbb0e4da96f4 ia64: salinfo: use a waitqueue instead a sema down/up combo)
Merging m68k/for-next (204a2be30a7a m68k: Remove ptrace_signal_deliver)
Merging m68knommu/for-next (896329b870dd m68k: allow NULL clock for clk_get_rate)
Merging metag/for-next (e3cd7f013bac metag/mm: Drop pointless increment)
Merging microblaze/next (14ef905bb2ee microblaze: Fix MSR flags when returning from exception)
Merging mips/mips-for-linux-next (e36f14f04d11 Merge branch '4.13-fixes' into mips-for-linux-next)
Merging nios2/for-next (e118c3fec9c0 nios2: remove custom early console implementation)
Merging openrisc/for-next (9d15eb228b10 openrisc: defconfig: Cleanup from old Kconfig options)
Merging parisc-hd/for-next (6f7da290413b Linux 4.12)
Merging powerpc/next (f74c89bd80fb powerpc/perf: Add thread IMC PMU support)
Merging fsl/next (61baf1555512 powerpc/64e: Don't place the stack beyond TASK_SIZE)
Merging mpc5xxx/next (39e69f55f857 powerpc: Introduce the use of the managed version of kzalloc)
Merging s390/features (dd783b4c7bf6 Merge tag 'vfio-ccw-20170724' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/vfio-ccw into features)
Merging sparc-next/master (cb8c65ccff7f Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc)
Merging sh/for-next (6e2fbfdd585f sh: fix futex FUTEX_OP_SET op on userspace addresses)
Merging tile/master (637f23abca87 tile: array underflow in setup_maxnodemem())
Merging uml/linux-next (61e8d462457f um: Correctly check for PTRACE_GETRESET/SETREGSET)
Merging unicore32/unicore32 (bc27113620ca unicore32-oldabi: add oldabi syscall interface)
CONFLICT (content): Merge conflict in arch/unicore32/include/asm/Kbuild
Merging xtensa/xtensa-for-next (51b5e9756efd Merge branch 'xtensa-fixes' into xtensa-for-next)
Merging fscrypt/master (c250b7dd8e73 fscrypt: make ->dummy_context() return bool)
Merging befs/for-next (5771a8c08880 Linux v4.13-rc1)
Merging btrfs/next (8b8b08cbfb90 Btrfs: fix delalloc accounting after copy_from_user faults)
Merging btrfs-kdave/for-next (3497efbab8dc Merge branch 'for-next-next-v4.14-20170728' into for-next-20170728)
CONFLICT (content): Merge conflict in fs/btrfs/scrub.c
CONFLICT (content): Merge conflict in fs/btrfs/extent_io.c
Merging ceph/master (7799311dc11c libceph: make RECOVERY_DELETES feature create a new interval)
Merging cifs/for-next (235b84fc862a Merge branch 'i2c/for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux)
Merging configfs/for-next (19e72d3abb63 configfs: Introduce config_item_get_unless_zero())
Merging ecryptfs/next (be280b25c328 ecryptfs: remove private bin2hex implementation)
Merging ext3/for_next (84969465ddc4 hfsplus: Don't clear SGID when inheriting ACLs)
Merging ext4/dev (ff95015648df ext4: fix spelling mistake: "prellocated" -> "preallocated")
Merging f2fs/dev (1766871af8a0 f2fs: support project quota)
Merging freevxfs/for-next (bf1bb4b460c8 freevxfs: update Kconfig information)
Merging fscache/fscache (d52bd54db8be Merge branch 'akpm' (patches from Andrew))
Merging fuse/for-next (68227c03cba8 fuse: initialize the flock flag in fuse_file on allocation)
Merging jfs/jfs-next (f070e5ac9bc7 jfs: preserve i_mode if __jfs_set_acl() fails)
Merging nfs/linux-next (6f7da290413b Linux 4.12)
Merging nfsd/nfsd-next (b20dae70bfa5 svcrdma: fix an incorrect check on -E2BIG and -EINVAL)
Merging orangefs/for-next (2f713b5c7d2a orangefs: count directory pieces correctly)
Merging overlayfs/overlayfs-next (0e082555cec9 ovl: check for bad and whiteout index on lookup)
Merging v9fs/for-next (a333e4bf2556 fs/9p: use fscache mutex rather than spinlock)
Merging ubifs/linux-next (a6664433d383 ubifs: Set double hash cookie also for RENAME_EXCHANGE)
Merging xfs/for-next (cd87d8679201 xfs: don't crash on unexpected holes in dir/attr btrees)
Merging file-locks/locks-next (3953704fde7e locks: restore a warn for leaked locks on close)
Merging wberr/wberr-next (89d62b5aa1c5 gfs2: convert to errseq_t based writeback error reporting for fsync)
Merging vfs/for-next (66bf97967726 annotate RWF_... flags)
Merging vfs-jk/vfs (030b533c4fd4 fs: Avoid premature clearing of capabilities)
Merging vfs-miklos/next (0eb8af4916a5 vfs: use helper for calling f_op->fsync())
Merging printk/for-next (5a814231ae3d printk/console: Enhance the check for consoles using init memory)
Merging pci/next (af3c8d98508d Merge tag 'drm-for-v4.13' of git://people.freedesktop.org/~airlied/linux)
Merging pstore/for-next/pstore (520eccdfe187 Linux 4.13-rc2)
Merging hid/for-next (57bbec7de54d Merge branch 'for-4.14/wacom' into for-next)
Merging i2c/i2c/for-next (efe2cda164b1 Merge tag 'ib-mfd-arm-i2c-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into i2c/for-next)
Merging jdelvare-hwmon/master (08d27eb20666 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs)
Merging dmi/master (8efa050f19fe firmware: dmi_scan: Check DMI structure length)
Merging hwmon-staging/hwmon-next (2732fc0ffb35 hwmon: (i5k_amb) constify pci_device_id)
Merging jc_docs/docs-next (bc7938deaca7 docs: submitting-patches - change non-ascii character to ascii)
Merging v4l-dvb/master (da48c948c263 media: fix warning on v4l2_subdev_call() result interpreted as bool)
Merging v4l-dvb-next/master (474dfccf3685 media: svg: avoid too long lines)
Merging fbdev/fbdev-for-next (4c99ceda0d06 fbdev: make get_fb_unmapped_area depends of !MMU)
Merging pm/linux-next (976b5064109d Merge branch 'device-properties' into linux-next)
Merging idle/next (306899f94804 x86 tsc: Add the Intel Denverton Processor to native_calibrate_tsc())
Merging thermal/next (5d72ed35678a Merge branches 'thermal-core', 'thermal-intel' and 'thermal-soc' into next)
Merging thermal-soc/next (aa647852c32a Merge branch 'work-linus' into work-next)
Merging ieee1394/for-next (72f3c27aa646 firewire: net: max MTU off by one)
Merging dlm/next (e94d6f64e7ba dlm: print log message when cluster name is not set)
Merging swiotlb/linux-next (69369f52d28a swiotlb-xen: implement xen_swiotlb_get_sgtable callback)
Merging net-next/master (736b9b9c506e Merge branch 'ethtool-fec')
Merging ipsec-next/master (8bafd73093f2 xfrm: add UDP encapsulation port in migrate message)
Merging netfilter-next/master (7a68ada6ec7d Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net)
Merging nfc-next/master (bd751808f9ff NFC: trf7970a: Correct register settings for 27MHz clock)
Merging ipvs-next/master (fb90e8dedb46 ipvs: change comparison on sync_refresh_period)
Merging wireless-drivers-next/master (d28ac7be15c7 rtlwifi: rtl8821ae: Fix HW_VAR_NAV_UPPER operation)
Merging bluetooth/master (c3327bde514d Bluetooth: btrtl: Fix a error code in rtl_load_config())
Merging mac80211-next/master (3dc02251f43f Merge branch 'skb-accessor-cleanups')
Merging rdma/for-next (ecd840ff9b79 RDMA/hns: fix build regression)
$ git reset --hard HEAD^
Merging next-20170728 version of rdma
Merging gfs2/for-next (4676743ded4d GFS2: Delete debugfs files only after we evict the glocks)
Merging mtd/master (5771a8c08880 Linux v4.13-rc1)
Merging l2-mtd/master (1fbef470f369 mtd: mtdswap: remove unused variables 'dev' and 'gd')
Merging nand/nand/next (81667e9c8ad8 mtd: nand: mtk: release lock on error path)
Merging spi-nor/spi-nor/next (f384b352cbf0 mtd: spi-nor: parse Serial Flash Discoverable Parameters (SFDP) tables)
Merging crypto/master (e28c190db668 csrypto: ccp - Expand RSA support for a v5 ccp)
Merging drm/drm-next (e6742e1021a5 drm: linux-next: build failure after merge of the drm-misc tree)
CONFLICT (content): Merge conflict in drivers/gpu/drm/nouveau/nv50_display.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_pm.c
Merging drm-panel/drm/panel/for-next (e4bac408b084 drm/panel: simple: Add support for Winstar WF35LTIACD)
Merging drm-intel/for-linux-next (03e0c8329955 drm/i915: Remove unused i915_err_print_instdone)
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_display.c
Merging drm-tegra/drm/tegra/for-next (43240bbd871e gpu: host1x: At first try a non-blocking allocation for the gather copy)
Merging drm-misc/for-linux-next (9dd2aca46a13 drm/rockchip: vop: rk3328: fix overlay abnormal)
Merging drm-exynos/exynos-drm/for-next (7d1e04231461 Merge tag 'usercopy-v4.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux)
Merging drm-msm/msm-next (4a630fadbb29 drm/msm: Fix potential buffer overflow issue)
Merging hdlcd/for-upstream/hdlcd (fee4964f0a6c drm/arm: hdlcd: remove unused variables)
Merging mali-dp/for-upstream/mali-dp (e40eda3dda1e drm/arm: mali-dp: Use CMA helper for plane buffer address calculation)
Merging sunxi-drm/sunxi-drm/for-next (7dafb83edd32 Merge branches 'sunxi/drm-fixes-for-4.13' and 'sunxi/drm-for-4.14' into sunxi-drm/for-next)
Merging imx-drm/imx-drm/next (790cb4c7c954 drm/imx: lock scanout transfers for consecutive bursts)
Merging etnaviv/etnaviv/next (8cc47b3ea082 drm/etnaviv: populate GEM objects on cpu_prep)
Merging kconfig/for-next (6f7da290413b Linux 4.12)
Merging regmap/for-next (a7c33d98535c Merge remote-tracking branch 'regmap/topic/namespace' into regmap-next)
Merging sound/for-next (6c5a266029cc ALSA: hda: constify pci_device_id.)
Merging sound-asoc/for-next (385aefefd18a Merge remote-tracking branches 'asoc/topic/wm8524', 'asoc/topic/wm8804' and 'asoc/topic/zte' into asoc-next)
Merging modules/modules-next (0bf8bf50eddc module: Remove const attribute from alias for MODULE_DEVICE_TABLE)
Merging input/next (4323418d62fe Input: sur40 - skip all blobs that are not touches)
Merging block/for-next (b2a5b74635f9 Merge branch 'for-4.14/block' into for-next)
Merging lightnvm/for-next (1c6286f26301 lightnvm: fix some error code in pblk-init.c)
Merging device-mapper/for-next (2298b6212f1c dm ioctl: constify ioctl lookup table)
Merging pcmcia/master (e8e68fd86d22 pcmcia: do not break rsrc_nonstatic when handling anonymous cards)
Merging mmc/next (bb1407c0df2c Merge branch 'fixes' into next)
Merging kgdb/kgdb-next (7a6653fca500 kdb: Fix handling of kallsyms_symbol_next() return value)
Merging md/for-next (ed9b66d21866 MD: fix warnning for UP case)
Merging mfd/for-mfd-next (48a14b9f0cc6 mfd: max8998: Fix potential NULL pointer dereference)
Merging backlight/for-backlight-next (8c03a937ca99 backlight: pwm_bl: Make of_device_ids const)
Merging battery/for-next (67bd22c09ac1 power: supply: bq27xxx: move platform driver code into bq27xxx_battery_hdq.c)
Merging omap_dss2/for-next (c456a2f30de5 video: smscufx: remove unused variable)
Merging regulator/for-next (7a6370a555be Merge remote-tracking branch 'regulator/topic/qcom' into regulator-next)
Merging security/next (be6f039747e7 security: fix description of values returned by cap_inode_need_killpriv)
Merging integrity/next (fc26bd50539b IMA: update IMA policy documentation to include pcr= option)
Merging keys/keys-next (8ab2a6905b28 KEYS: Add documentation for asymmetric keyring restrictions)
Merging selinux/next (cd0d877d633e selinux: update the selinux info in MAINTAINERS)
Merging tpmdd/next (e7d872bf1bc5 Documentation: tpm: add powered-while-suspended binding documentation)
Merging watchdog/master (c013b65ad8a1 watchdog: introduce watchdog_worker_should_ping helper)
Merging iommu/next (4f019dc5a68e Merge branches 'iommu/fixes', 'arm/exynos', 'arm/renesas', 'arm/rockchip', 'x86/vt-d' and 'core' into next)
Merging dwmw2-iommu/master (910170442944 iommu/vt-d: Fix PASID table allocation)
Merging vfio/next (7f56c30bd0a2 vfio: Remove unnecessary uses of vfio_container.group_lock)
Merging trivial/for-next (6fbc8798d946 tty: fix comment for __tty_alloc_driver())
Merging audit/next (739bde1f2229 selinux: remove AVC init audit log message)
Merging devicetree/for-next (b041303c3e88 Merge branch 'dt/linus' into for-next)
Merging mailbox/mailbox-for-next (25bfee16d5a3 mailbox: Introduce Qualcomm APCS IPC driver)
Merging spi/for-next (29f920523b9e Merge remote-tracking branches 'spi/topic/stm32', 'spi/topic/sunxi', 'spi/topic/tegra' and 'spi/topic/tools' into spi-next)
Merging tip/auto-latest (69779ccbf624 Merge branch 'x86/urgent')
Merging clockevents/clockevents/next (2287d8664fe7 timers: Make the cpu base lock raw)
Merging edac/linux_next (345fb0a9a634 Merge tag 'edac_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp)
Merging edac-amd/for-next (2efdda4a4108 EDAC, cpc925, ppc4xx: Convert to using %pOF instead of full_name)
Merging irqchip/irqchip/for-next (c1ae3cfa0e89 Linux 4.11-rc1)
Merging ftrace/for-next (2e028c4fe129 ftrace: Fix uninitialized variable in match_records())
Merging rcu/rcu/next (de7e0d44999a rcu: Provide GP ordering in face of migrations and delays)
CONFLICT (content): Merge conflict in arch/x86/mm/tlb.c
Merging kvm/linux-next (7b5e0a4e82bf Merge branch 'kvm-ppc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc into kvm-master)
Merging kvm-arm/next (7e5a672289c9 KVM: arm/arm64: Handle hva aging while destroying the vm)
Merging kvm-mips/next (dc44abd6aad2 KVM: MIPS/Emulate: Properly implement TLBR for T&E)
Merging kvm-ppc/kvm-ppc-next (8b24e69fc47e KVM: PPC: Book3S HV: Close race with testing for signals on guest entry)
Merging kvms390/next (5091d7c8ca2d KVM: s390: Multiple Epoch Facility support)
Merging xen-tip/linux-next (e91b2b119433 xen: dont fiddle with event channel masking in suspend/resume)
Merging percpu/for-next (5e81ee3e6a79 percpu: update header to contain bitmap allocator explanation.)
Merging workqueues/for-next (5dab90af0906 Merge branch 'for-4.13-fixes' into for-next)
Merging drivers-x86/for-next (972777171f33 platform/x86: wmi: Fix error handling in acpi_wmi_init())
Merging chrome-platform/for-next (3c778a7fcfaa platform/chrome : Add myself as Maintainer)
Merging hsi/for-next (67ddd75771b6 HSI: core: Use kcalloc() in two functions)
Merging leds/for-next (c68729119f4d leds: tlc591xx: add missing of_node_put)
Merging ipmi/for-next (8c3cbb96adf6 char: ipmi: eliminate misleading print info when being probed via ACPI)
Merging driver-core/driver-core-next (1af824f085e8 Merge branch 'bind_unbind' into driver-core-next)
Merging usb/usb-next (e978e9b977b0 c67x00-hcd: constify hc_driver structures)
Merging usb-gadget/next (5771a8c08880 Linux v4.13-rc1)
Merging usb-serial/usb-next (5771a8c08880 Linux v4.13-rc1)
Merging usb-chipidea-next/ci-for-usb-next (7c3a8b81503c usb: chipidea: core: do not register extcon notifier if extcon device is not existed)
Merging phy-next/next (e7cded272612 phy: allwinner: phy-sun4i-usb: Add log when probing)
Merging tty/tty-next (065ea0a7afd6 tty: improve tty_insert_flip_char() slow path)
Merging char-misc/char-misc-next (24a81a2c2581 Merge 4.13-rc2 into char-misc-next)
Merging extcon/extcon-next (5c27036d2b05 extcon: Convert to using %pOF instead of full_name)
Merging staging/staging-next (5551ad1e9fad staging: wlan-ng: Fix the types of the hfa384x_comm_tallies_16/32 members)
Merging mux/for-next (a351e9b9fc24 Linux 4.11)
Merging slave-dma/next (d4381f3cff0b Merge branch 'topic/bcm' into next)
Merging cgroup/for-next (dba9eccd4164 Merge branch 'for-4.14' into for-next)
Merging scsi/for-next (0dbbec278e24 Merge branch 'misc' into for-next)
Merging scsi-mkp/for-next (bb9be3739281 scsi: qla2xxx: Fix remoteport disconnect for FC-NVMe)
Merging target-updates/for-next (40435d86a62f tcmu: clean up the scatter helper)
Merging target-merge/for-next-merge (2994a7518317 cxgb4: update Kconfig and Makefile)
Merging target-bva/for-next (2ea659a9ef48 Linux 4.12-rc1)
Merging libata/for-next (37cbf519e8c6 Merge branch 'for-4.13-fixes' into for-next)
Merging binfmt_misc/for-next (4af75df6a410 binfmt_misc: add F option description to documentation)
Merging vhost/linux-next (cfa0ebc9d6d6 virtio-net: fix module unloading)
Merging rpmsg/for-next (5771a8c08880 Linux v4.13-rc1)
Merging gpio/for-next (8d2c6297aec9 Merge branch 'devel' into for-next)
CONFLICT (content): Merge conflict in drivers/gpio/gpio-mvebu.c
Merging pinctrl/for-next (ece5946c2eed Merge branch 'devel' into for-next)
Merging pinctrl-samsung/for-next (bbed85f45b2b pinctrl: samsung: Remove unneeded local variable initialization)
Merging pwm/for-next (5ec8c48a6235 Merge branch 'for-4.13/drivers' into for-next)
Merging dma-buf/for-next (194cad44c4e1 dma-buf/sync_file: improve Kconfig description for Sync Files)
CONFLICT (content): Merge conflict in drivers/dma-buf/Kconfig
Merging userns/for-next (64a76d0d64be signal: Fix sending signals with siginfo)
Merging ktest/for-next (f7c6401ff84a ktest: Make sure wait_for_input does honor the timeout)
Merging random/dev (72e5c740f633 random: reorder READ_ONCE() in get_random_uXX)
Merging aio/master (4c1d69950da4 fs: aio: fix the increment of aio-nr and counting against aio-max-nr)
Merging kselftest/next (f471e1fd82df selftests: sync: convert to use TAP13 ksft framework)
Merging y2038/y2038 (69973b830859 Linux 4.9)
Merging luto-misc/next (2dcd0af568b0 Linux 4.6)
Merging borntraeger/linux-next (e76d21c40bd6 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net)
Merging livepatching/for-next (26d8d1e9bb48 Merge branch 'for-4.12/upstream-fixes' into for-next)
Merging coresight/next (ee0c4a55a06c perf: cs-etm: Fix ETMv4 CONFIGR entry in perf.data file)
Merging rtc/rtc-next (2f7f1b780dd6 rtc: max8925: remove redundant check on ret)
Merging hwspinlock/for-next (bd5717a4632c hwspinlock: qcom: Correct msb in regmap_field)
Merging nvdimm/libnvdimm-for-next (bbb3be170ac2 device-dax: fix sysfs duplicate warnings)
Merging dax-misc/dax-misc (4d9a2c874667 dax: Remove i_mmap_lock protection)
Merging idr/idr-4.11 (f0f3f2d0a3e0 radix tree test suite: Specify -m32 in LDFLAGS too)
Merging kspp/for-next/kspp (152b74676664 randstruct: Enable function pointer struct detection)
Merging akpm-current/current (cc624835c3f0 kernel-reboot-add-devm_register_reboot_notifier-fix)
$ git checkout -b akpm remotes/origin/akpm/master
Applying: sparc64: NG4 memset 32 bits overflow
Applying: lib/crc-ccitt: add CCITT-FALSE CRC16 variant
Merging akpm/master (ea19a624ef52 lib/crc-ccitt: add CCITT-FALSE CRC16 variant)
^ permalink raw reply
* linux-next: build failure in the staging tree (Was: kisskb: FAILED linux-next/s390-allmodconfig/s390x Mon Jul 31, 17:24)
From: Stephen Rothwell @ 2017-07-31 9:35 UTC (permalink / raw)
To: Greg KH; +Cc: heiko.carstens, Laurentiu Tudor, Linux-Next Mailing List, LKML
In-Reply-To: <20170731072425.1.95853@222023911cb9>
Hi all,
On Mon, 31 Jul 2017 07:24:25 -0000 noreply@ellerman.id.au wrote:
>
> FAILED linux-next/s390-allmodconfig/s390x Mon Jul 31, 17:24
>
> http://kisskb.ellerman.id.au/kisskb/buildresult/13110910/
>
> Commit: Add linux-next specific files for 20170731
> 742f220ee69c8102eabea45e45d92aa18721fab1
> Compiler: s390x-linux-gcc (GCC) 4.6.3
>
> Possible errors
> ---------------
>
> include/linux/msi.h:196:21: fatal error: asm/msi.h: No such file or directory
> make[2]: *** [arch/s390/kernel/asm-offsets.s] Error 1
> make[1]: *** [prepare0] Error 2
> make: *** [sub-make] Error 2
Caused by commit
03274850279c ("staging: fsl-mc: allow the driver compile multi-arch")
I will revert that commit tomorrow unless it if fixed in the mean time.
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* Re: linux-next: build failure in the staging tree (Was: kisskb: FAILED linux-next/s390-allmodconfig/s390x Mon Jul 31, 17:24)
From: Laurentiu Tudor @ 2017-07-31 9:55 UTC (permalink / raw)
To: Stephen Rothwell, Greg KH
Cc: heiko.carstens@de.ibm.com, Linux-Next Mailing List, LKML
In-Reply-To: <20170731193546.6d0538cf@canb.auug.org.au>
Hi Stephen,
That's because the fsl-mc driver selects GENERIC_MSI_IRQ_DOMAIN and not
all arches implement the support for the option. I can submit a patch
that adds explicit dependencies on arches that it was build-tested (x86,
arm, powerpc, all both 32 and 64 bits) similar to how it's done here
[1]. Let me know if you're ok with this fix and i'll submit the fix to
staging.
---
Thanks & Best Regards, Laurentiu
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pci/Kconfig#n28
On 07/31/2017 12:35 PM, Stephen Rothwell wrote:
> Hi all,
>
> On Mon, 31 Jul 2017 07:24:25 -0000 noreply@ellerman.id.au wrote:
>>
>> FAILED linux-next/s390-allmodconfig/s390x Mon Jul 31, 17:24
>>
>> https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fkisskb.ellerman.id.au%2Fkisskb%2Fbuildresult%2F13110910%2F&data=01%7C01%7Claurentiu.tudor%40nxp.com%7C0b58775ead154830f76f08d4d7f78d99%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0&sdata=A84bbMQe7VRz9OPK13PzaidBEfjm43Ik%2FbfCDJ89ZzM%3D&reserved=0
>>
>> Commit: Add linux-next specific files for 20170731
>> 742f220ee69c8102eabea45e45d92aa18721fab1
>> Compiler: s390x-linux-gcc (GCC) 4.6.3
>>
>> Possible errors
>> ---------------
>>
>> include/linux/msi.h:196:21: fatal error: asm/msi.h: No such file or directory
>> make[2]: *** [arch/s390/kernel/asm-offsets.s] Error 1
>> make[1]: *** [prepare0] Error 2
>> make: *** [sub-make] Error 2
>
> Caused by commit
>
> 03274850279c ("staging: fsl-mc: allow the driver compile multi-arch")
>
> I will revert that commit tomorrow unless it if fixed in the mean time.
>
^ permalink raw reply
* Re: linux-next: build warning after merge of the crypto tree
From: Gary R Hook @ 2017-07-31 13:50 UTC (permalink / raw)
To: Stephen Rothwell, Herbert Xu
Cc: Linux-Next Mailing List, Linux Kernel Mailing List
In-Reply-To: <20170731121756.6f54cadf@canb.auug.org.au>
On 07/30/2017 09:17 PM, Stephen Rothwell wrote:
> Hi Herbert,
>
> After merging the crypto tree, today's linux-next build (x86_64
> allmodconfig) produced this warning:
>
> drivers/crypto/ccp/ccp-ops.c: In function 'ccp_run_rsa_cmd':
> drivers/crypto/ccp/ccp-ops.c:1856:3: warning: 'sb_count' may be used uninitialized in this function [-Wmaybe-uninitialized]
> cmd_q->ccp->vdata->perform->sbfree(cmd_q, op.sb_key, sb_count);
> ^
>
> Maybe introduced by commit
>
> 6ba46c7d4d7e ("crypto: ccp - Fix base RSA function for version 5 CCPs")
>
Actually, it's been this way for a while: 956ee21 should be the commit
that introduced the spurious warning.
If you can explain to me a way to get the compiler to either (a) be
smarter, or (b) shut up about this, I'd like to hear it. I see this with
gcc 4.8/4.9/50.
IMO the compiler is incorrect. The code path where the variable is used
is complete, and the path where it is unused is complete. I don't see a
way for a logic error (and thus, use an uninitialized variable) to occur.
If someone can enlighten me, I'd appreciate it. Or, I can change the
code to recompute the value when it's needed.
^ permalink raw reply
* Re: linux-next: build failure in the staging tree (Was: kisskb: FAILED linux-next/s390-allmodconfig/s390x Mon Jul 31, 17:24)
From: Greg KH @ 2017-07-31 15:58 UTC (permalink / raw)
To: Laurentiu Tudor
Cc: Stephen Rothwell, heiko.carstens@de.ibm.com,
Linux-Next Mailing List, LKML
In-Reply-To: <597EFE81.9010407@nxp.com>
On Mon, Jul 31, 2017 at 09:55:14AM +0000, Laurentiu Tudor wrote:
> Hi Stephen,
>
> That's because the fsl-mc driver selects GENERIC_MSI_IRQ_DOMAIN and not
> all arches implement the support for the option. I can submit a patch
> that adds explicit dependencies on arches that it was build-tested (x86,
> arm, powerpc, all both 32 and 64 bits) similar to how it's done here
> [1]. Let me know if you're ok with this fix and i'll submit the fix to
> staging.
Ugh, you should not be selecting that option, but rather depending on
the option, right?
thanks,
greg k-h
^ permalink raw reply
* Re: linux-next: manual merge of the rcu tree with the tip tree
From: Paul E. McKenney @ 2017-07-31 16:13 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra,
Linux-Next Mailing List, Linux Kernel Mailing List,
Andy Lutomirski, Mathieu Desnoyers
In-Reply-To: <20170731135029.479025ea@canb.auug.org.au>
On Mon, Jul 31, 2017 at 01:50:29PM +1000, Stephen Rothwell wrote:
> Hi Paul,
>
> Today's linux-next merge of the rcu tree got a conflict in:
>
> arch/x86/mm/tlb.c
>
> between commit:
>
> 94b1b03b519b ("x86/mm: Rework lazy TLB mode and TLB freshness tracking")
>
> from the tip tree and commit:
>
> d7713e8f8b23 ("membarrier: Expedited private command")
>
> from the rcu tree.
>
> I fixed it up (the former removed the comment and the load_cr3(), so I
> just dropped the commend change in the latter) and can carry the fix as
> necessary. This is now fixed as far as linux-next is concerned, but any
> non trivial conflicts should be mentioned to your upstream maintainer
> when your tree is submitted for merging. You may also want to consider
> cooperating with the maintainer of the conflicting tree to minimise any
> particularly complex conflicts.
Thank you, Stephen!
Mathieu, Peter, our commit log reads as if removal of load_cr3() would
simply result in relying on the ordering provided by the atomic ops
in switch_mm() for mm_cpumask(), so that only the commit log and the
comment need changing.
Please let me know if I am missing something here.
Thanx, Paul
^ permalink raw reply
* mmotm 2017-07-31-16-56 uploaded
From: akpm @ 2017-07-31 23:57 UTC (permalink / raw)
To: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
sfr, mhocko, broonie
The mm-of-the-moment snapshot 2017-07-31-16-56 has been uploaded to
http://www.ozlabs.org/~akpm/mmotm/
mmotm-readme.txt says
README for mm-of-the-moment:
http://www.ozlabs.org/~akpm/mmotm/
This is a snapshot of my -mm patch queue. Uploaded at random hopefully
more than once a week.
You will need quilt to apply these patches to the latest Linus release (4.x
or 4.x-rcY). The series file is in broken-out.tar.gz and is duplicated in
http://ozlabs.org/~akpm/mmotm/series
The file broken-out.tar.gz contains two datestamp files: .DATE and
.DATE-yyyy-mm-dd-hh-mm-ss. Both contain the string yyyy-mm-dd-hh-mm-ss,
followed by the base kernel version against which this patch series is to
be applied.
This tree is partially included in linux-next. To see which patches are
included in linux-next, consult the `series' file. Only the patches
within the #NEXT_PATCHES_START/#NEXT_PATCHES_END markers are included in
linux-next.
A git tree which contains the memory management portion of this tree is
maintained at git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git
by Michal Hocko. It contains the patches which are between the
"#NEXT_PATCHES_START mm" and "#NEXT_PATCHES_END" markers, from the series
file, http://www.ozlabs.org/~akpm/mmotm/series.
A full copy of the full kernel tree with the linux-next and mmotm patches
already applied is available through git within an hour of the mmotm
release. Individual mmotm releases are tagged. The master branch always
points to the latest release, so it's constantly rebasing.
http://git.cmpxchg.org/cgit.cgi/linux-mmotm.git/
To develop on top of mmotm git:
$ git remote add mmotm git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git
$ git remote update mmotm
$ git checkout -b topic mmotm/master
<make changes, commit>
$ git send-email mmotm/master.. [...]
To rebase a branch with older patches to a new mmotm release:
$ git remote update mmotm
$ git rebase --onto mmotm/master <topic base> topic
The directory http://www.ozlabs.org/~akpm/mmots/ (mm-of-the-second)
contains daily snapshots of the -mm tree. It is updated more frequently
than mmotm, and is untested.
A git copy of this tree is available at
http://git.cmpxchg.org/cgit.cgi/linux-mmots.git/
and use of this tree is similar to
http://git.cmpxchg.org/cgit.cgi/linux-mmotm.git/, described above.
This mmotm tree contains the following patches against 4.13-rc3:
(patches marked "*" will be included in linux-next)
i-need-old-gcc.patch
* mm-hugetlb-__get_user_pages-ignores-certain-follow_hugetlb_page-errors.patch
* pid-kill-pidhash_size-in-pidhash_init.patch
* mm-mprotect-flush-tlb-if-potentially-racing-with-a-parallel-reclaim-leaving-stale-tlb-entries.patch
* mm-mprotect-flush-tlb-if-potentially-racing-with-a-parallel-reclaim-leaving-stale-tlb-entries-fix.patch
* mm-mprotect-flush-tlb-if-potentially-racing-with-a-parallel-reclaim-leaving-stale-tlb-entries-fix-fix.patch
* userfaultfd-non-cooperative-notify-about-unmap-of-destination-during-mremap.patch
* kasan-avoid-wmaybe-uninitialized-warning-v3.patch
* kthread-fix-documentation-build-warning.patch
* zram-do-not-free-pool-size_class.patch
* fortify-use-warn-instead-of-bug-for-now.patch
* fortify-use-warn-instead-of-bug-for-now-fix.patch
* swap-fix-oops-during-block-io-poll-in-swapin-path.patch
* swap-fix-oops-during-block-io-poll-in-swapin-path-fix.patch
* mm-take-memory-hotplug-lock-within-numa_zonelist_order_handler.patch
* userfaultfd_zeropage-return-enospc-in-case-mm-has-gone.patch
* mm-skip-hwpoisoned-pages-when-onlining-pages.patch
* cpuset-fix-a-deadlock-due-to-incomplete-patching-of-cpusets_enabled.patch
* ipc-add-missing-container_ofs-for-randstruct.patch
* userfaultfd-non-cooperative-flush-event_wqh-at-release-time.patch
* arm-arch-arm-include-asm-pageh-needs-personalityh.patch
* metag-numa-remove-the-unused-parent_node-macro.patch
* mm-add-vm_insert_mixed_mkwrite.patch
* dax-relocate-some-dax-functions.patch
* dax-use-common-4k-zero-page-for-dax-mmap-reads.patch
* dax-remove-dax-code-from-page_cache_tree_insert.patch
* dax-move-all-dax-radix-tree-defs-to-fs-daxc.patch
* ocfs2-get-rid-of-ocfs2_is_o2cb_active-function.patch
* ocfs2-old-mle-put-and-release-after-the-function-dlm_add_migration_mle-called.patch
* ocfs2-old-mle-put-and-release-after-the-function-dlm_add_migration_mle-called-fix.patch
* ocfs2-dlm-optimization-of-code-while-free-dead-node-locks.patch
* ocfs2-dlm-optimization-of-code-while-free-dead-node-locks-checkpatch-fixes.patch
* ocfs2-give-an-obvious-tip-for-dismatch-cluster-names.patch
* ocfs2-give-an-obvious-tip-for-dismatch-cluster-names-v2.patch
* ocfs2-move-some-definitions-to-header-file.patch
* ocfs2-fix-some-small-problems.patch
* ocfs2-add-kobject-for-online-file-check.patch
* ocfs2-add-duplicative-ino-number-check.patch
* block-restore-proc-partitions-to-not-display-non-partitionable-removable-devices.patch
mm.patch
* slub-make-sure-struct-kmem_cache_node-is-initialized-before-publication.patch
* mm-memory_hotplug-just-build-zonelist-for-new-added-node.patch
* mm-memory_hotplug-just-build-zonelist-for-new-added-node-fix.patch
* mm-memory_hotplug-just-build-zonelist-for-new-added-node-fix-fix.patch
* mm-mempolicy-add-queue_pages_required.patch
* mm-x86-move-_page_swp_soft_dirty-from-bit-7-to-bit-1.patch
* mm-thp-introduce-separate-ttu-flag-for-thp-freezing.patch
* mm-thp-introduce-config_arch_enable_thp_migration.patch
* mm-thp-enable-thp-migration-in-generic-path.patch
* mm-thp-enable-thp-migration-in-generic-path-fix.patch
* mm-thp-enable-thp-migration-in-generic-path-fix-fix.patch
* mm-thp-check-pmd-migration-entry-in-common-path.patch
* mm-soft-dirty-keep-soft-dirty-bits-over-thp-migration.patch
* mm-mempolicy-mbind-and-migrate_pages-support-thp-migration.patch
* mm-migrate-move_pages-supports-thp-migration.patch
* mm-memory_hotplug-memory-hotremove-supports-thp-migration.patch
* mm-memory_hotplug-display-allowed-zones-in-the-preferred-ordering.patch
* mm-memory_hotplug-remove-zone-restrictions.patch
* zram-clean-up-duplicated-codes-in-__zram_bvec_write.patch
* zram-inlining-zram_compress.patch
* zram-rename-zram_decompress_page-with-__zram_bvec_read.patch
* zram-add-interface-to-specify-backing-device.patch
* zram-add-free-space-management-in-backing-device.patch
* zram-identify-asynchronous-ios-return-value.patch
* zram-write-incompressible-pages-to-backing-device.patch
* zram-read-page-from-backing-device.patch
* zram-add-config-and-doc-file-for-writeback-feature.patch
* mm-page_alloc-rip-out-zonelist_order_zone.patch
* mm-page_alloc-remove-boot-pageset-initialization-from-memory-hotplug.patch
* mm-page_alloc-do-not-set_cpu_numa_mem-on-empty-nodes-initialization.patch
* mm-memory_hotplug-drop-zone-from-build_all_zonelists.patch
* mm-memory_hotplug-remove-explicit-build_all_zonelists-from-try_online_node.patch
* mm-page_alloc-simplify-zonelist-initialization.patch
* mm-page_alloc-remove-stop_machine-from-build_all_zonelists.patch
* mm-memory_hotplug-get-rid-of-zonelists_mutex.patch
* mm-sparse-page_ext-drop-ugly-n_high_memory-branches-for-allocations.patch
* mm-page_owner-make-init_pages_in_zone-faster.patch
* mm-page_ext-periodically-reschedule-during-page_ext_init.patch
* mm-page_owner-dont-grab-zone-lock-for-init_pages_in_zone.patch
* mm-page_ext-move-page_ext_init-after-page_alloc_init_late.patch
* mm-mremap-fail-map-duplication-attempts-for-private-mappings.patch
* mm-gup-make-__gup_device_-require-thp.patch
* mm-hugetlb-make-huge_pte_offset-consistent-and-document-behaviour.patch
* mm-always-flush-vma-ranges-affected-by-zap_page_range-v2.patch
* zsmalloc-zs_page_migrate-skip-unnecessary-loops-but-not-return-ebusy-if-zspage-is-not-inuse.patch
* zsmalloc-zs_page_migrate-skip-unnecessary-loops-but-not-return-ebusy-if-zspage-is-not-inuse-fix.patch
* mm-vmscan-do-not-loop-on-too_many_isolated-for-ever.patch
* mm-vmscan-do-not-loop-on-too_many_isolated-for-ever-fix.patch
* fscache-remove-unused-now_uncached-callback.patch
* mm-make-pagevec_lookup-update-index.patch
* mm-implement-find_get_pages_range.patch
* fs-fix-performance-regression-in-clean_bdev_aliases.patch
* ext4-use-pagevec_lookup_range-in-ext4_find_unwritten_pgoff.patch
* ext4-use-pagevec_lookup_range-in-writeback-code.patch
* hugetlbfs-use-pagevec_lookup_range-in-remove_inode_hugepages.patch
* fs-use-pagevec_lookup_range-in-page_cache_seek_hole_data.patch
* mm-use-find_get_pages_range-in-filemap_range_has_page.patch
* mm-remove-nr_pages-argument-from-pagevec_lookup_range.patch
* mm-memcg-reset-memorylow-during-memcg-offlining.patch
* cgroup-revert-fa06235b8eb0-cgroup-reset-css-on-destruction.patch
* mm-ksm-constify-attribute_group-structures.patch
* mm-slub-constify-attribute_group-structures.patch
* mm-page_idle-constify-attribute_group-structures.patch
* mm-huge_memory-constify-attribute_group-structures.patch
* mm-hugetlb-constify-attribute_group-structures.patch
* mm-memcontrol-use-int-for-event-state-parameter-in-several-functions.patch
* mm-memcontrol-use-int-for-event-state-parameter-in-several-functions-v2.patch
* mm-thp-swap-support-to-clear-swap-cache-flag-for-thp-swapped-out.patch
* mm-thp-swap-support-to-reclaim-swap-space-for-thp-swapped-out.patch
* mm-thp-swap-make-reuse_swap_page-works-for-thp-swapped-out.patch
* mm-thp-swap-dont-allocate-huge-cluster-for-file-backed-swap-device.patch
* block-thp-make-block_device_operationsrw_page-support-thp.patch
* test-code-to-write-thp-to-swap-device-as-a-whole.patch
* mm-thp-swap-support-to-split-thp-for-thp-swapped-out.patch
* memcg-thp-swap-support-move-mem-cgroup-charge-for-thp-swapped-out.patch
* memcg-thp-swap-avoid-to-duplicated-charge-thp-in-swap-cache.patch
* memcg-thp-swap-make-mem_cgroup_swapout-support-thp.patch
* mm-thp-swap-delay-splitting-thp-after-swapped-out.patch
* mm-thp-swap-add-thp-swapping-out-fallback-counting.patch
* shmem-shmem_charge-verify-max_block-is-not-exceeded-before-inode-update.patch
* shmem-introduce-shmem_inode_acct_block.patch
* userfaultfd-shmem-add-shmem_mfill_zeropage_pte-for-userfaultfd-support.patch
* userfaultfd-mcopy_atomic-introduce-mfill_atomic_pte-helper.patch
* userfaultfd-shmem-wire-up-shmem_mfill_zeropage_pte.patch
* userfaultfd-report-uffdio_zeropage-as-available-for-shmem-vmas.patch
* userfaultfd-selftest-enable-testing-of-uffdio_zeropage-for-shmem.patch
* fs-remove-unnecessary-null-f_mapping-check-in-sync_file_range.patch
* fs-remove-unneeded-forward-definition-of-mm_struct-from-fsh.patch
* btt-remove-btt_rw_page.patch
* pmem-remove-pmem_rw_page.patch
* brd-remove-brd_rw_page.patch
* treewide-remove-gfp_temporary-allocation-flag.patch
* treewide-remove-gfp_temporary-allocation-flag-checkpatch-fixes.patch
* mm-hugetlb-define-system-call-hugetlb-size-encodings-in-single-file.patch
* mm-arch-consolidate-mmap-hugetlb-size-encodings.patch
* mm-shm-use-new-hugetlb-size-encoding-definitions.patch
* mm-page_alloc-return-0-in-case-this-node-has-no-page-within-the-zone.patch
* mm-vmscan-do-not-pass-reclaimed-slab-to-vmpressure.patch
* mm-page_owner-align-with-pageblock_nr-pages.patch
* mm-walk-the-zone-in-pageblock_nr_pages-steps.patch
* fs-proc-remove-priv-argument-from-is_stack.patch
* linux-kernelh-move-div_round_down_ull-macro.patch
* rbtree-cache-leftmost-node-internally.patch
* rbtree-optimize-root-check-during-rebalancing-loop.patch
* rbtree-add-some-additional-comments-for-rebalancing-cases.patch
* lib-rbtree_testc-make-input-module-parameters.patch
* lib-rbtree_testc-add-inorder-traversal-test.patch
* lib-rbtree_testc-support-rb_root_cached.patch
* sched-fair-replace-cfs_rq-rb_leftmost.patch
* sched-deadline-replace-earliest-dl-and-rq-leftmost-caching.patch
* locking-rtmutex-replace-top-waiter-and-pi_waiters-leftmost-caching.patch
* block-cfq-replace-cfq_rb_root-leftmost-caching.patch
* lib-interval_tree-fast-overlap-detection.patch
* lib-interval-tree-correct-comment-wrt-generic-flavor.patch
* procfs-use-faster-rb_first_cached.patch
* fs-epoll-use-faster-rb_first_cached.patch
* mem-memcg-cache-rightmost-node.patch
* mem-memcg-cache-rightmost-node-fix.patch
* block-cfq-cache-rightmost-rb_node.patch
* block-cfq-cache-rightmost-rb_node-fix.patch
* lib-hexdump-return-einval-in-case-of-error-in-hex2bin.patch
* vfat-deduplicate-hex2bin.patch
* seq_file-delete-small-value-optimization.patch
* kdump-vmcoreinfo-report-actual-value-of-phys_base.patch
* uapi-fix-linux-sysctlh-userspace-compilation-errors.patch
* m32r-defconfig-cleanup-from-old-kconfig-options.patch
* mn10300-defconfig-cleanup-from-old-kconfig-options.patch
* sh-defconfig-cleanup-from-old-kconfig-options.patch
* kernel-reboot-add-devm_register_reboot_notifier.patch
* kernel-reboot-add-devm_register_reboot_notifier-fix.patch
* ipc-convert-ipc_namespacecount-from-atomic_t-to-refcount_t.patch
* ipc-convert-sem_undo_listrefcnt-from-atomic_t-to-refcount_t.patch
* ipc-convert-kern_ipc_permrefcount-from-atomic_t-to-refcount_t.patch
linux-next.patch
linux-next-rejects.patch
* mm-remove-optimizations-based-on-i_size-in-mapping-writeback-waits.patch
* fscache-fix-fscache_objlist_show-format-processing.patch
* ib-mlx4-fix-sprintf-format-warning.patch
* iopoll-avoid-wint-in-bool-context-warning.patch
* kbuild-use-fshort-wchar-globally.patch
* sparc64-ng4-memset-32-bits-overflow.patch
* lib-crc-ccitt-add-ccitt-false-crc16-variant.patch
mm-add-strictlimit-knob-v2.patch
make-sure-nobodys-leaking-resources.patch
releasing-resources-with-children.patch
kernel-forkc-export-kernel_thread-to-modules.patch
mutex-subsystem-synchro-test-module.patch
slab-leaks3-default-y.patch
workaround-for-a-pci-restoring-bug.patch
^ permalink raw reply
* Re: linux-next: manual merge of the rcu tree with the tip tree
From: Mathieu Desnoyers @ 2017-08-01 0:04 UTC (permalink / raw)
To: Paul E. McKenney
Cc: Stephen Rothwell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
Peter Zijlstra, Linux-Next Mailing List, linux-kernel,
Andy Lutomirski
In-Reply-To: <20170731161341.GG3730@linux.vnet.ibm.com>
----- On Jul 31, 2017, at 12:13 PM, Paul E. McKenney paulmck@linux.vnet.ibm.com wrote:
> On Mon, Jul 31, 2017 at 01:50:29PM +1000, Stephen Rothwell wrote:
>> Hi Paul,
>>
>> Today's linux-next merge of the rcu tree got a conflict in:
>>
>> arch/x86/mm/tlb.c
>>
>> between commit:
>>
>> 94b1b03b519b ("x86/mm: Rework lazy TLB mode and TLB freshness tracking")
>>
>> from the tip tree and commit:
>>
>> d7713e8f8b23 ("membarrier: Expedited private command")
>>
>> from the rcu tree.
>>
>> I fixed it up (the former removed the comment and the load_cr3(), so I
>> just dropped the commend change in the latter) and can carry the fix as
>> necessary. This is now fixed as far as linux-next is concerned, but any
>> non trivial conflicts should be mentioned to your upstream maintainer
>> when your tree is submitted for merging. You may also want to consider
>> cooperating with the maintainer of the conflicting tree to minimise any
>> particularly complex conflicts.
>
> Thank you, Stephen!
>
> Mathieu, Peter, our commit log reads as if removal of load_cr3() would
> simply result in relying on the ordering provided by the atomic ops
> in switch_mm() for mm_cpumask(), so that only the commit log and the
> comment need changing.
>
> Please let me know if I am missing something here.
I think you are right. Both load_cr3() and mm_cpumask update operations
(LOCK prefixed) provide the appropriate barriers on x86. So it's just a
matter of adapting the comment to the new reality.
Thanks,
Mathieu
>
> Thanx, Paul
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply
* Re: linux-next: manual merge of the rcu tree with the tip tree
From: Paul E. McKenney @ 2017-08-01 4:03 UTC (permalink / raw)
To: Mathieu Desnoyers
Cc: Stephen Rothwell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
Peter Zijlstra, Linux-Next Mailing List, linux-kernel,
Andy Lutomirski
In-Reply-To: <1145333348.610.1501545845911.JavaMail.zimbra@efficios.com>
On Tue, Aug 01, 2017 at 12:04:05AM +0000, Mathieu Desnoyers wrote:
> ----- On Jul 31, 2017, at 12:13 PM, Paul E. McKenney paulmck@linux.vnet.ibm.com wrote:
>
> > On Mon, Jul 31, 2017 at 01:50:29PM +1000, Stephen Rothwell wrote:
> >> Hi Paul,
> >>
> >> Today's linux-next merge of the rcu tree got a conflict in:
> >>
> >> arch/x86/mm/tlb.c
> >>
> >> between commit:
> >>
> >> 94b1b03b519b ("x86/mm: Rework lazy TLB mode and TLB freshness tracking")
> >>
> >> from the tip tree and commit:
> >>
> >> d7713e8f8b23 ("membarrier: Expedited private command")
> >>
> >> from the rcu tree.
> >>
> >> I fixed it up (the former removed the comment and the load_cr3(), so I
> >> just dropped the commend change in the latter) and can carry the fix as
> >> necessary. This is now fixed as far as linux-next is concerned, but any
> >> non trivial conflicts should be mentioned to your upstream maintainer
> >> when your tree is submitted for merging. You may also want to consider
> >> cooperating with the maintainer of the conflicting tree to minimise any
> >> particularly complex conflicts.
> >
> > Thank you, Stephen!
> >
> > Mathieu, Peter, our commit log reads as if removal of load_cr3() would
> > simply result in relying on the ordering provided by the atomic ops
> > in switch_mm() for mm_cpumask(), so that only the commit log and the
> > comment need changing.
> >
> > Please let me know if I am missing something here.
>
> I think you are right. Both load_cr3() and mm_cpumask update operations
> (LOCK prefixed) provide the appropriate barriers on x86. So it's just a
> matter of adapting the comment to the new reality.
Like this?
Thanx, Paul
------------------------------------------------------------------------
commit fde19879b6bd1abc0c1d4d5f945efed61bf7eb8c
Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Date: Fri Jul 28 16:40:40 2017 -0400
membarrier: Expedited private command
Implement MEMBARRIER_CMD_PRIVATE_EXPEDITED with IPIs using cpumask built
from all runqueues for which current thread's mm is the same as the
thread calling sys_membarrier. It executes faster than the non-expedited
variant (no blocking). It also works on NOHZ_FULL configurations.
Scheduler-wise, it requires a memory barrier before and after context
switching between processes (which have different mm). The memory
barrier before context switch is already present. For the barrier after
context switch:
* Our TSO archs can do RELEASE without being a full barrier. Look at
x86 spin_unlock() being a regular STORE for example. But for those
archs, all atomics imply smp_mb and all of them have atomic ops in
switch_mm() for mm_cpumask().
* From all weakly ordered machines, only ARM64 and PPC can do RELEASE,
the rest does indeed do smp_mb(), so there the spin_unlock() is a full
barrier and we're good.
* ARM64 has a very heavy barrier in switch_to(), which suffices.
* PPC just removed its barrier from switch_to(), but appears to be
talking about adding something to switch_mm(). So add a
smp_mb__after_unlock_lock() for now, until this is settled on the PPC
side.
Changes since v3:
- Properly document the memory barriers provided by each architecture.
Changes since v2:
- Address comments from Peter Zijlstra,
- Add smp_mb__after_unlock_lock() after finish_lock_switch() in
finish_task_switch() to add the memory barrier we need after storing
to rq->curr. This is much simpler than the previous approach relying
on atomic_dec_and_test() in mmdrop(), which actually added a memory
barrier in the common case of switching between userspace processes.
- Return -EINVAL when MEMBARRIER_CMD_SHARED is used on a nohz_full
kernel, rather than having the whole membarrier system call returning
-ENOSYS. Indeed, CMD_PRIVATE_EXPEDITED is compatible with nohz_full.
Adapt the CMD_QUERY mask accordingly.
Changes since v1:
- move membarrier code under kernel/sched/ because it uses the
scheduler runqueue,
- only add the barrier when we switch from a kernel thread. The case
where we switch from a user-space thread is already handled by
the atomic_dec_and_test() in mmdrop().
- add a comment to mmdrop() documenting the requirement on the implicit
memory barrier.
CC: Peter Zijlstra <peterz@infradead.org>
CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
CC: Boqun Feng <boqun.feng@gmail.com>
CC: Andrew Hunter <ahh@google.com>
CC: Maged Michael <maged.michael@gmail.com>
CC: gromer@google.com
CC: Avi Kivity <avi@scylladb.com>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: Paul Mackerras <paulus@samba.org>
CC: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Tested-by: Dave Watson <davejwatson@fb.com>
diff --git a/MAINTAINERS b/MAINTAINERS
index f66488dfdbc9..3b035584272f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -8621,7 +8621,7 @@ M: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
M: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
L: linux-kernel@vger.kernel.org
S: Supported
-F: kernel/membarrier.c
+F: kernel/sched/membarrier.c
F: include/uapi/linux/membarrier.h
MEMORY MANAGEMENT
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
index 659ae8094ed5..c8f7d98d8cb9 100644
--- a/arch/arm64/kernel/process.c
+++ b/arch/arm64/kernel/process.c
@@ -360,6 +360,8 @@ __notrace_funcgraph struct task_struct *__switch_to(struct task_struct *prev,
/*
* Complete any pending TLB or cache maintenance on this CPU in case
* the thread migrates to a different CPU.
+ * This full barrier is also required by the membarrier system
+ * call.
*/
dsb(ish);
diff --git a/include/uapi/linux/membarrier.h b/include/uapi/linux/membarrier.h
index e0b108bd2624..6d47b3249d8a 100644
--- a/include/uapi/linux/membarrier.h
+++ b/include/uapi/linux/membarrier.h
@@ -40,14 +40,33 @@
* (non-running threads are de facto in such a
* state). This covers threads from all processes
* running on the system. This command returns 0.
+ * @MEMBARRIER_CMD_PRIVATE_EXPEDITED:
+ * Execute a memory barrier on each running
+ * thread belonging to the same process as the current
+ * thread. Upon return from system call, the
+ * caller thread is ensured that all its running
+ * threads siblings have passed through a state
+ * where all memory accesses to user-space
+ * addresses match program order between entry
+ * to and return from the system call
+ * (non-running threads are de facto in such a
+ * state). This only covers threads from the
+ * same processes as the caller thread. This
+ * command returns 0. The "expedited" commands
+ * complete faster than the non-expedited ones,
+ * they never block, but have the downside of
+ * causing extra overhead.
*
* Command to be passed to the membarrier system call. The commands need to
* be a single bit each, except for MEMBARRIER_CMD_QUERY which is assigned to
* the value 0.
*/
enum membarrier_cmd {
- MEMBARRIER_CMD_QUERY = 0,
- MEMBARRIER_CMD_SHARED = (1 << 0),
+ MEMBARRIER_CMD_QUERY = 0,
+ MEMBARRIER_CMD_SHARED = (1 << 0),
+ /* reserved for MEMBARRIER_CMD_SHARED_EXPEDITED (1 << 1) */
+ /* reserved for MEMBARRIER_CMD_PRIVATE (1 << 2) */
+ MEMBARRIER_CMD_PRIVATE_EXPEDITED = (1 << 3),
};
#endif /* _UAPI_LINUX_MEMBARRIER_H */
diff --git a/kernel/Makefile b/kernel/Makefile
index 4cb8e8b23c6e..9c323a6daa46 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -108,7 +108,6 @@ obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
obj-$(CONFIG_JUMP_LABEL) += jump_label.o
obj-$(CONFIG_CONTEXT_TRACKING) += context_tracking.o
obj-$(CONFIG_TORTURE_TEST) += torture.o
-obj-$(CONFIG_MEMBARRIER) += membarrier.o
obj-$(CONFIG_HAS_IOMEM) += memremap.o
diff --git a/kernel/membarrier.c b/kernel/membarrier.c
deleted file mode 100644
index 9f9284f37f8d..000000000000
--- a/kernel/membarrier.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2010, 2015 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- *
- * membarrier system call
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-#include <linux/syscalls.h>
-#include <linux/membarrier.h>
-#include <linux/tick.h>
-
-/*
- * Bitmask made from a "or" of all commands within enum membarrier_cmd,
- * except MEMBARRIER_CMD_QUERY.
- */
-#define MEMBARRIER_CMD_BITMASK (MEMBARRIER_CMD_SHARED)
-
-/**
- * sys_membarrier - issue memory barriers on a set of threads
- * @cmd: Takes command values defined in enum membarrier_cmd.
- * @flags: Currently needs to be 0. For future extensions.
- *
- * If this system call is not implemented, -ENOSYS is returned. If the
- * command specified does not exist, or if the command argument is invalid,
- * this system call returns -EINVAL. For a given command, with flags argument
- * set to 0, this system call is guaranteed to always return the same value
- * until reboot.
- *
- * All memory accesses performed in program order from each targeted thread
- * is guaranteed to be ordered with respect to sys_membarrier(). If we use
- * the semantic "barrier()" to represent a compiler barrier forcing memory
- * accesses to be performed in program order across the barrier, and
- * smp_mb() to represent explicit memory barriers forcing full memory
- * ordering across the barrier, we have the following ordering table for
- * each pair of barrier(), sys_membarrier() and smp_mb():
- *
- * The pair ordering is detailed as (O: ordered, X: not ordered):
- *
- * barrier() smp_mb() sys_membarrier()
- * barrier() X X O
- * smp_mb() X O O
- * sys_membarrier() O O O
- */
-SYSCALL_DEFINE2(membarrier, int, cmd, int, flags)
-{
- /* MEMBARRIER_CMD_SHARED is not compatible with nohz_full. */
- if (tick_nohz_full_enabled())
- return -ENOSYS;
- if (unlikely(flags))
- return -EINVAL;
- switch (cmd) {
- case MEMBARRIER_CMD_QUERY:
- return MEMBARRIER_CMD_BITMASK;
- case MEMBARRIER_CMD_SHARED:
- if (num_online_cpus() > 1)
- synchronize_sched();
- return 0;
- default:
- return -EINVAL;
- }
-}
diff --git a/kernel/sched/Makefile b/kernel/sched/Makefile
index 53f0164ed362..78f54932ea1d 100644
--- a/kernel/sched/Makefile
+++ b/kernel/sched/Makefile
@@ -25,3 +25,4 @@ obj-$(CONFIG_SCHED_DEBUG) += debug.o
obj-$(CONFIG_CGROUP_CPUACCT) += cpuacct.o
obj-$(CONFIG_CPU_FREQ) += cpufreq.o
obj-$(CONFIG_CPU_FREQ_GOV_SCHEDUTIL) += cpufreq_schedutil.o
+obj-$(CONFIG_MEMBARRIER) += membarrier.o
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index bfee6ea7db49..f77269c6c2f8 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2640,6 +2640,16 @@ static struct rq *finish_task_switch(struct task_struct *prev)
prev_state = prev->state;
vtime_task_switch(prev);
perf_event_task_sched_in(prev, current);
+ /*
+ * The membarrier system call requires a full memory barrier
+ * after storing to rq->curr, before going back to user-space.
+ *
+ * TODO: This smp_mb__after_unlock_lock can go away if PPC end
+ * up adding a full barrier to switch_mm(), or we should figure
+ * out if a smp_mb__after_unlock_lock is really the proper API
+ * to use.
+ */
+ smp_mb__after_unlock_lock();
finish_lock_switch(rq, prev);
finish_arch_post_lock_switch();
@@ -3329,6 +3339,21 @@ static void __sched notrace __schedule(bool preempt)
if (likely(prev != next)) {
rq->nr_switches++;
rq->curr = next;
+ /*
+ * The membarrier system call requires each architecture
+ * to have a full memory barrier after updating
+ * rq->curr, before returning to user-space. For TSO
+ * (e.g. x86), the architecture must provide its own
+ * barrier in switch_mm(). For weakly ordered machines
+ * for which spin_unlock() acts as a full memory
+ * barrier, finish_lock_switch() in common code takes
+ * care of this barrier. For weakly ordered machines for
+ * which spin_unlock() acts as a RELEASE barrier (only
+ * arm64 and PowerPC), arm64 has a full barrier in
+ * switch_to(), and PowerPC has
+ * smp_mb__after_unlock_lock() before
+ * finish_lock_switch().
+ */
++*switch_count;
trace_sched_switch(preempt, prev, next);
diff --git a/kernel/sched/membarrier.c b/kernel/sched/membarrier.c
new file mode 100644
index 000000000000..a92fddc22747
--- /dev/null
+++ b/kernel/sched/membarrier.c
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2010-2017 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ *
+ * membarrier system call
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <linux/syscalls.h>
+#include <linux/membarrier.h>
+#include <linux/tick.h>
+#include <linux/cpumask.h>
+
+#include "sched.h" /* for cpu_rq(). */
+
+/*
+ * Bitmask made from a "or" of all commands within enum membarrier_cmd,
+ * except MEMBARRIER_CMD_QUERY.
+ */
+#define MEMBARRIER_CMD_BITMASK \
+ (MEMBARRIER_CMD_SHARED | MEMBARRIER_CMD_PRIVATE_EXPEDITED)
+
+static void ipi_mb(void *info)
+{
+ smp_mb(); /* IPIs should be serializing but paranoid. */
+}
+
+static void membarrier_private_expedited(void)
+{
+ int cpu;
+ bool fallback = false;
+ cpumask_var_t tmpmask;
+
+ if (num_online_cpus() == 1)
+ return;
+
+ /*
+ * Matches memory barriers around rq->curr modification in
+ * scheduler.
+ */
+ smp_mb(); /* system call entry is not a mb. */
+
+ /*
+ * Expedited membarrier commands guarantee that they won't
+ * block, hence the GFP_NOWAIT allocation flag and fallback
+ * implementation.
+ */
+ if (!zalloc_cpumask_var(&tmpmask, GFP_NOWAIT)) {
+ /* Fallback for OOM. */
+ fallback = true;
+ }
+
+ cpus_read_lock();
+ for_each_online_cpu(cpu) {
+ struct task_struct *p;
+
+ /*
+ * Skipping the current CPU is OK even through we can be
+ * migrated at any point. The current CPU, at the point
+ * where we read raw_smp_processor_id(), is ensured to
+ * be in program order with respect to the caller
+ * thread. Therefore, we can skip this CPU from the
+ * iteration.
+ */
+ if (cpu == raw_smp_processor_id())
+ continue;
+ rcu_read_lock();
+ p = task_rcu_dereference(&cpu_rq(cpu)->curr);
+ if (p && p->mm == current->mm) {
+ if (!fallback)
+ __cpumask_set_cpu(cpu, tmpmask);
+ else
+ smp_call_function_single(cpu, ipi_mb, NULL, 1);
+ }
+ rcu_read_unlock();
+ }
+ if (!fallback) {
+ smp_call_function_many(tmpmask, ipi_mb, NULL, 1);
+ free_cpumask_var(tmpmask);
+ }
+ cpus_read_unlock();
+
+ /*
+ * Memory barrier on the caller thread _after_ we finished
+ * waiting for the last IPI. Matches memory barriers around
+ * rq->curr modification in scheduler.
+ */
+ smp_mb(); /* exit from system call is not a mb */
+}
+
+/**
+ * sys_membarrier - issue memory barriers on a set of threads
+ * @cmd: Takes command values defined in enum membarrier_cmd.
+ * @flags: Currently needs to be 0. For future extensions.
+ *
+ * If this system call is not implemented, -ENOSYS is returned. If the
+ * command specified does not exist, not available on the running
+ * kernel, or if the command argument is invalid, this system call
+ * returns -EINVAL. For a given command, with flags argument set to 0,
+ * this system call is guaranteed to always return the same value until
+ * reboot.
+ *
+ * All memory accesses performed in program order from each targeted thread
+ * is guaranteed to be ordered with respect to sys_membarrier(). If we use
+ * the semantic "barrier()" to represent a compiler barrier forcing memory
+ * accesses to be performed in program order across the barrier, and
+ * smp_mb() to represent explicit memory barriers forcing full memory
+ * ordering across the barrier, we have the following ordering table for
+ * each pair of barrier(), sys_membarrier() and smp_mb():
+ *
+ * The pair ordering is detailed as (O: ordered, X: not ordered):
+ *
+ * barrier() smp_mb() sys_membarrier()
+ * barrier() X X O
+ * smp_mb() X O O
+ * sys_membarrier() O O O
+ */
+SYSCALL_DEFINE2(membarrier, int, cmd, int, flags)
+{
+ if (unlikely(flags))
+ return -EINVAL;
+ switch (cmd) {
+ case MEMBARRIER_CMD_QUERY:
+ {
+ int cmd_mask = MEMBARRIER_CMD_BITMASK;
+
+ if (tick_nohz_full_enabled())
+ cmd_mask &= ~MEMBARRIER_CMD_SHARED;
+ return cmd_mask;
+ }
+ case MEMBARRIER_CMD_SHARED:
+ /* MEMBARRIER_CMD_SHARED is not compatible with nohz_full. */
+ if (tick_nohz_full_enabled())
+ return -EINVAL;
+ if (num_online_cpus() > 1)
+ synchronize_sched();
+ return 0;
+ case MEMBARRIER_CMD_PRIVATE_EXPEDITED:
+ membarrier_private_expedited();
+ return 0;
+ default:
+ return -EINVAL;
+ }
+}
^ permalink raw reply related
* Re: linux-next: manual merge of the rcu tree with the tip tree
From: Mathieu Desnoyers @ 2017-08-01 4:25 UTC (permalink / raw)
To: Paul E. McKenney
Cc: Stephen Rothwell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
Peter Zijlstra, Linux-Next Mailing List, linux-kernel,
Andy Lutomirski
In-Reply-To: <20170801040323.GP3730@linux.vnet.ibm.com>
----- On Aug 1, 2017, at 12:03 AM, Paul E. McKenney paulmck@linux.vnet.ibm.com wrote:
> On Tue, Aug 01, 2017 at 12:04:05AM +0000, Mathieu Desnoyers wrote:
>> ----- On Jul 31, 2017, at 12:13 PM, Paul E. McKenney paulmck@linux.vnet.ibm.com
>> wrote:
>>
>> > On Mon, Jul 31, 2017 at 01:50:29PM +1000, Stephen Rothwell wrote:
>> >> Hi Paul,
>> >>
>> >> Today's linux-next merge of the rcu tree got a conflict in:
>> >>
>> >> arch/x86/mm/tlb.c
>> >>
>> >> between commit:
>> >>
>> >> 94b1b03b519b ("x86/mm: Rework lazy TLB mode and TLB freshness tracking")
>> >>
>> >> from the tip tree and commit:
>> >>
>> >> d7713e8f8b23 ("membarrier: Expedited private command")
>> >>
>> >> from the rcu tree.
>> >>
>> >> I fixed it up (the former removed the comment and the load_cr3(), so I
>> >> just dropped the commend change in the latter) and can carry the fix as
>> >> necessary. This is now fixed as far as linux-next is concerned, but any
>> >> non trivial conflicts should be mentioned to your upstream maintainer
>> >> when your tree is submitted for merging. You may also want to consider
>> >> cooperating with the maintainer of the conflicting tree to minimise any
>> >> particularly complex conflicts.
>> >
>> > Thank you, Stephen!
>> >
>> > Mathieu, Peter, our commit log reads as if removal of load_cr3() would
>> > simply result in relying on the ordering provided by the atomic ops
>> > in switch_mm() for mm_cpumask(), so that only the commit log and the
>> > comment need changing.
>> >
>> > Please let me know if I am missing something here.
>>
>> I think you are right. Both load_cr3() and mm_cpumask update operations
>> (LOCK prefixed) provide the appropriate barriers on x86. So it's just a
>> matter of adapting the comment to the new reality.
>
> Like this?
The updated comment in the commit message looks good, but I would be
tempted to add a comment in x86 switch_mm_irqs_off() stating the
following requirement just before the line invoking cpumask_set_cpu():
/*
* The full memory barrier implied by mm_cpumask update operations
* is required by the membarrier system call.
*/
Thanks,
Mathieu
>
> Thanx, Paul
>
> ------------------------------------------------------------------------
>
> commit fde19879b6bd1abc0c1d4d5f945efed61bf7eb8c
> Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> Date: Fri Jul 28 16:40:40 2017 -0400
>
> membarrier: Expedited private command
>
> Implement MEMBARRIER_CMD_PRIVATE_EXPEDITED with IPIs using cpumask built
> from all runqueues for which current thread's mm is the same as the
> thread calling sys_membarrier. It executes faster than the non-expedited
> variant (no blocking). It also works on NOHZ_FULL configurations.
>
> Scheduler-wise, it requires a memory barrier before and after context
> switching between processes (which have different mm). The memory
> barrier before context switch is already present. For the barrier after
> context switch:
>
> * Our TSO archs can do RELEASE without being a full barrier. Look at
> x86 spin_unlock() being a regular STORE for example. But for those
> archs, all atomics imply smp_mb and all of them have atomic ops in
> switch_mm() for mm_cpumask().
>
> * From all weakly ordered machines, only ARM64 and PPC can do RELEASE,
> the rest does indeed do smp_mb(), so there the spin_unlock() is a full
> barrier and we're good.
>
> * ARM64 has a very heavy barrier in switch_to(), which suffices.
>
> * PPC just removed its barrier from switch_to(), but appears to be
> talking about adding something to switch_mm(). So add a
> smp_mb__after_unlock_lock() for now, until this is settled on the PPC
> side.
>
> Changes since v3:
> - Properly document the memory barriers provided by each architecture.
>
> Changes since v2:
> - Address comments from Peter Zijlstra,
> - Add smp_mb__after_unlock_lock() after finish_lock_switch() in
> finish_task_switch() to add the memory barrier we need after storing
> to rq->curr. This is much simpler than the previous approach relying
> on atomic_dec_and_test() in mmdrop(), which actually added a memory
> barrier in the common case of switching between userspace processes.
> - Return -EINVAL when MEMBARRIER_CMD_SHARED is used on a nohz_full
> kernel, rather than having the whole membarrier system call returning
> -ENOSYS. Indeed, CMD_PRIVATE_EXPEDITED is compatible with nohz_full.
> Adapt the CMD_QUERY mask accordingly.
>
> Changes since v1:
> - move membarrier code under kernel/sched/ because it uses the
> scheduler runqueue,
> - only add the barrier when we switch from a kernel thread. The case
> where we switch from a user-space thread is already handled by
> the atomic_dec_and_test() in mmdrop().
> - add a comment to mmdrop() documenting the requirement on the implicit
> memory barrier.
>
> CC: Peter Zijlstra <peterz@infradead.org>
> CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> CC: Boqun Feng <boqun.feng@gmail.com>
> CC: Andrew Hunter <ahh@google.com>
> CC: Maged Michael <maged.michael@gmail.com>
> CC: gromer@google.com
> CC: Avi Kivity <avi@scylladb.com>
> CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> CC: Paul Mackerras <paulus@samba.org>
> CC: Michael Ellerman <mpe@ellerman.id.au>
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> Tested-by: Dave Watson <davejwatson@fb.com>
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index f66488dfdbc9..3b035584272f 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -8621,7 +8621,7 @@ M: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> M: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
> L: linux-kernel@vger.kernel.org
> S: Supported
> -F: kernel/membarrier.c
> +F: kernel/sched/membarrier.c
> F: include/uapi/linux/membarrier.h
>
> MEMORY MANAGEMENT
> diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
> index 659ae8094ed5..c8f7d98d8cb9 100644
> --- a/arch/arm64/kernel/process.c
> +++ b/arch/arm64/kernel/process.c
> @@ -360,6 +360,8 @@ __notrace_funcgraph struct task_struct *__switch_to(struct
> task_struct *prev,
> /*
> * Complete any pending TLB or cache maintenance on this CPU in case
> * the thread migrates to a different CPU.
> + * This full barrier is also required by the membarrier system
> + * call.
> */
> dsb(ish);
>
> diff --git a/include/uapi/linux/membarrier.h b/include/uapi/linux/membarrier.h
> index e0b108bd2624..6d47b3249d8a 100644
> --- a/include/uapi/linux/membarrier.h
> +++ b/include/uapi/linux/membarrier.h
> @@ -40,14 +40,33 @@
> * (non-running threads are de facto in such a
> * state). This covers threads from all processes
> * running on the system. This command returns 0.
> + * @MEMBARRIER_CMD_PRIVATE_EXPEDITED:
> + * Execute a memory barrier on each running
> + * thread belonging to the same process as the current
> + * thread. Upon return from system call, the
> + * caller thread is ensured that all its running
> + * threads siblings have passed through a state
> + * where all memory accesses to user-space
> + * addresses match program order between entry
> + * to and return from the system call
> + * (non-running threads are de facto in such a
> + * state). This only covers threads from the
> + * same processes as the caller thread. This
> + * command returns 0. The "expedited" commands
> + * complete faster than the non-expedited ones,
> + * they never block, but have the downside of
> + * causing extra overhead.
> *
> * Command to be passed to the membarrier system call. The commands need to
> * be a single bit each, except for MEMBARRIER_CMD_QUERY which is assigned to
> * the value 0.
> */
> enum membarrier_cmd {
> - MEMBARRIER_CMD_QUERY = 0,
> - MEMBARRIER_CMD_SHARED = (1 << 0),
> + MEMBARRIER_CMD_QUERY = 0,
> + MEMBARRIER_CMD_SHARED = (1 << 0),
> + /* reserved for MEMBARRIER_CMD_SHARED_EXPEDITED (1 << 1) */
> + /* reserved for MEMBARRIER_CMD_PRIVATE (1 << 2) */
> + MEMBARRIER_CMD_PRIVATE_EXPEDITED = (1 << 3),
> };
>
> #endif /* _UAPI_LINUX_MEMBARRIER_H */
> diff --git a/kernel/Makefile b/kernel/Makefile
> index 4cb8e8b23c6e..9c323a6daa46 100644
> --- a/kernel/Makefile
> +++ b/kernel/Makefile
> @@ -108,7 +108,6 @@ obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
> obj-$(CONFIG_JUMP_LABEL) += jump_label.o
> obj-$(CONFIG_CONTEXT_TRACKING) += context_tracking.o
> obj-$(CONFIG_TORTURE_TEST) += torture.o
> -obj-$(CONFIG_MEMBARRIER) += membarrier.o
>
> obj-$(CONFIG_HAS_IOMEM) += memremap.o
>
> diff --git a/kernel/membarrier.c b/kernel/membarrier.c
> deleted file mode 100644
> index 9f9284f37f8d..000000000000
> --- a/kernel/membarrier.c
> +++ /dev/null
> @@ -1,70 +0,0 @@
> -/*
> - * Copyright (C) 2010, 2015 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> - *
> - * membarrier system call
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> - * GNU General Public License for more details.
> - */
> -
> -#include <linux/syscalls.h>
> -#include <linux/membarrier.h>
> -#include <linux/tick.h>
> -
> -/*
> - * Bitmask made from a "or" of all commands within enum membarrier_cmd,
> - * except MEMBARRIER_CMD_QUERY.
> - */
> -#define MEMBARRIER_CMD_BITMASK (MEMBARRIER_CMD_SHARED)
> -
> -/**
> - * sys_membarrier - issue memory barriers on a set of threads
> - * @cmd: Takes command values defined in enum membarrier_cmd.
> - * @flags: Currently needs to be 0. For future extensions.
> - *
> - * If this system call is not implemented, -ENOSYS is returned. If the
> - * command specified does not exist, or if the command argument is invalid,
> - * this system call returns -EINVAL. For a given command, with flags argument
> - * set to 0, this system call is guaranteed to always return the same value
> - * until reboot.
> - *
> - * All memory accesses performed in program order from each targeted thread
> - * is guaranteed to be ordered with respect to sys_membarrier(). If we use
> - * the semantic "barrier()" to represent a compiler barrier forcing memory
> - * accesses to be performed in program order across the barrier, and
> - * smp_mb() to represent explicit memory barriers forcing full memory
> - * ordering across the barrier, we have the following ordering table for
> - * each pair of barrier(), sys_membarrier() and smp_mb():
> - *
> - * The pair ordering is detailed as (O: ordered, X: not ordered):
> - *
> - * barrier() smp_mb() sys_membarrier()
> - * barrier() X X O
> - * smp_mb() X O O
> - * sys_membarrier() O O O
> - */
> -SYSCALL_DEFINE2(membarrier, int, cmd, int, flags)
> -{
> - /* MEMBARRIER_CMD_SHARED is not compatible with nohz_full. */
> - if (tick_nohz_full_enabled())
> - return -ENOSYS;
> - if (unlikely(flags))
> - return -EINVAL;
> - switch (cmd) {
> - case MEMBARRIER_CMD_QUERY:
> - return MEMBARRIER_CMD_BITMASK;
> - case MEMBARRIER_CMD_SHARED:
> - if (num_online_cpus() > 1)
> - synchronize_sched();
> - return 0;
> - default:
> - return -EINVAL;
> - }
> -}
> diff --git a/kernel/sched/Makefile b/kernel/sched/Makefile
> index 53f0164ed362..78f54932ea1d 100644
> --- a/kernel/sched/Makefile
> +++ b/kernel/sched/Makefile
> @@ -25,3 +25,4 @@ obj-$(CONFIG_SCHED_DEBUG) += debug.o
> obj-$(CONFIG_CGROUP_CPUACCT) += cpuacct.o
> obj-$(CONFIG_CPU_FREQ) += cpufreq.o
> obj-$(CONFIG_CPU_FREQ_GOV_SCHEDUTIL) += cpufreq_schedutil.o
> +obj-$(CONFIG_MEMBARRIER) += membarrier.o
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index bfee6ea7db49..f77269c6c2f8 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -2640,6 +2640,16 @@ static struct rq *finish_task_switch(struct task_struct
> *prev)
> prev_state = prev->state;
> vtime_task_switch(prev);
> perf_event_task_sched_in(prev, current);
> + /*
> + * The membarrier system call requires a full memory barrier
> + * after storing to rq->curr, before going back to user-space.
> + *
> + * TODO: This smp_mb__after_unlock_lock can go away if PPC end
> + * up adding a full barrier to switch_mm(), or we should figure
> + * out if a smp_mb__after_unlock_lock is really the proper API
> + * to use.
> + */
> + smp_mb__after_unlock_lock();
> finish_lock_switch(rq, prev);
> finish_arch_post_lock_switch();
>
> @@ -3329,6 +3339,21 @@ static void __sched notrace __schedule(bool preempt)
> if (likely(prev != next)) {
> rq->nr_switches++;
> rq->curr = next;
> + /*
> + * The membarrier system call requires each architecture
> + * to have a full memory barrier after updating
> + * rq->curr, before returning to user-space. For TSO
> + * (e.g. x86), the architecture must provide its own
> + * barrier in switch_mm(). For weakly ordered machines
> + * for which spin_unlock() acts as a full memory
> + * barrier, finish_lock_switch() in common code takes
> + * care of this barrier. For weakly ordered machines for
> + * which spin_unlock() acts as a RELEASE barrier (only
> + * arm64 and PowerPC), arm64 has a full barrier in
> + * switch_to(), and PowerPC has
> + * smp_mb__after_unlock_lock() before
> + * finish_lock_switch().
> + */
> ++*switch_count;
>
> trace_sched_switch(preempt, prev, next);
> diff --git a/kernel/sched/membarrier.c b/kernel/sched/membarrier.c
> new file mode 100644
> index 000000000000..a92fddc22747
> --- /dev/null
> +++ b/kernel/sched/membarrier.c
> @@ -0,0 +1,152 @@
> +/*
> + * Copyright (C) 2010-2017 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> + *
> + * membarrier system call
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + */
> +
> +#include <linux/syscalls.h>
> +#include <linux/membarrier.h>
> +#include <linux/tick.h>
> +#include <linux/cpumask.h>
> +
> +#include "sched.h" /* for cpu_rq(). */
> +
> +/*
> + * Bitmask made from a "or" of all commands within enum membarrier_cmd,
> + * except MEMBARRIER_CMD_QUERY.
> + */
> +#define MEMBARRIER_CMD_BITMASK \
> + (MEMBARRIER_CMD_SHARED | MEMBARRIER_CMD_PRIVATE_EXPEDITED)
> +
> +static void ipi_mb(void *info)
> +{
> + smp_mb(); /* IPIs should be serializing but paranoid. */
> +}
> +
> +static void membarrier_private_expedited(void)
> +{
> + int cpu;
> + bool fallback = false;
> + cpumask_var_t tmpmask;
> +
> + if (num_online_cpus() == 1)
> + return;
> +
> + /*
> + * Matches memory barriers around rq->curr modification in
> + * scheduler.
> + */
> + smp_mb(); /* system call entry is not a mb. */
> +
> + /*
> + * Expedited membarrier commands guarantee that they won't
> + * block, hence the GFP_NOWAIT allocation flag and fallback
> + * implementation.
> + */
> + if (!zalloc_cpumask_var(&tmpmask, GFP_NOWAIT)) {
> + /* Fallback for OOM. */
> + fallback = true;
> + }
> +
> + cpus_read_lock();
> + for_each_online_cpu(cpu) {
> + struct task_struct *p;
> +
> + /*
> + * Skipping the current CPU is OK even through we can be
> + * migrated at any point. The current CPU, at the point
> + * where we read raw_smp_processor_id(), is ensured to
> + * be in program order with respect to the caller
> + * thread. Therefore, we can skip this CPU from the
> + * iteration.
> + */
> + if (cpu == raw_smp_processor_id())
> + continue;
> + rcu_read_lock();
> + p = task_rcu_dereference(&cpu_rq(cpu)->curr);
> + if (p && p->mm == current->mm) {
> + if (!fallback)
> + __cpumask_set_cpu(cpu, tmpmask);
> + else
> + smp_call_function_single(cpu, ipi_mb, NULL, 1);
> + }
> + rcu_read_unlock();
> + }
> + if (!fallback) {
> + smp_call_function_many(tmpmask, ipi_mb, NULL, 1);
> + free_cpumask_var(tmpmask);
> + }
> + cpus_read_unlock();
> +
> + /*
> + * Memory barrier on the caller thread _after_ we finished
> + * waiting for the last IPI. Matches memory barriers around
> + * rq->curr modification in scheduler.
> + */
> + smp_mb(); /* exit from system call is not a mb */
> +}
> +
> +/**
> + * sys_membarrier - issue memory barriers on a set of threads
> + * @cmd: Takes command values defined in enum membarrier_cmd.
> + * @flags: Currently needs to be 0. For future extensions.
> + *
> + * If this system call is not implemented, -ENOSYS is returned. If the
> + * command specified does not exist, not available on the running
> + * kernel, or if the command argument is invalid, this system call
> + * returns -EINVAL. For a given command, with flags argument set to 0,
> + * this system call is guaranteed to always return the same value until
> + * reboot.
> + *
> + * All memory accesses performed in program order from each targeted thread
> + * is guaranteed to be ordered with respect to sys_membarrier(). If we use
> + * the semantic "barrier()" to represent a compiler barrier forcing memory
> + * accesses to be performed in program order across the barrier, and
> + * smp_mb() to represent explicit memory barriers forcing full memory
> + * ordering across the barrier, we have the following ordering table for
> + * each pair of barrier(), sys_membarrier() and smp_mb():
> + *
> + * The pair ordering is detailed as (O: ordered, X: not ordered):
> + *
> + * barrier() smp_mb() sys_membarrier()
> + * barrier() X X O
> + * smp_mb() X O O
> + * sys_membarrier() O O O
> + */
> +SYSCALL_DEFINE2(membarrier, int, cmd, int, flags)
> +{
> + if (unlikely(flags))
> + return -EINVAL;
> + switch (cmd) {
> + case MEMBARRIER_CMD_QUERY:
> + {
> + int cmd_mask = MEMBARRIER_CMD_BITMASK;
> +
> + if (tick_nohz_full_enabled())
> + cmd_mask &= ~MEMBARRIER_CMD_SHARED;
> + return cmd_mask;
> + }
> + case MEMBARRIER_CMD_SHARED:
> + /* MEMBARRIER_CMD_SHARED is not compatible with nohz_full. */
> + if (tick_nohz_full_enabled())
> + return -EINVAL;
> + if (num_online_cpus() > 1)
> + synchronize_sched();
> + return 0;
> + case MEMBARRIER_CMD_PRIVATE_EXPEDITED:
> + membarrier_private_expedited();
> + return 0;
> + default:
> + return -EINVAL;
> + }
> +}
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply
* linux-next: build warning after merge of the akpm-current tree
From: Stephen Rothwell @ 2017-08-01 5:22 UTC (permalink / raw)
To: Andrew Morton
Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Michal Hocko
Hi Andrew,
After merging the akpm-current tree, today's linux-next build (arm
multi_v7_defconfig) produced this warning:
fs/proc/task_mmu.c: In function 'show_map_vma':
fs/proc/task_mmu.c:285:28: warning: unused variable 'priv' [-Wunused-variable]
struct proc_maps_private *priv = m->private;
^
Introduced by commit
14ccc3193225 ("fs, proc: remove priv argument from is_stack")
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* linux-next: build failure after merge of the akpm-current tree
From: Stephen Rothwell @ 2017-08-01 5:29 UTC (permalink / raw)
To: Andrew Morton
Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Michal Hocko
Hi Andrew,
After merging the akpm-current tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:
arch/powerpc/kernel/rtas.c: In function 'rtas_online_cpus_mask':
arch/powerpc/kernel/rtas.c:917:37: error: 'GFP_KENREL' undeclared (first use in this function)
if (!alloc_cpumask_var(&tmp_mask, GFP_KENREL))
^
Caused by commit
404170cf1c4c ("mm: treewide: remove GFP_TEMPORARY allocation flag")
I added the following patch:
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 1 Aug 2017 15:25:33 +1000
Subject: [PATCH] mm: treewide: remove GFP_TEMPORARY allocation flag fix
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
arch/powerpc/kernel/rtas.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
index 90d27dcd0da8..1643e9e53655 100644
--- a/arch/powerpc/kernel/rtas.c
+++ b/arch/powerpc/kernel/rtas.c
@@ -914,7 +914,7 @@ int rtas_online_cpus_mask(cpumask_var_t cpus)
if (ret) {
cpumask_var_t tmp_mask;
- if (!alloc_cpumask_var(&tmp_mask, GFP_KENREL))
+ if (!alloc_cpumask_var(&tmp_mask, GFP_KERNEL))
return ret;
/* Use tmp_mask to preserve cpus mask from first failure */
--
2.13.2
--
Cheers,
Stephen Rothwell
^ permalink raw reply related
* linux-next: manual merge of the akpm tree with the wberr tree
From: Stephen Rothwell @ 2017-08-01 5:46 UTC (permalink / raw)
To: Andrew Morton, Jeff Layton
Cc: Linux-Next Mailing List, Linux Kernel Mailing List
Hi Andrew,
Today's linux-next merge of the akpm-current tree got a conflict in:
include/linux/fs.h
between commit:
9dcc0577f2a4 ("mm: remove optimizations based on i_size in mapping writeback waits")
from the wberr tree and patch:
"mm: remove optimizations based on i_size in mapping writeback waits"
from the akpm tree.
I fixed it up (I just dropped the akpm tree patch) and can carry the
fix as necessary. This is now fixed as far as linux-next is concerned,
but any non trivial conflicts should be mentioned to your upstream
maintainer when your tree is submitted for merging. You may also want
to consider cooperating with the maintainer of the conflicting tree to
minimise any particularly complex conflicts.
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* linux-next: build warning after merge of the akpm tree
From: Stephen Rothwell @ 2017-08-01 6:02 UTC (permalink / raw)
To: Andrew Morton
Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Huang Ying
Hi Andrew,
After merging the akpm tree, today's linux-next build (x86_64
allmodconfig) produced this warning:
mm/swapfile.c: In function 'reuse_swap_page':
mm/swapfile.c:1429:16: warning: 'offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
unsigned long offset;
^
Introduced by commit
e16cd4930836 ("mm, THP, swap: make reuse_swap_page() works for THP swapped out")
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* Re: linux-next: build warning after merge of the akpm tree
From: Huang, Ying @ 2017-08-01 6:15 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Andrew Morton, Linux-Next Mailing List, Linux Kernel Mailing List,
Huang Ying
In-Reply-To: <20170801160257.0b1306b2@canb.auug.org.au>
Hi, Stephen,
Thanks for reporting.
Stephen Rothwell <sfr@canb.auug.org.au> writes:
> Hi Andrew,
>
> After merging the akpm tree, today's linux-next build (x86_64
> allmodconfig) produced this warning:
>
> mm/swapfile.c: In function 'reuse_swap_page':
> mm/swapfile.c:1429:16: warning: 'offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
> unsigned long offset;
> ^
>
> Introduced by commit
>
> e16cd4930836 ("mm, THP, swap: make reuse_swap_page() works for THP swapped out")
This looks like a false positive reporting and not reported by my
compiler and kbuild compiler (gcc-6). But anyway, we should silence it.
Best Regards,
Huang, Ying
---------->8----------
>From 7a7ff76d7bcbd7affda169b29abcf3dafa38052e Mon Sep 17 00:00:00 2001
From: Huang Ying <ying.huang@intel.com>
Date: Tue, 1 Aug 2017 14:12:21 +0800
Subject: [PATCH] mm, THP, swap: Silence a compiler warning
To fix the following compiler warning,
mm/swapfile.c: In function 'reuse_swap_page':
mm/swapfile.c:1429:16: warning: 'offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
unsigned long offset;
^
This is a false positive report, but we should silence it anyway.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
---
mm/swapfile.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/swapfile.c b/mm/swapfile.c
index 32434541cc12..64a94f70e867 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -1426,7 +1426,7 @@ static int page_trans_huge_map_swapcount(struct page *page, int *total_mapcount,
int *total_swapcount)
{
int i, map_swapcount, _total_mapcount, _total_swapcount;
- unsigned long offset;
+ unsigned long offset = 0;
struct swap_info_struct *si;
struct swap_cluster_info *ci = NULL;
unsigned char *map = NULL;
--
2.13.2
^ permalink raw reply related
* linux-next: build failure after merge of the akpm tree
From: Stephen Rothwell @ 2017-08-01 6:25 UTC (permalink / raw)
To: Andrew Morton, Kees Cook
Cc: Linux-Next Mailing List, Linux Kernel Mailing List
Hi Andrew,
After merging the akpm tree, today's linux-next build (powerpc
allyesconfig) failed like this:
In file included from arch/powerpc/include/asm/paca.h:19:0,
from arch/powerpc/include/asm/hw_irq.h:42,
from arch/powerpc/include/asm/irqflags.h:11,
from include/linux/irqflags.h:15,
from include/linux/spinlock.h:53,
from include/linux/wait.h:8,
from include/linux/wait_bit.h:7,
from include/linux/fs.h:5,
from include/linux/buffer_head.h:11,
from fs/adfs/dir_f.c:12:
In function 'memcpy',
inlined from '__adfs_dir_put' at fs/adfs/dir_f.c:318:2,
inlined from 'adfs_f_update' at fs/adfs/dir_f.c:403:2:
include/linux/string.h:305:4: error: call to '__read_overflow2' declared with attribute error: detected read beyond size of object passed as 2nd parameter
__read_overflow2();
^
I don't know why this has turned up now. I have just left it broken
for now and would appreciate any fix.
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* linux-next: build failure after merge of the akpm-current tree
From: Stephen Rothwell @ 2017-08-01 6:39 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Zi Yan
Hi Andrew,
After merging the akpm tree, today's linux-next build (sparc defconfig)
failed like this:
In file included from mm/vmscan.c:55:0:
include/linux/swapops.h: In function 'swp_entry_to_pmd':
include/linux/swapops.h:226:9: error: implicit declaration of function '__pmd' [-Werror=implicit-function-declaration]
return __pmd(0);
^
include/linux/swapops.h:226:9: error: incompatible types when returning type 'int' but 'pmd_t {aka struct <anonymous>}' was expected
Caused by commit
9bb18490758c ("mm-thp-enable-thp-migration-in-generic-path-fix")
It looks like sparc 32 bit has no __pmd() ...
I have reverted that commit for today.
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* linux-next: Tree for Aug 1
From: Stephen Rothwell @ 2017-08-01 7:37 UTC (permalink / raw)
To: Linux-Next Mailing List; +Cc: Linux Kernel Mailing List
Hi all,
Changes since 20170731:
The rdma tree lost its build failure.
I reverted a commit from the staging tree that was causing overnight
build failures.
The akpm-current tree gained a build failure for which I applied a patch
and another for which I reverted a commit.
The akpm tree gained a conflict against the wberr tree.
There was a build error after the merging of the akpm trees which I have
left broken for today.
Non-merge commits (relative to Linus' tree): 3505
3681 files changed, 120460 insertions(+), 57536 deletions(-)
----------------------------------------------------------------------------
I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" and checkout or reset to the new
master.
You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log
files in the Next directory. Between each merge, the tree was built
with a ppc64_defconfig for powerpc and an allmodconfig (with
CONFIG_BUILD_DOCSRC=n) for x86_64, a multi_v7_defconfig for arm and a
native build of tools/perf. After the final fixups (if any), I do an
x86_64 modules_install followed by builds for x86_64 allnoconfig,
powerpc allnoconfig (32 and 64 bit), ppc44x_defconfig, allyesconfig
and pseries_le_defconfig and i386, sparc and sparc64 defconfig. And
finally, a simple boot test of the powerpc pseries_le_defconfig kernel
in qemu.
Below is a summary of the state of the merge.
I am currently merging 267 trees (counting Linus' and 41 trees of bug
fix patches pending for the current merge release).
Stats about the size of the tree over time can be seen at
http://neuling.org/linux-next-size.html .
Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.
Thanks to Randy Dunlap for doing many randconfig builds. And to Paul
Gortmaker for triage and bug fixes.
--
Cheers,
Stephen Rothwell
$ git checkout master
$ git reset --hard stable
Merging origin/master (2e7ca2064cbb Merge branch 'for-4.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup)
Merging fixes/master (b4b8cbf679c4 Cavium CNN55XX: fix broken default Kconfig entry)
Merging kbuild-current/fixes (ad8181060788 kconfig: fix sparse warnings in nconfig)
Merging arc-current/for-curr (37f1db0e85ff ARC: [plat-axs10x]: prepare dts files for enabling PAE40 on axs103)
Merging arm-current/fixes (ce184a0dee92 ARM: 8687/1: signal: Fix unparseable iwmmxt_sigframe in uc_regspace[])
Merging m68k-current/for-linus (204a2be30a7a m68k: Remove ptrace_signal_deliver)
Merging metag-fixes/fixes (b884a190afce metag/usercopy: Add missing fixups)
Merging powerpc-fixes/fixes (253fd51e2f53 powerpc/powernv/pci: Return failure for some uses of dma_set_mask())
Merging sparc/master (8cd3ec51c0c3 sbus: Convert to using %pOF instead of full_name)
Merging fscrypt-current/for-stable (42d97eb0ade3 fscrypt: fix renaming and linking special files)
Merging net/master (9975a54b3c9e bpf: fix bpf_prog_get_info_by_fd to dump correct xlated_prog_len)
Merging ipsec/master (e6194923237f esp: Fix memleaks on error paths.)
Merging netfilter/master (9beceb54fa2c netfilter: x_tables: Fix use-after-free in ipt_do_table.)
Merging ipvs/master (f7fb77fc1235 netfilter: nft_compat: check extension hook mask only if set)
Merging wireless-drivers/master (5f5d03143de5 brcmfmac: fix memleak due to calling brcmf_sdiod_sgtable_alloc() twice)
Merging mac80211/master (d7f13f745036 cfg80211: Validate frequencies nested in NL80211_ATTR_SCAN_FREQUENCIES)
Merging sound-current/for-linus (ba92b1142879 ALSA: hda - Add mute led support for HP ProBook 440 G4)
Merging pci-current/for-linus (16f73eb02d7e Linux 4.13-rc3)
Merging driver-core.current/driver-core-linus (5771a8c08880 Linux v4.13-rc1)
Merging tty.current/tty-linus (37ef38f3f838 tty: pl011: fix initialization order of QDF2400 E44)
Merging usb.current/usb-linus (45d73860530a usb: musb: fix tx fifo flush handling again)
Merging usb-gadget-fixes/fixes (520eccdfe187 Linux 4.13-rc2)
Merging usb-serial-fixes/usb-linus (9585e340db9f USB: serial: cp210x: add support for Qivicon USB ZigBee dongle)
Merging usb-chipidea-fixes/ci-for-usb-stable (cbb22ebcfb99 usb: chipidea: core: check before accessing ci_role in ci_role_show)
Merging phy/fixes (5771a8c08880 Linux v4.13-rc1)
Merging staging.current/staging-linus (cef988642cda staging: comedi: comedi_fops: do not call blocking ops when !TASK_RUNNING)
Merging char-misc.current/char-misc-linus (520eccdfe187 Linux 4.13-rc2)
Merging input-current/for-linus (293b915fd9be Input: trackpoint - assume 3 buttons when buttons detection fails)
Merging crypto-current/master (41cdf7a45389 crypto: authencesn - Fix digest_null crash)
Merging ide/master (921edf312a6a ide: avoid warning for timings calculation)
Merging vfio-fixes/for-linus (bb67b496c338 include/linux/vfio.h: Guard powerpc-specific functions with CONFIG_VFIO_SPAPR_EEH)
Merging kselftest-fixes/fixes (5771a8c08880 Linux v4.13-rc1)
Merging backlight-fixes/for-backlight-fixes (68feaca0b13e backlight: pwm: Handle EPROBE_DEFER while requesting the PWM)
Merging ftrace-fixes/for-next-urgent (6224beb12e19 tracing: Have branch tracer use recursive field of task struct)
Merging nand-fixes/nand/fixes (d4ed3b9015b5 mtd: nand: make nand_ooblayout_lp_hamming_ops static)
Merging spi-nor-fixes/spi-nor/fixes (5771a8c08880 Linux v4.13-rc1)
Merging mfd-fixes/for-mfd-fixes (9e69672e90cc dt-bindings: mfd: Update STM32 timers clock names)
Merging v4l-dvb-fixes/fixes (8033120f36c0 media: atomisp2: array underflow in imx_enum_frame_size())
Merging reset-fixes/reset/fixes (4497a224f759 reset: hi6220: Set module license so that it can be loaded)
Merging drm-intel-fixes/for-linux-next-fixes (16f73eb02d7e Linux 4.13-rc3)
Merging drm-misc-fixes/for-linux-next-fixes (99f828436788 dma-buf/sync_file: Allow multiple sync_files to wrap a single dma-fence)
Merging kbuild/for-next (5771a8c08880 Linux v4.13-rc1)
Merging uuid/for-next (832e4c83abc5 uuid: remove uuid_be)
Merging dma-mapping/for-next (878ec36765fa ARM: NOMMU: Wire-up default DMA interface)
Merging asm-generic/master (a351e9b9fc24 Linux 4.11)
Merging arc/for-next (6f8119230ed0 ARC: set boot print log level to PR_INFO)
Merging arm/for-next (640265076a84 Merge branches 'fixes' and 'misc' into for-next)
Merging arm-perf/for-next/perf (5771a8c08880 Linux v4.13-rc1)
Merging arm-soc/for-next (1d20d8a9fce8 ARM: pxa: select both FB and FB_W100 for eseries)
Merging actions/for-next (253d192bc4aa Merge branch 'v4.14/dt' into next)
Merging alpine/alpine/for-next (a1144b2b1ec4 ARM: dts: alpine: add valid clock-frequency values)
Merging amlogic/for-next (8c31a9e33516 Merge branch 'v4.14/drivers' into tmp/aml-rebuild)
Merging aspeed/for-next (4944e5dbb215 Merge branches 'dt-for-v4.12' and 'defconfig-for-v4.12' into for-next)
Merging at91/at91-next (01c1fe77824e Merge branch 'at91-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into at91-next)
Merging bcm2835/for-next (389c81b7e7ae Merge branch anholt/bcm2835-defconfig-next into for-next)
Merging berlin/berlin/for-next (5153351425c9 Merge branch 'berlin/dt' into berlin/for-next)
Merging cortex-m/for-next (f719a0d6a854 ARM: efm32: switch to vendor,device compatible strings)
Merging imx-mxs/for-next (83bf680264c1 Merge branch 'zte/dt64' into for-next)
Merging keystone/next (fb1a6241a46e Merge branch 'for_4.14/keystone_dts' into next)
Merging mvebu/for-next (fd63b625307d Merge branch 'mvebu/dt64' into mvebu/for-next)
Merging omap/for-next (191ae5a41246 Merge branch 'omap-for-v4.14/debug-ll' into for-next)
Merging omap-pending/for-next (c20c8f750d9f ARM: OMAP2+: hwmod: fix _idle() hwmod state sanity check sequence)
Merging reset/reset/next (e0be864f1424 ARC: reset: introduce HSDKv1 reset driver)
CONFLICT (content): Merge conflict in MAINTAINERS
Merging qcom/for-next (c3c9fffc9384 soc: qcom: mdt_loader: Use request_firmware_into_buf())
Merging realtek/for-next (5771a8c08880 Linux v4.13-rc1)
Merging renesas/next (77c3d7971bba Merge branches 'fixes-for-v4.13', 'arm64-dt-for-v4.14', 'arm64-defconfig-for-v4.14', 'defconfig-for-v4.14', 'drivers-for-v4.14', 'dt-bindings-for-v4.14', 'dt-for-v4.14' and 'soc-for-v4.14' into next)
Merging rockchip/for-next (29a737be1eab Merge branch 'v4.14-armsoc/dts64' into for-next)
Merging rpi/for-rpi-next (bc0195aad0da Linux 4.2-rc2)
Merging samsung/for-next (2ea659a9ef48 Linux 4.12-rc1)
Merging samsung-krzk/for-next (4157348c49de Merge branch 'next/dt' into for-next)
Merging sunxi/sunxi/for-next (8a34f6719024 Merge branch 'sunxi/clk-fixes-for-4.13' into sunxi/for-next)
Merging tegra/for-next (20e72aa386b0 Merge branch for-4.14/arm/defconfig into for-next)
Merging arm64/for-next/core (425e1ed73e65 arm64: fix endianness annotation for 'struct jit_ctx' and friends)
Merging clk/clk-next (1667393126d7 clk: Convert to using %pOF instead of full_name)
CONFLICT (content): Merge conflict in MAINTAINERS
Merging c6x/for-linux-next (eab89e215ae4 c6x: defconfig: Cleanup from old Kconfig options)
Merging cris/for-next (8f50f2a1b46a cris: No need to append -O2 and $(LINUXINCLUDE))
Merging h8300/h8300-next (58c57526711f h8300: Add missing include file to asm/io.h)
Merging hexagon/linux-next (02cc2ccfe771 Revert "Hexagon: fix signal.c compile error")
Merging ia64/next (fbb0e4da96f4 ia64: salinfo: use a waitqueue instead a sema down/up combo)
Merging m68k/for-next (204a2be30a7a m68k: Remove ptrace_signal_deliver)
Merging m68knommu/for-next (8f7657c37322 m68k: allow NULL clock for clk_get_rate)
Merging metag/for-next (e3cd7f013bac metag/mm: Drop pointless increment)
Merging microblaze/next (14ef905bb2ee microblaze: Fix MSR flags when returning from exception)
Merging mips/mips-for-linux-next (e36f14f04d11 Merge branch '4.13-fixes' into mips-for-linux-next)
Merging nios2/for-next (e118c3fec9c0 nios2: remove custom early console implementation)
Merging openrisc/for-next (9d15eb228b10 openrisc: defconfig: Cleanup from old Kconfig options)
Merging parisc-hd/for-next (74ad3d28af21 parisc: Define CONFIG_CPU_BIG_ENDIAN)
Merging powerpc/next (f74c89bd80fb powerpc/perf: Add thread IMC PMU support)
Merging fsl/next (61baf1555512 powerpc/64e: Don't place the stack beyond TASK_SIZE)
Merging mpc5xxx/next (39e69f55f857 powerpc: Introduce the use of the managed version of kzalloc)
Merging s390/features (dd783b4c7bf6 Merge tag 'vfio-ccw-20170724' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/vfio-ccw into features)
Merging sparc-next/master (cb8c65ccff7f Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc)
Merging sh/for-next (6e2fbfdd585f sh: fix futex FUTEX_OP_SET op on userspace addresses)
Merging tile/master (637f23abca87 tile: array underflow in setup_maxnodemem())
Merging uml/linux-next (61e8d462457f um: Correctly check for PTRACE_GETRESET/SETREGSET)
Merging unicore32/unicore32 (bc27113620ca unicore32-oldabi: add oldabi syscall interface)
CONFLICT (content): Merge conflict in arch/unicore32/include/asm/Kbuild
Merging xtensa/xtensa-for-next (51b5e9756efd Merge branch 'xtensa-fixes' into xtensa-for-next)
Merging fscrypt/master (c250b7dd8e73 fscrypt: make ->dummy_context() return bool)
Merging befs/for-next (5771a8c08880 Linux v4.13-rc1)
Merging btrfs/next (8b8b08cbfb90 Btrfs: fix delalloc accounting after copy_from_user faults)
Merging btrfs-kdave/for-next (3497efbab8dc Merge branch 'for-next-next-v4.14-20170728' into for-next-20170728)
CONFLICT (content): Merge conflict in fs/btrfs/scrub.c
CONFLICT (content): Merge conflict in fs/btrfs/extent_io.c
Merging ceph/master (08f71ae74acc ceph: use errseq_t for writeback error reporting)
Merging cifs/for-next (235b84fc862a Merge branch 'i2c/for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux)
Merging configfs/for-next (19e72d3abb63 configfs: Introduce config_item_get_unless_zero())
Merging ecryptfs/next (be280b25c328 ecryptfs: remove private bin2hex implementation)
Merging ext3/for_next (84969465ddc4 hfsplus: Don't clear SGID when inheriting ACLs)
Merging ext4/dev (9c5d58fb9e1d ext4: convert swap_inode_data() over to use swap() on most of the fields)
Merging f2fs/dev (1766871af8a0 f2fs: support project quota)
Merging freevxfs/for-next (bf1bb4b460c8 freevxfs: update Kconfig information)
Merging fscache/fscache (d52bd54db8be Merge branch 'akpm' (patches from Andrew))
Merging fuse/for-next (68227c03cba8 fuse: initialize the flock flag in fuse_file on allocation)
Merging jfs/jfs-next (f070e5ac9bc7 jfs: preserve i_mode if __jfs_set_acl() fails)
Merging nfs/linux-next (16f73eb02d7e Linux 4.13-rc3)
Merging nfsd/nfsd-next (b20dae70bfa5 svcrdma: fix an incorrect check on -E2BIG and -EINVAL)
Merging orangefs/for-next (2f713b5c7d2a orangefs: count directory pieces correctly)
Merging overlayfs/overlayfs-next (0e082555cec9 ovl: check for bad and whiteout index on lookup)
Merging v9fs/for-next (a333e4bf2556 fs/9p: use fscache mutex rather than spinlock)
Merging ubifs/linux-next (a6664433d383 ubifs: Set double hash cookie also for RENAME_EXCHANGE)
Merging xfs/for-next (cd87d8679201 xfs: don't crash on unexpected holes in dir/attr btrees)
Merging file-locks/locks-next (3953704fde7e locks: restore a warn for leaked locks on close)
Merging wberr/wberr-next (5bb05d221954 fs: convert a pile of fsync routines to errseq_t based reporting)
Merging vfs/for-next (66bf97967726 annotate RWF_... flags)
Merging vfs-jk/vfs (030b533c4fd4 fs: Avoid premature clearing of capabilities)
Merging vfs-miklos/next (0eb8af4916a5 vfs: use helper for calling f_op->fsync())
Merging printk/for-next (5a814231ae3d printk/console: Enhance the check for consoles using init memory)
Merging pci/next (16f73eb02d7e Linux 4.13-rc3)
Merging pstore/for-next/pstore (520eccdfe187 Linux 4.13-rc2)
Merging hid/for-next (40e5101b9018 Merge branch 'for-4.13/upstream-fixes' into for-next)
Merging i2c/i2c/for-next (ba1f668f388c Merge branch 'i2c/for-4.14' into i2c/for-next)
Merging jdelvare-hwmon/master (08d27eb20666 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs)
Merging dmi/master (f996c4155d0d dmi: Mark all struct dmi_system_id instances const)
Merging hwmon-staging/hwmon-next (2732fc0ffb35 hwmon: (i5k_amb) constify pci_device_id)
Merging jc_docs/docs-next (bc7938deaca7 docs: submitting-patches - change non-ascii character to ascii)
Merging v4l-dvb/master (da48c948c263 media: fix warning on v4l2_subdev_call() result interpreted as bool)
Merging v4l-dvb-next/master (474dfccf3685 media: svg: avoid too long lines)
Merging fbdev/fbdev-for-next (dd0c41f8a7e0 efifb: allow user to disable write combined mapping.)
Merging pm/linux-next (48851d0f2b7a Merge branch 'device-properties' into linux-next)
Merging idle/next (306899f94804 x86 tsc: Add the Intel Denverton Processor to native_calibrate_tsc())
Merging thermal/next (5d72ed35678a Merge branches 'thermal-core', 'thermal-intel' and 'thermal-soc' into next)
Merging thermal-soc/next (aa647852c32a Merge branch 'work-linus' into work-next)
Merging ieee1394/for-next (72f3c27aa646 firewire: net: max MTU off by one)
Merging dlm/next (e94d6f64e7ba dlm: print log message when cluster name is not set)
Merging swiotlb/linux-next (69369f52d28a swiotlb-xen: implement xen_swiotlb_get_sgtable callback)
Merging net-next/master (1f139ed9ec40 ipv6: Avoid going through ->sk_net to access the netns)
Merging ipsec-next/master (8bafd73093f2 xfrm: add UDP encapsulation port in migrate message)
Merging netfilter-next/master (4d3a57f23dec netfilter: conntrack: do not enable connection tracking unless needed)
Merging nfc-next/master (bd751808f9ff NFC: trf7970a: Correct register settings for 27MHz clock)
Merging ipvs-next/master (a910d20aa007 netfilter: ipvs: Fix space before '[' error.)
Merging wireless-drivers-next/master (d28ac7be15c7 rtlwifi: rtl8821ae: Fix HW_VAR_NAV_UPPER operation)
Merging bluetooth/master (fb776481c4ff Bluetooth: hci_uart: Fix uninitialized alignment value)
Merging mac80211-next/master (3dc02251f43f Merge branch 'skb-accessor-cleanups')
Merging rdma/for-next (913cc67159bc IB/hfi1: Always perform offline transition)
Merging gfs2/for-next (4676743ded4d GFS2: Delete debugfs files only after we evict the glocks)
Merging mtd/master (5771a8c08880 Linux v4.13-rc1)
Merging l2-mtd/master (1fbef470f369 mtd: mtdswap: remove unused variables 'dev' and 'gd')
Merging nand/nand/next (81667e9c8ad8 mtd: nand: mtk: release lock on error path)
Merging spi-nor/spi-nor/next (f384b352cbf0 mtd: spi-nor: parse Serial Flash Discoverable Parameters (SFDP) tables)
Merging crypto/master (e28c190db668 csrypto: ccp - Expand RSA support for a v5 ccp)
Merging drm/drm-next (e6742e1021a5 drm: linux-next: build failure after merge of the drm-misc tree)
CONFLICT (content): Merge conflict in drivers/gpu/drm/nouveau/nv50_display.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_pm.c
Merging drm-panel/drm/panel/for-next (e4bac408b084 drm/panel: simple: Add support for Winstar WF35LTIACD)
Merging drm-intel/for-linux-next (d0604a24d4e4 drm/i915: Update DRIVER_DATE to 20170731)
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_display.c
Merging drm-tegra/drm/tegra/for-next (43240bbd871e gpu: host1x: At first try a non-blocking allocation for the gather copy)
Merging drm-misc/for-linux-next (3792b7c1a708 dma-buf/sw_sync: clean up list before signaling the fence)
Merging drm-exynos/exynos-drm/for-next (7d1e04231461 Merge tag 'usercopy-v4.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux)
Merging drm-msm/msm-next (4a630fadbb29 drm/msm: Fix potential buffer overflow issue)
Merging hdlcd/for-upstream/hdlcd (fee4964f0a6c drm/arm: hdlcd: remove unused variables)
Merging mali-dp/for-upstream/mali-dp (e40eda3dda1e drm/arm: mali-dp: Use CMA helper for plane buffer address calculation)
Merging sunxi-drm/sunxi-drm/for-next (7dafb83edd32 Merge branches 'sunxi/drm-fixes-for-4.13' and 'sunxi/drm-for-4.14' into sunxi-drm/for-next)
Merging imx-drm/imx-drm/next (790cb4c7c954 drm/imx: lock scanout transfers for consecutive bursts)
Merging etnaviv/etnaviv/next (8cc47b3ea082 drm/etnaviv: populate GEM objects on cpu_prep)
Merging kconfig/for-next (6f7da290413b Linux 4.12)
Merging regmap/for-next (a7c33d98535c Merge remote-tracking branch 'regmap/topic/namespace' into regmap-next)
Merging sound/for-next (6c5a266029cc ALSA: hda: constify pci_device_id.)
Merging sound-asoc/for-next (e7faf583e2a9 Merge remote-tracking branches 'asoc/topic/twl6040', 'asoc/topic/wm8524', 'asoc/topic/wm8804' and 'asoc/topic/zte' into asoc-next)
Merging modules/modules-next (0bf8bf50eddc module: Remove const attribute from alias for MODULE_DEVICE_TABLE)
Merging input/next (4323418d62fe Input: sur40 - skip all blobs that are not touches)
Merging block/for-next (b2a5b74635f9 Merge branch 'for-4.14/block' into for-next)
Merging lightnvm/for-next (1c6286f26301 lightnvm: fix some error code in pblk-init.c)
Merging device-mapper/for-next (2298b6212f1c dm ioctl: constify ioctl lookup table)
Merging pcmcia/master (e8e68fd86d22 pcmcia: do not break rsrc_nonstatic when handling anonymous cards)
Merging mmc/next (bb1407c0df2c Merge branch 'fixes' into next)
Merging kgdb/kgdb-next (7a6653fca500 kdb: Fix handling of kallsyms_symbol_next() return value)
Merging md/for-next (bd48ff8a3c91 md: replace seq_release_private with seq_release)
Merging mfd/for-mfd-next (48a14b9f0cc6 mfd: max8998: Fix potential NULL pointer dereference)
Merging backlight/for-backlight-next (8c03a937ca99 backlight: pwm_bl: Make of_device_ids const)
Merging battery/for-next (67bd22c09ac1 power: supply: bq27xxx: move platform driver code into bq27xxx_battery_hdq.c)
Merging omap_dss2/for-next (c456a2f30de5 video: smscufx: remove unused variable)
Merging regulator/for-next (4e1896446b8d Merge remote-tracking branches 'regulator/topic/cpcap', 'regulator/topic/dt', 'regulator/topic/fan53555', 'regulator/topic/pwm' and 'regulator/topic/qcom' into regulator-next)
Merging security/next (be6f039747e7 security: fix description of values returned by cap_inode_need_killpriv)
Merging integrity/next (fc26bd50539b IMA: update IMA policy documentation to include pcr= option)
Merging keys/keys-next (8ab2a6905b28 KEYS: Add documentation for asymmetric keyring restrictions)
Merging selinux/next (20a8d62eeff8 selinux: genheaders should fail if too many permissions are defined)
Merging tpmdd/next (e7d872bf1bc5 Documentation: tpm: add powered-while-suspended binding documentation)
Merging watchdog/master (c013b65ad8a1 watchdog: introduce watchdog_worker_should_ping helper)
Merging iommu/next (4f019dc5a68e Merge branches 'iommu/fixes', 'arm/exynos', 'arm/renesas', 'arm/rockchip', 'x86/vt-d' and 'core' into next)
Merging dwmw2-iommu/master (910170442944 iommu/vt-d: Fix PASID table allocation)
Merging vfio/next (7f56c30bd0a2 vfio: Remove unnecessary uses of vfio_container.group_lock)
Merging trivial/for-next (6fbc8798d946 tty: fix comment for __tty_alloc_driver())
Merging audit/next (739bde1f2229 selinux: remove AVC init audit log message)
Merging devicetree/for-next (b041303c3e88 Merge branch 'dt/linus' into for-next)
Merging mailbox/mailbox-for-next (25bfee16d5a3 mailbox: Introduce Qualcomm APCS IPC driver)
Merging spi/for-next (b88c58644bcb Merge remote-tracking branches 'spi/topic/stm32', 'spi/topic/sunxi', 'spi/topic/tegra' and 'spi/topic/tools' into spi-next)
Merging tip/auto-latest (69779ccbf624 Merge branch 'x86/urgent')
Merging clockevents/clockevents/next (2287d8664fe7 timers: Make the cpu base lock raw)
Merging edac/linux_next (345fb0a9a634 Merge tag 'edac_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp)
Merging edac-amd/for-next (2efdda4a4108 EDAC, cpc925, ppc4xx: Convert to using %pOF instead of full_name)
Merging irqchip/irqchip/for-next (c1ae3cfa0e89 Linux 4.11-rc1)
Merging ftrace/for-next (2e028c4fe129 ftrace: Fix uninitialized variable in match_records())
Merging rcu/rcu/next (0904659d8f09 membarrier: Expedited private command)
CONFLICT (content): Merge conflict in arch/x86/mm/tlb.c
Merging kvm/linux-next (7b5e0a4e82bf Merge branch 'kvm-ppc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc into kvm-master)
Merging kvm-arm/next (7e5a672289c9 KVM: arm/arm64: Handle hva aging while destroying the vm)
Merging kvm-mips/next (dc44abd6aad2 KVM: MIPS/Emulate: Properly implement TLBR for T&E)
Merging kvm-ppc/kvm-ppc-next (8b24e69fc47e KVM: PPC: Book3S HV: Close race with testing for signals on guest entry)
Merging kvms390/next (5091d7c8ca2d KVM: s390: Multiple Epoch Facility support)
Merging xen-tip/linux-next (e91b2b119433 xen: dont fiddle with event channel masking in suspend/resume)
Merging percpu/for-next (5e81ee3e6a79 percpu: update header to contain bitmap allocator explanation.)
Merging workqueues/for-next (5dab90af0906 Merge branch 'for-4.13-fixes' into for-next)
Merging drivers-x86/for-next (972777171f33 platform/x86: wmi: Fix error handling in acpi_wmi_init())
Merging chrome-platform/for-next (3c778a7fcfaa platform/chrome : Add myself as Maintainer)
Merging hsi/for-next (67ddd75771b6 HSI: core: Use kcalloc() in two functions)
Merging leds/for-next (c68729119f4d leds: tlc591xx: add missing of_node_put)
Merging ipmi/for-next (8c3cbb96adf6 char: ipmi: eliminate misleading print info when being probed via ACPI)
Merging driver-core/driver-core-next (1af824f085e8 Merge branch 'bind_unbind' into driver-core-next)
Merging usb/usb-next (e978e9b977b0 c67x00-hcd: constify hc_driver structures)
Merging usb-gadget/next (5771a8c08880 Linux v4.13-rc1)
Merging usb-serial/usb-next (5771a8c08880 Linux v4.13-rc1)
Merging usb-chipidea-next/ci-for-usb-next (7c3a8b81503c usb: chipidea: core: do not register extcon notifier if extcon device is not existed)
Merging phy-next/next (e7cded272612 phy: allwinner: phy-sun4i-usb: Add log when probing)
Merging tty/tty-next (065ea0a7afd6 tty: improve tty_insert_flip_char() slow path)
Merging char-misc/char-misc-next (24a81a2c2581 Merge 4.13-rc2 into char-misc-next)
Merging extcon/extcon-next (5c27036d2b05 extcon: Convert to using %pOF instead of full_name)
Merging staging/staging-next (5551ad1e9fad staging: wlan-ng: Fix the types of the hfa384x_comm_tallies_16/32 members)
Applying: Revert "staging: fsl-mc: allow the driver compile multi-arch"
Merging mux/for-next (a351e9b9fc24 Linux 4.11)
Merging slave-dma/next (d4381f3cff0b Merge branch 'topic/bcm' into next)
Merging cgroup/for-next (dba9eccd4164 Merge branch 'for-4.14' into for-next)
Merging scsi/for-next (0dbbec278e24 Merge branch 'misc' into for-next)
Merging scsi-mkp/for-next (bb9be3739281 scsi: qla2xxx: Fix remoteport disconnect for FC-NVMe)
Merging target-updates/for-next (40435d86a62f tcmu: clean up the scatter helper)
Merging target-merge/for-next-merge (2994a7518317 cxgb4: update Kconfig and Makefile)
Merging target-bva/for-next (2ea659a9ef48 Linux 4.12-rc1)
Merging libata/for-next (1fa69733bc9d Merge branch 'for-4.13-fixes' into for-next)
Merging binfmt_misc/for-next (4af75df6a410 binfmt_misc: add F option description to documentation)
Merging vhost/linux-next (cfa0ebc9d6d6 virtio-net: fix module unloading)
Merging rpmsg/for-next (5771a8c08880 Linux v4.13-rc1)
Merging gpio/for-next (8d2c6297aec9 Merge branch 'devel' into for-next)
CONFLICT (content): Merge conflict in drivers/gpio/gpio-mvebu.c
Merging pinctrl/for-next (ece5946c2eed Merge branch 'devel' into for-next)
Merging pinctrl-samsung/for-next (bbed85f45b2b pinctrl: samsung: Remove unneeded local variable initialization)
Merging pwm/for-next (5ec8c48a6235 Merge branch 'for-4.13/drivers' into for-next)
Merging dma-buf/for-next (194cad44c4e1 dma-buf/sync_file: improve Kconfig description for Sync Files)
CONFLICT (content): Merge conflict in drivers/dma-buf/Kconfig
Merging userns/for-next (64a76d0d64be signal: Fix sending signals with siginfo)
Merging ktest/for-next (f7c6401ff84a ktest: Make sure wait_for_input does honor the timeout)
Merging random/dev (72e5c740f633 random: reorder READ_ONCE() in get_random_uXX)
Merging aio/master (4c1d69950da4 fs: aio: fix the increment of aio-nr and counting against aio-max-nr)
Merging kselftest/next (f471e1fd82df selftests: sync: convert to use TAP13 ksft framework)
Merging y2038/y2038 (69973b830859 Linux 4.9)
Merging luto-misc/next (2dcd0af568b0 Linux 4.6)
Merging borntraeger/linux-next (e76d21c40bd6 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net)
Merging livepatching/for-next (26d8d1e9bb48 Merge branch 'for-4.12/upstream-fixes' into for-next)
Merging coresight/next (ee0c4a55a06c perf: cs-etm: Fix ETMv4 CONFIGR entry in perf.data file)
Merging rtc/rtc-next (2f7f1b780dd6 rtc: max8925: remove redundant check on ret)
Merging hwspinlock/for-next (bd5717a4632c hwspinlock: qcom: Correct msb in regmap_field)
Merging nvdimm/libnvdimm-for-next (bbb3be170ac2 device-dax: fix sysfs duplicate warnings)
Merging dax-misc/dax-misc (4d9a2c874667 dax: Remove i_mmap_lock protection)
Merging idr/idr-4.11 (f0f3f2d0a3e0 radix tree test suite: Specify -m32 in LDFLAGS too)
Merging kspp/for-next/kspp (152b74676664 randstruct: Enable function pointer struct detection)
Merging akpm-current/current (ad7a3f950f52 ipc: convert kern_ipc_perm.refcount from atomic_t to refcount_t)
Applying: mm: treewide: remove GFP_TEMPORARY allocation flag fix
$ git checkout -b akpm remotes/origin/akpm/master
Applying: mm: remove optimizations based on i_size in mapping writeback waits
CONFLICT (content): Merge conflict in include/linux/fs.h
Applying: fscache: fix fscache_objlist_show format processing
Applying: IB/mlx4: fix sprintf format warning
Applying: iopoll: avoid -Wint-in-bool-context warning
Applying: Kbuild: use -fshort-wchar globally
Applying: sparc64: NG4 memset 32 bits overflow
Applying: lib/crc-ccitt: add CCITT-FALSE CRC16 variant
Merging akpm/master (dfa5d8a30b13 lib/crc-ccitt: add CCITT-FALSE CRC16 variant)
Applying: Revert "mm-thp-enable-thp-migration-in-generic-path-fix"
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox