Linux-Next Archive on lore.kernel.org
 help / color / Atom feed
* linux-next: Tree for Apr 9
@ 2021-04-09 11:51 Stephen Rothwell
  2021-04-10 23:50 ` linux-next: Tree for Apr 9 (drivers/iommu/intel/pasid.c) Randy Dunlap
  2021-04-12  2:41 ` linux-next: Tree for Apr 9 (x86 boot problem) Randy Dunlap
  0 siblings, 2 replies; 14+ messages in thread
From: Stephen Rothwell @ 2021-04-09 11:51 UTC (permalink / raw)
  To: Linux Next Mailing List; +Cc: Linux Kernel Mailing List


[-- Attachment #1: Type: text/plain, Size: 40313 bytes --]

Hi all,

Changes since 20210408:

New trees: iio, iio-fixes

The arm-soc tree gained a build failure so I reverted some commits.

The bluetooth tree lost its build failure.

The drm tree gained a conflict against the drm-misc-fixes tree and also a
bad merge for which I applied a merge fix patch.

The irqchip tree lost its build failure but gained a conflict against
the arm-soc tree.

The drivers-x86 tree gained a conflict against the battery tree.

Non-merge commits (relative to Linus' tree): 10557
 9572 files changed, 526876 insertions(+), 241239 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, an allmodconfig 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 htmldocs. And finally, a simple boot test
of the powerpc pseries_le_defconfig kernel in qemu (with and without
kvm enabled).

Below is a summary of the state of the merge.

I am currently merging 337 trees (counting Linus' and 87 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 (3fb4f979b4fa Merge tag 's390-5.12-6' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux)
Merging fixes/fixes (e71ba9452f0b Linux 5.11-rc2)
Merging kbuild-current/fixes (bcbcf50f5218 kbuild: fix ld-version.sh to not be affected by locale)
Merging arc-current/for-curr (83520d62cc5a ARC: treewide: avoid the pointer addition with NULL pointer)
Merging arm-current/fixes (30e3b4f256b4 ARM: footbridge: fix PCI interrupt mapping)
Merging arm64-fixes/for-next/fixes (185f2e5f51c2 arm64: fix inline asm in load_unaligned_zeropad())
Merging arm-soc-fixes/arm/fixes (b9a9786a13ea Merge tag 'omap-for-v5.12/fixes-rc6-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes)
Merging drivers-memory-fixes/fixes (a38fd8748464 Linux 5.12-rc2)
Merging m68k-current/for-linus (a65a802aadba m68k: Fix virt_addr_valid() W=1 compiler warnings)
Merging powerpc-fixes/fixes (791f9e36599d powerpc/vdso: Make sure vdso_wrapper.o is rebuilt everytime vdso.so is rebuilt)
Merging s390-fixes/fixes (ad31a8c05196 s390/setup: use memblock_free_late() to free old stack)
Merging sparc/master (05a59d79793d Merge git://git.kernel.org:/pub/scm/linux/kernel/git/netdev/net)
Merging fscrypt-current/for-stable (d19d8d345eec fscrypt: fix inline encryption not used on new files)
Merging net/master (6494d15fd643 Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue)
Merging bpf/master (afd0be729953 libbpf: Fix potential NULL pointer dereference)
Merging ipsec/master (ef19e111337f xfrm/compat: Cleanup WARN()s that can be user-triggered)
Merging netfilter/master (fbea31808ca1 netfilter: conntrack: do not print icmpv6 as unknown via /proc)
Merging ipvs/master (fbea31808ca1 netfilter: conntrack: do not print icmpv6 as unknown via /proc)
Merging wireless-drivers/master (65db391dd874 iwlwifi: mvm: fix beacon protection checks)
Merging mac80211/master (9a6847ba1747 nl80211: fix beacon head validation)
Merging rdma-fixes/for-rc (d1c803a9ccd7 RDMA/addr: Be strict with gid size)
Merging sound-current/for-linus (c8426b2700b5 ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1)
Merging sound-asoc-fixes/for-linus (5247caa0b3b4 Merge remote-tracking branch 'asoc/for-5.12' into asoc-linus)
Merging regmap-fixes/for-linus (78d889705732 Merge remote-tracking branch 'regmap/for-5.12' into regmap-linus)
Merging regulator-fixes/for-linus (6068cc31dedd Merge remote-tracking branch 'regulator/for-5.12' into regulator-linus)
Merging spi-fixes/for-linus (f7fa12400777 Merge remote-tracking branch 'spi/for-5.12' into spi-linus)
Merging pci-current/for-linus (cf673bd0cc97 PCI: switchtec: Fix Spectre v1 vulnerability)
Merging driver-core.current/driver-core-linus (eed6e41813de driver core: Fix locking bug in deferred_probe_timeout_work_func())
Merging tty.current/tty-linus (e49d033bddf5 Linux 5.12-rc6)
Merging usb.current/usb-linus (bc2f3e4c6628 Merge tag 'thunderbolt-for-v5.12-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt into usb-linus)
Merging usb-gadget-fixes/fixes (e49d033bddf5 Linux 5.12-rc6)
Merging usb-serial-fixes/usb-linus (0d02ec6b3136 Linux 5.12-rc4)
Merging usb-chipidea-fixes/for-usb-fixes (cf97d7af2468 usb: cdnsp: Fixes issue with dequeuing requests after disabling endpoint)
Merging phy/fixes (da848f9a0e13 phy: qcom-qmp: add hbr3_hbr2 voltage and premphasis swing table)
Merging staging.current/staging-linus (e49d033bddf5 Linux 5.12-rc6)
Merging iio-fixes/fixes-togreg (e49d033bddf5 Linux 5.12-rc6)
Merging char-misc.current/char-misc-linus (e49d033bddf5 Linux 5.12-rc6)
Merging soundwire-fixes/fixes (fde5d7f27108 soundwire: bus: Fix device found flag correctly)
Merging thunderbolt-fixes/fixes (08fe7ae18570 thunderbolt: Fix off by one in tb_port_find_retimer())
Merging input-current/for-linus (56cfe6f820a6 Input: elants_i2c - drop zero-checking of ABS_MT_TOUCH_MAJOR resolution)
Merging crypto-current/master (0de9dc80625b hwrng: timeriomem - Use device-managed registration API)
Merging ide/master (6800cd8cbc6e ide-acpi: use %*ph to print small buffer)
Merging vfio-fixes/for-linus (e0146a108ce4 vfio/nvlink: Add missing SPAPR_TCE_IOMMU depends)
Merging kselftest-fixes/fixes (a38fd8748464 Linux 5.12-rc2)
Merging modules-fixes/modules-linus (57baec7b1b04 scripts/nsdeps: make sure to pass all module source files to spatch)
Merging dmaengine-fixes/fixes (868833fbffbe dmaengine: xilinx: dpdma: Fix race condition in done IRQ)
Merging backlight-fixes/for-backlight-fixes (a38fd8748464 Linux 5.12-rc2)
Merging mtd-fixes/mtd/fixes (2fb164f0ce95 mtd: rawnand: mtk: Fix WAITRDY break condition and timeout)
Merging mfd-fixes/for-mfd-fixes (a61f4661fba4 mfd: intel_quark_i2c_gpio: Revert "Constify static struct resources")
Merging v4l-dvb-fixes/fixes (0e37b4fa67f5 media: coda: fix macroblocks count control usage)
Merging reset-fixes/reset/fixes (b460e0a9e240 reset: intel: add unspecified HAS_IOMEM dependency)
Merging mips-fixes/mips-fixes (9ae31e2ab293 MIPS: kernel: setup.c: fix compilation error)
Merging at91-fixes/at91-fixes (2c69c8a1736e ARM: dts: at91: sam9x60: fix mux-mask to match product's datasheet)
Merging omap-fixes/fixes (fc85dc42a384 ARM: OMAP2+: Fix uninitialized sr_inst)
Merging kvm-fixes/master (315f02c60d94 KVM: x86/mmu: preserve pending TLB flush across calls to kvm_tdp_mmu_zap_sp)
Merging kvms390-fixes/master (735931f9a51a MAINTAINERS: add uv.c also to KVM/s390)
Merging hwmon-fixes/hwmon (a38fd8748464 Linux 5.12-rc2)
Merging nvdimm-fixes/libnvdimm-fixes (392be0bda730 cxl/mem: Force array size of mem_commands[] to CXL_MEM_COMMAND_ID_MAX)
Merging btrfs-fixes/next-fixes (3b7ec4d1b5cb Merge branch 'misc-5.12' into next-fixes)
Merging vfs-fixes/fixes (4f0ed93fb92d LOOKUP_MOUNTPOINT: we are cleaning "jumped" flag too late)
Merging dma-mapping-fixes/for-linus (d17405d52bac dma-mapping: benchmark: fix kernel crash when dma_map_single fails)
Merging i3c-fixes/i3c/fixes (fe07bfda2fb9 Linux 5.12-rc1)
Merging drivers-x86-fixes/fixes (a3790a8a94fc platform/x86: intel-hid: Fix spurious wakeups caused by tablet-mode events during suspend)
Merging samsung-krzk-fixes/fixes (a38fd8748464 Linux 5.12-rc2)
Merging pinctrl-samsung-fixes/fixes (a38fd8748464 Linux 5.12-rc2)
Merging devicetree-fixes/dt/linus (48d499bd8919 of: unittest: overlay: ensure proper alignment of copied FDT)
Merging scsi-fixes/fixes (176ddd89171d scsi: libsas: Reset num_scatter if libata marks qc as NODATA)
Merging drm-fixes/drm-fixes (2bbbb07da802 Merge tag 'amd-drm-fixes-5.12-2021-04-08' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes)
Merging amdgpu-fixes/drm-fixes (2c409ba81be2 drm/radeon: fix si_enable_smc_cac() failed issue)
Merging drm-intel-fixes/for-linux-next-fixes (b6a37a93c9ac drm/i915: Fix invalid access to ACPI _DSM objects)
Merging mmc-fixes/fixes (a5e13c6df0e4 Linux 5.12-rc5)
Merging rtc-fixes/rtc-fixes (bd33335aa93d rtc: cmos: Disable irq around direct invocation of cmos_interrupt())
Merging gnss-fixes/gnss-linus (a38fd8748464 Linux 5.12-rc2)
Merging hyperv-fixes/hyperv-fixes (37df9f3fedb6 video: hyperv_fb: Fix a double free in hvfb_probe)
Merging soc-fsl-fixes/fix (2663b3388551 soc: fsl: dpio: Get the cpumask through cpumask_of(cpu))
Merging risc-v-fixes/fixes (1adbc2941eee riscv: Make NUMA depend on MMU)
Merging pidfd-fixes/fixes (03ba0fe4d09f file: simplify logic in __close_range())
Merging fpga-fixes/fixes (2e8496f31d0b firmware: stratix10-svc: reset COMMAND_RECONFIG_FLAG_PARTIAL to 0)
Merging spdx/spdx-linus (e49d033bddf5 Linux 5.12-rc6)
Merging gpio-brgl-fixes/gpio/for-current (23cf00ddd2e1 gpio: sysfs: Obey valid_mask)
Merging gpio-intel-fixes/fixes (b41ba2ec54a7 gpiolib: Read "gpio-line-names" from a firmware node)
Merging pinctrl-intel-fixes/fixes (39c1f1bd8adf pinctrl: intel: check REVID register value for device presence)
Merging erofs-fixes/fixes (9f377622a484 erofs: fix bio->bi_max_vecs behavior change)
Merging integrity-fixes/fixes (843385694721 evm: Fix a small race in init_desc())
Merging kunit-fixes/kunit-fixes (7fd53f41f771 kunit: tool: Disable PAGE_POISONING under --alltests)
Merging ubifs-fixes/fixes (78c7d49f55d8 ubifs: journal: Make sure to not dirty twice for auth nodes)
Merging memblock-fixes/fixes (17cbe03872be mm/memblock: Fix typo in comment of memblock_phys_alloc_try_nid())
Merging cel-fixes/for-rc (e49d033bddf5 Linux 5.12-rc6)
Merging drm-misc-fixes/for-linux-next-fixes (eb9dfdd1ed40 drm/vc4: crtc: Reduce PV fifo threshold on hvs4)
Merging kspp-gustavo/for-next/kspp (36f9ff9e03de lib: Fix fall-through warnings for Clang)
Merging kbuild/for-next (601ce994fc71 Merge branch 'kbuild' into for-next)
Merging compiler-attributes/compiler-attributes (19c329f68089 Linux 5.11-rc4)
Merging dma-mapping/for-next (a7f3d3d3600c dma-mapping: add unlikely hint to error path in dma_mapping_error)
Merging asm-generic/master (38489db09b10 Merge branch 'asm-generic-fixes' into asm-generic)
Merging arc/for-next (def9d2780727 Linux 5.5-rc7)
Merging arm/for-next (0ae6d1f52670 Merge branches 'fixes' and 'misc' into for-next)
Merging arm64/for-next/core (54cf7c56e422 Merge branches 'for-next/misc', 'for-next/kselftest', 'for-next/xntable', 'for-next/vdso', 'for-next/fiq', 'for-next/epan', 'for-next/kasan-vmalloc', 'for-next/fgt-boot-init' and 'for-next/vhe-only' into for-next/core)
CONFLICT (content): Merge conflict in arch/arm64/include/asm/cpucaps.h
Merging arm-perf/for-next/perf (2c2e21e78a94 arm64: perf: Remove redundant initialization in perf_event.c)
Merging arm-soc/for-next (4b9a8b10ed8a soc: document merges)
Merging actions/for-next (444d018d8d38 ARM: dts: owl-s500-roseapplepi: Add ATC2603C PMIC)
Merging amlogic/for-next (b8d408329947 Merge branch 'v5.13/dt64' into tmp/aml-rebuild)
Merging aspeed/for-next (f9ef8dd22bdd ARM: dts: aspeed: Add Rainier 1S4U machine)
Merging at91/at91-next (969bbb49f36c Merge branch 'at91-dt' into at91-next)
Merging drivers-memory/for-next (8568dec31b2e Merge branch 'mem-ctrl-next' into for-next)
Merging imx-mxs/for-next (1f0f76f795d5 Merge branch 'imx/defconfig' into for-next)
Merging keystone/next (9d2e21ed98a2 Merge branch 'for_5.12/drivers-soc' into next)
Merging mediatek/for-next (068acd3c4e4c Merge branch 'v5.12-next/dts64-2' into for-next)
Merging mvebu/for-next (79e93f9dc81a Merge branch 'mvebu/dt64' into mvebu/for-next)
Merging omap/for-next (44e97f6fb29b Merge branch 'fixes' into for-next)
Merging qcom/for-next (a9fe8ca17dff Merge branches 'arm64-defconfig-for-5.13', 'arm64-for-5.13', 'drivers-for-5.13' and 'dts-for-5.13' into for-next)
Merging raspberrypi/for-next (fbdcf1d20126 ARM: dts: bcm2711: Add the CEC interrupt controller)
CONFLICT (content): Merge conflict in arch/arm/boot/dts/bcm2711.dtsi
Merging realtek/for-next (486f29df6941 Merge branch 'v5.8/dt' into next)
Merging renesas/next (e9903a1559e0 Merge branch 'renesas-arm-dt-for-v5.13' into renesas-next)
Merging reset/reset/next (d4e4dffec50b reset: oxnas: replace file name with short description)
Merging rockchip/for-next (3b6c3c12b77c Merge branch 'v5.13-armsoc/dts64' into for-next)
Merging samsung-krzk/for-next (8a4d4cd15c39 Merge branch 'next/soc' into for-next)
Merging scmi/for-linux-next (4c2443962313 Merge tag 'scmi-updates-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into for-linux-next)
Merging stm32/stm32-next (6ed9269265e1 ARM: dts: stm32: Add PTP clock to Ethernet controller)
Merging sunxi/sunxi/for-next (9fa021aa01fd Merge tags 'sunxi-dt-for-5.13-1' and 'sunxi-fixes-for-5.12' into sunxi/for-next)
Merging tegra/for-next (93b9ea9ca307 Merge branch for-5.13/arm64/dt into for-next)
Merging ti-k3/ti-k3-next (1e3d655fe7b4 Merge branch 'ti-k3-config-next' into ti-k3-next)
Merging ti-k3-new/ti-k3-next (112e5934ff3a arm64: dts: ti: k3-am64-main: Fix ospi compatible)
Merging clk/clk-next (cd57ec7b7315 Merge branch 'clk-zynq' into clk-next)
Merging clk-imx/for-next (054ef44ea3ef clk: imx: Reference preceded by free)
Merging clk-renesas/renesas-clk (f2fb4fe62390 clk: renesas: Zero init clk_init_data)
Merging clk-samsung/for-next (7f32917642c7 clk: samsung: Remove redundant dev_err calls)
Merging csky/linux-next (74cdb2664477 csky: Fixup typos)
Merging h8300/h8300-next (6e5e55227c95 Merge tag 'v5.11' into h8300-next)
Merging m68k/for-next (7accea0c95a1 m68k: fpsp040,ifpsp060: Remove meaningless EXTRA_LDFLAGS)
Merging m68knommu/for-next (9116e156f714 m68k: fix flatmem memory model setup)
Merging microblaze/next (bbcee72c2f7a microblaze: Fix a typo)
Merging mips/mips-next (7cba4128c2c6 MIPS: Fix new sparse warnings)
Merging nds32/next (40e0dd851e7b nds32: Fix bogus reference to <asm/procinfo.h>)
Merging nios2/for-next (7f7bc20bc41a nios2: Don't use _end for calculating min_low_pfn)
Merging openrisc/for-next (1683f7de65db soc: litex: Remove duplicated header file inclusion)
Merging parisc-hd/for-next (711d090f0e02 parisc: syscalls: switch to generic syscallhdr.sh)
Merging powerpc/next (c46bbf5d2def powerpc/32: Remove powerpc specific definition of 'ptrdiff_t')
Merging fsl/next (a76bea0287ce powerpc/kmcent2: add ranges to the pci bridges)
Merging soc-fsl/next (242b0b398ccd soc: fsl: enable acpi support in RCPM driver)
Merging risc-v/for-next (7d0bc44bd0ea kbuild: buildtar: add riscv support)
CONFLICT (content): Merge conflict in arch/riscv/mm/kasan_init.c
Merging s390/for-next (46c48eb6d500 Merge branch 'features' into for-next)
Merging sh/for-next (2882b7626f49 sh: kernel: traps: remove unused variable)
Merging sparc-next/master (dd0d718152e4 Merge tag 'spi-fix-v5.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi)
Merging uml/linux-next (ddad5187fc2a um: irq.h: include <asm-generic/irq.h>)
Merging xtensa/xtensa-for-next (6a8eb99e130f xtensa: ISS: add GDBIO implementation to semihosting interface)
Merging pidfd/for-next (8fac44cbbaa2 Merge branch 'fs/idmapped_mounts/helpers' into for-next)
Merging fscrypt/master (a14d0b676491 fscrypt: allow deleting files with unsupported encryption policy)
Merging fscache/fscache-next (3b541757ad58 afs: Use the netfs_write_begin() helper)
Merging afs/afs-next (8409f67b6437 afs: Adjust the fileserver rotation algorithm to reprobe/retry more quickly)
Merging btrfs/for-next (3c1750120613 Merge branch 'for-next-next-v5.12-20210406' into for-next-20210406)
Merging ceph/master (558b4510f622 ceph: defer flushing the capsnap if the Fb is used)
Merging cifs/for-next (0fc9322ab5e1 cifs: escape spaces in share names)
Merging cifsd/cifsd-for-next (bc7f2fa87b28 Merge pull request #36 from namjaejeon/cifsd-for-next)
Merging configfs/for-next (14fbbc829772 configfs: fix a use-after-free in __configfs_open_file)
Merging ecryptfs/next (902af369942f ecryptfs: use DEFINE_MUTEX() for mutex lock)
Merging erofs/dev (df7bb621ce5a erofs: enable big pcluster feature)
Merging exfat/dev (f9b23f1f6ca0 exfat: speed up iterate/lookup by fixing start point of traversing cluster chain)
Merging ext3/for_next (652a066ee959 Pull kmap_local ext2 conversion from Ira Weiny.)
Merging ext4/dev (64395d950bc4 ext4: initialize ret to suppress smatch warning)
Merging f2fs/dev (e8851507996d f2fs: modify open brace '{' following function definitions)
Merging fsverity/fsverity (07c99001312c fs-verity: support reading signature with ioctl)
Merging fuse/for-next (0d02ec6b3136 Linux 5.12-rc4)
Merging jfs/jfs-next (b462cecfa323 fs: Fix typo issue)
Merging nfs/linux-next (e49d033bddf5 Linux 5.12-rc6)
Merging nfs-anna/linux-next (4f8be1f53bf6 nfs: we don't support removing system.nfs4_acl)
Merging nfsd/nfsd-next (c3213d260a23 SUNRPC: Fix oops in the rpc_xdr_buf event class)
Merging cel/for-next (b73ac6808b0f NFSD: Use DEFINE_SPINLOCK() for spinlock)
Merging orangefs/for-next (c1048828c3db orangefs: add splice file operations)
Merging overlayfs/overlayfs-next (d46b7cd68336 ovl: plumb through flush method)
Merging ubifs/next (42119dbe571e ubifs: Fix error return code in alloc_wbufs())
Merging v9fs/9p-next (f8b139e2f241 fs: 9p: fix v9fs_file_open writeback fid error check)
Merging xfs/for-next (25dfa65f8149 xfs: fix xfs_trans slab cache name)
Merging zonefs/for-next (6980d29ce4da zonefs: fix to update .i_wr_refcnt correctly in zonefs_open_zone())
Merging iomap/iomap-for-next (ad89b66cbad1 iomap: improve the warnings from iomap_swapfile_activate)
Merging djw-vfs/vfs-for-next (9b8523423b23 vfs: move __sb_{start,end}_write* to fs.h)
Merging file-locks/locks-next (b8da9b10e26c fs/locks: print full locks information)
Merging vfs/for-next (f85ebc25fa88 Merge branch 'work.misc' into for-next)
CONFLICT (content): Merge conflict in fs/cifs/file.c
Merging printk/for-next (94a67011a225 Merge branch 'for-5.13' into for-next)
Merging pci/next (e9d14c046bcf Merge branch 'remotes/lorenzo/pci/misc')
Merging pstore/for-next/pstore (9d843e8fafc7 pstore: Add mem_type property DT parsing support)
Merging hid/for-next (993e3887a02d Merge branch 'for-5.13/warnings' into for-next)
Merging i2c/i2c/for-next (9b5fe2192ce1 Merge branch 'i2c/for-5.13' into i2c/for-next)
Merging i3c/i3c/next (e43d5c7c3c34 dt-bindings: i3c: Fix silvaco,i3c-master-v1 compatible string)
Merging dmi/dmi-for-next (3cb4d29a2633 MAINTAINERS: The DMI/SMBIOS tree has moved)
Merging hwmon-staging/hwmon-next (02bb6badc9fb hwmon: (mlxreg-fan) Add support for fan drawers capability and present registers)
Merging jc_docs/docs-next (dfc7927d4ee0 doc/zh_CN: Clean zh_CN translation maintainer)
Merging v4l-dvb/master (c1c1d437b1f0 MAINTAINERS: update ovti,ov2680.yaml reference)
CONFLICT (content): Merge conflict in MAINTAINERS
Merging v4l-dvb-next/master (1e28eed17697 Linux 5.12-rc3)
Merging fbdev/fbdev-for-next (732146a3f1dc video: fbdev: imxfb: fix a typo in imxfb_probe())
Merging pm/linux-next (ea176976603a Merge branches 'pm-docs', 'pm-core' and 'pm-cpuidle' into linux-next)
Merging cpufreq-arm/cpufreq/arm/linux-next (c3135d28a1e0 cpufreq: dt: dev_pm_opp_of_cpumask_add_table() may return -EPROBE_DEFER)
Merging cpupower/cpupower (a38fd8748464 Linux 5.12-rc2)
Merging devfreq/devfreq-next (0a7dc8318c28 PM / devfreq: imx8m-ddrc: Remove unneeded of_match_ptr())
Merging opp/opp/linux-next (a8bb0e872bfb memory: samsung: exynos5422-dmc: Convert to use resource-managed OPP API)
Merging thermal/thermal/linux-next (dd2bbec12b31 thermal/drivers/bcm2835: Remove redundant dev_err call in bcm2835_thermal_probe())
Merging thermal-rzhang/next (54ecb8f7028c Linux 5.4-rc1)
Merging thermal-soc/next (6c375eccded4 thermal: db8500: Rewrite to be a pure OF sensor)
Merging ieee1394/for-next (67f8e65e4fc1 firewire: net: remove set but not used variable 'guid')
Merging dlm/next (2fd8db2dd05d fs: dlm: fix missing unlock on error in accept_from_sock())
Merging swiotlb/linux-next (fcf044891c84 ARM: Qualify enabling of swiotlb_init())
Merging rdma/for-next (7d8f346504eb RDMA/core: Make the wc status prompt message clearer)
Merging net-next/master (4438669eb703 Merge tag 'for-net-next-2021-04-08' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next)
CONFLICT (content): Merge conflict in net/tipc/crypto.c
CONFLICT (content): Merge conflict in net/nfc/nci/uart.c
CONFLICT (content): Merge conflict in net/core/skmsg.c
CONFLICT (content): Merge conflict in include/linux/skmsg.h
CONFLICT (content): Merge conflict in include/linux/ethtool.h
CONFLICT (content): Merge conflict in include/linux/bpf.h
CONFLICT (content): Merge conflict in drivers/net/ethernet/mellanox/mlx5/core/en_main.c
CONFLICT (content): Merge conflict in MAINTAINERS
Merging bpf-next/for-next (957dca3df624 bpf, inode: Remove second initialization of the bpf_preload_lock)
Merging ipsec-next/master (6ad2dd6c14d3 ipv6: fix clang Wformat warning)
Merging mlx5-next/mlx5-next (e71b75f73763 net/mlx5: Implement sriov_get_vf_total_msix/count() callbacks)
Merging netfilter-next/master (3cd52c1e32fe net: fealnx: use module_pci_driver to simplify the code)
Merging ipvs-next/master (db3685b4046f net: remove obsolete members from struct net)
Merging wireless-drivers-next/master (13ce240a932f rtw88: 8822c: support FW crash dump when FW crash)
Merging bluetooth/master (a61d67188f29 Bluetooth: Allow Microsoft extension to indicate curve validation)
Merging mac80211-next/master (0750cfd8b7fd nl80211: better document CMD_ROAM behavior)
Merging gfs2/for-next (a4122a95ce6a gfs2: Make gfs2_setattr_simple static)
Merging mtd/mtd/next (28f0be44b263 include: linux: mtd: Remove duplicate include of nand.h)
Merging nand/nand/next (32cbc7cb70b0 mtd: rawnand: qcom: Use dma_mapping_error() for error check)
Merging spi-nor/spi-nor/next (b206b82d1726 mtd: spi-nor: winbond: add OTP support to w25q32fw/jw)
Merging crypto/master (059c5342812c crypto: hisilicon/sec - Fixes AES algorithm mode parameter problem)
Merging drm/drm-next (9c0fed84d575 Merge tag 'drm-intel-next-2021-04-01' of git://anongit.freedesktop.org/drm/drm-intel into drm-next)
CONFLICT (content): Merge conflict in drivers/gpu/drm/vc4/vc4_plane.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/omapdrm/dss/dsi.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_runtime_pm.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/display/intel_dp_link_training.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
Applying: merge fix for "drm: Switch to %p4cc format modifier"
Applying: drm: fix up bad merge of intel_dp_reset_lttpr_common_caps()
Merging drm-misc/for-linux-next (9c0fed84d575 Merge tag 'drm-intel-next-2021-04-01' of git://anongit.freedesktop.org/drm/drm-intel into drm-next)
Merging amdgpu/drm-next (6504048e0b39 drm/amdgpu/smu7: fix CAC setting on TOPAZ)
Merging drm-intel/for-linux-next (f99b805fb941 drm/i915: Don't zero out the Y plane's watermarks)
Merging drm-tegra/drm/tegra/for-next (0265531f0897 drm/tegra: sor: Fully initialize SOR before registration)
Merging drm-msm/msm-next (0ba17e7a5548 drm/msm: add compatibles for sm8150/sm8250 display)
Merging imx-drm/imx-drm/next (74181df8c6db drm/imx: ipuv3-plane: Remove two unnecessary export symbols)
CONFLICT (content): Merge conflict in drivers/gpu/drm/imx/ipuv3-plane.c
Merging etnaviv/etnaviv/next (7d614ab2f205 drm/etnaviv: fix NULL check before some freeing functions is not needed)
Merging regmap/for-next (ccac12acc0c0 Merge remote-tracking branch 'regmap/for-5.13' into regmap-next)
Merging sound/for-next (66c6d1ef86ff ALSA: control: Add memory consumption limit to user controls)
Merging sound-asoc/for-next (d965e63e98ee Merge remote-tracking branch 'asoc/for-5.13' into asoc-next)
Merging modules/modules-next (33121347fb1c module: treat exit sections the same as init sections when !CONFIG_MODULE_UNLOAD)
Merging input/next (2531fdbf8bfc Input: gpio-keys - fix crash when disabliing GPIO-less buttons)
Merging block/for-next (cc2234bec65c Merge branch 'for-5.13/io_uring' into for-next)
Merging device-mapper/for-next (db7b93e38106 dm integrity: add the "reset_recalculate" feature flag)
Merging pcmcia/pcmcia-next (e9d503fef7da pcmcia: rsrc_nonstatic: Fix call-back function as reference formatting)
Merging mmc/next (2970134b9278 mmc: sdhci-pci: Fix initialization of some SD cards for Intel BYT-based controllers)
Merging mfd/for-mfd-next (43e72121b5f6 mfd: intel_quark_i2c_gpio: Don't play dirty trick with const)
Merging backlight/for-backlight-next (225be60f3853 dt-bindings: backlight: qcom-wled: Add PMI8994 compatible)
Merging battery/for-next (68ae256945d2 power: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove())
Merging regulator/for-next (dc6c17ce1886 Merge remote-tracking branch 'regulator/for-5.13' into regulator-next)
Merging security/next-testing (b0ccf48b958e Merge branch 'landlock_lsm_v33' into next-testing)
CONFLICT (content): Merge conflict in include/uapi/asm-generic/unistd.h
CONFLICT (content): Merge conflict in arch/xtensa/kernel/syscalls/syscall.tbl
CONFLICT (content): Merge conflict in arch/x86/entry/syscalls/syscall_64.tbl
CONFLICT (content): Merge conflict in arch/x86/entry/syscalls/syscall_32.tbl
CONFLICT (content): Merge conflict in arch/sparc/kernel/syscalls/syscall.tbl
CONFLICT (content): Merge conflict in arch/sh/kernel/syscalls/syscall.tbl
CONFLICT (content): Merge conflict in arch/s390/kernel/syscalls/syscall.tbl
CONFLICT (content): Merge conflict in arch/powerpc/kernel/syscalls/syscall.tbl
CONFLICT (content): Merge conflict in arch/parisc/kernel/syscalls/syscall.tbl
CONFLICT (content): Merge conflict in arch/mips/kernel/syscalls/syscall_o32.tbl
CONFLICT (content): Merge conflict in arch/mips/kernel/syscalls/syscall_n64.tbl
CONFLICT (content): Merge conflict in arch/mips/kernel/syscalls/syscall_n32.tbl
CONFLICT (content): Merge conflict in arch/microblaze/kernel/syscalls/syscall.tbl
CONFLICT (content): Merge conflict in arch/m68k/kernel/syscalls/syscall.tbl
CONFLICT (content): Merge conflict in arch/ia64/kernel/syscalls/syscall.tbl
CONFLICT (content): Merge conflict in arch/arm64/include/asm/unistd32.h
CONFLICT (content): Merge conflict in arch/arm64/include/asm/unistd.h
CONFLICT (content): Merge conflict in arch/arm/tools/syscall.tbl
CONFLICT (content): Merge conflict in arch/alpha/kernel/syscalls/syscall.tbl
Merging apparmor/apparmor-next (d108370c644b apparmor: fix error check)
Merging integrity/next-integrity (5d5ef1af839d Merge branch 'ima-module-signing' into next-integrity)
Merging keys/keys-next (e377c31f788f integrity: Load mokx variables into the blacklist keyring)
CONFLICT (content): Merge conflict in certs/system_keyring.c
Merging safesetid/safesetid-next (03ca0ec13892 LSM: SafeSetID: Fix warnings reported by test bot)
Merging selinux/next (1fb057dcde11 smack: differentiate between subjective and objective task credentials)
Merging smack/next (7ef4c19d245f smackfs: restrict bytes count in smackfs write functions)
Merging tomoyo/master (5dc33592e955 lockdep: Allow tuning tracing capacity constants.)
Merging tpmdd/next (8b12a62a4e3e Merge tag 'drm-fixes-2021-03-19' of git://anongit.freedesktop.org/drm/drm)
Merging watchdog/master (1e28eed17697 Linux 5.12-rc3)
Merging iommu/next (962538297ffb Merge branches 'iommu/fixes', 'arm/mediatek', 'arm/smmu', 'unisoc', 'x86/vt-d', 'x86/amd' and 'core' into next)
Merging audit/next (b75d8f38bcc9 audit: drop /proc/PID/loginuid documentation Format field)
Merging devicetree/for-next (56ddc4cd4c8f docs: dt: update writing-schema.rst references)
Merging mailbox/mailbox-for-next (6b50df2b8c20 mailbox: arm_mhuv2: Skip calling kfree() with invalid pointer)
Merging spi/for-next (9cd38950dce8 Merge remote-tracking branch 'spi/for-5.13' into spi-next)
Merging tip/auto-latest (e571028ea527 Merge branch 'core/entry')
Applying: x86: fix up for "bpf: Use NOP_ATOMIC5 instead of emit_nops(&prog, 5) for BPF_TRAMP_F_CALL_ORIG"
Merging clockevents/timers/drivers/next (8120891105ba dt-bindings: timer: nuvoton,npcm7xx: Add wpcm450-timer)
Merging edac/edac-for-next (faf042d15093 Merge branch 'edac-amd64' into edac-for-next)
Merging irqchip/irq/irqchip-next (94bc94209a66 irqchip/wpcm450: Drop COMPILE_TEST)
CONFLICT (content): Merge conflict in drivers/irqchip/Makefile
CONFLICT (content): Merge conflict in drivers/irqchip/Kconfig
Merging ftrace/for-next (ceaaa12904df ftrace: Simplify the calculation of page number for ftrace_page->records some more)
CONFLICT (content): Merge conflict in arch/x86/kernel/kprobes/ftrace.c
Merging rcu/rcu/next (420d9384a0b9 rcu: Reject RCU_LOCKDEP_WARN() false positives)
Merging kvm/next (657f1d86a38e Merge branch 'kvm-tdp-fix-rcu' into HEAD)
CONFLICT (content): Merge conflict in arch/x86/kvm/svm/nested.c
Merging kvm-arm/next (b7fc78d44c5a Merge remote-tracking branch 'arm64/for-next/vhe-only' into kvmarm-master/next)
Merging kvm-ppc/kvm-ppc-next (72476aaa4691 KVM: PPC: Book3S HV: Fix host radix SLB optimisation with hash guests)
Merging kvms390/next (c3171e94cc1c KVM: s390: VSIE: fix MVPG handling for prefixing and MSO)
Merging xen-tip/linux-next (d120198bd5ff xen/evtchn: Change irq_info lock to raw_spinlock_t)
Merging percpu/for-next (3e5fc25ebb24 Merge branch 'for-5.12-fixes' into for-next)
Merging workqueues/for-next (89e28ce60cb6 workqueue/watchdog: Make unbound workqueues aware of touch_softlockup_watchdog() 84;0;0c84;0;0c There are two workqueue-specific watchdog timestamps:)
Merging drivers-x86/for-next (507cf5a2f1e2 platform/surface: aggregator: move to use request_irq by IRQF_NO_AUTOEN flag)
CONFLICT (content): Merge conflict in drivers/platform/x86/thinkpad_acpi.c
CONFLICT (content): Merge conflict in MAINTAINERS
Merging chrome-platform/for-next (c6e939c63c80 platform/chrome: cros_ec_typec: fix clang -Wformat warning)
Merging hsi/for-next (aa57e77b3d28 HSI: Fix PM usage counter unbalance in ssi_hw_init)
Merging leds/for-next (d9dfac5419d0 leds: rt4505: Add support for Richtek RT4505 flash LED controller)
Merging ipmi/for-next (07cbd87b0416 ipmi_si: Join string literals back)
Merging driver-core/driver-core-next (c2f3f755f5c7 Revert "driver core: platform: Make platform_get_irq_optional() optional")
CONFLICT (content): Merge conflict in drivers/of/property.c
Merging usb/usb-next (e9fcb07704fc xhci: prevent double-fetch of transfer and transfer event TRBs)
Merging usb-gadget/next (e49d033bddf5 Linux 5.12-rc6)
Merging usb-serial/usb-next (f8edbd518654 USB: serial: io_edgeport: drop unused definitions)
Merging usb-chipidea-next/for-usb-next (df4aed23d67d usb: cdnsp: remove redundant initialization of variable ret)
CONFLICT (content): Merge conflict in drivers/usb/typec/tipd/core.c
CONFLICT (content): Merge conflict in drivers/usb/dwc3/gadget.c
Merging tty/tty-next (88d8cb7b5f21 tty: synclink_gt: drop redundant tty-port initialisation)
Merging char-misc/char-misc-next (b195b20b7145 Merge tag 'extcon-next-for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next)
CONFLICT (content): Merge conflict in drivers/phy/qualcomm/phy-qcom-qmp.c
Merging extcon/extcon-next (7b1222b224af extcon: qcom-spmi: Add support for VBUS detection)
Merging phy-next/next (cbc336c09b6d phy: fix resource_size.cocci warnings)
Merging soundwire/next (14968dd36a50 soundwire: intel_init: test link->cdns)
Merging thunderbolt/next (2e7a5b3e2236 thunderbolt: Unlock on error path in tb_domain_add())
Merging vfio/next (6a2a235aa627 Merge branches 'v5.13/vfio/embed-vfio_device', 'v5.13/vfio/misc' and 'v5.13/vfio/nvlink' into v5.13/vfio/next)
Merging staging/staging-next (4e35b91390fc staging: rtl8723bs: remove extra indent)
CONFLICT (content): Merge conflict in drivers/iio/common/scmi_sensors/scmi_iio.c
Applying: iio: adc: merge fix for "spi: core: remove 'delay_usecs' field from spi_transfer"
Merging iio/togreg (6470a8206a10 Merge tag 'iio-for-5.13b-take2' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next)
Merging mux/for-next (3516bd729358 Merge tag 's390-5.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux)
Merging icc/icc-next (c1de07884f2b Merge branch 'icc-sm8350' into icc-next)
Merging dmaengine/next (84b0aa2e0d91 dmaengine: dw-edma: Add pcim_iomap_table return check)
Merging cgroup/for-next (dd3f4e4972f1 cgroup: misc: mark dummy misc_cg_res_total_usage() static inline)
Merging scsi/for-next (bce99128eaf7 Merge branch 'misc' into for-next)
CONFLICT (content): Merge conflict in drivers/target/iscsi/iscsi_target.c
Merging scsi-mkp/for-next (857a80bbd732 scsi: libsas: Clean up whitespace)
CONFLICT (content): Merge conflict in drivers/scsi/ufs/ufshcd.c
Merging vhost/linux-next (654a60381c6a vdpa: introduce virtio pci driver)
Merging rpmsg/for-next (2c2564b9d64d Merge branches 'hwspinlock-next', 'rpmsg-next' and 'rproc-next' into for-next)
Merging gpio/for-next (7ac554888233 MAINTAINERS: Remove reference to non-existing file)
Merging gpio-brgl/gpio/for-next (e1b7033ecdac Merge tag 'intel-gpio-v5.13-1' of gitolite.kernel.org:pub/scm/linux/kernel/git/andy/linux-gpio-intel into gpio/for-next)
Merging gpio-intel/for-next (058459043e71 gpio: ich: Switch to be dependent on LPC_ICH)
Merging pinctrl/for-next (e36b61872bdf Merge branch 'devel' into for-next)
Merging pinctrl-intel/for-next (5b613df3f499 pinctrl: intel: No need to disable IRQs in the handler)
Merging pinctrl-renesas/renesas-pinctrl (61232cd6efca pinctrl: renesas: r8a7791: Add bias pinconf support)
Merging pinctrl-samsung/for-next (a38fd8748464 Linux 5.12-rc2)
Merging pwm/for-next (9666cec380d6 pwm: Drop function pwmchip_add_with_polarity())
Merging userns/for-next (95ebabde382c capabilities: Don't allow writing ambiguous v3 file capabilities)
Merging ktest/for-next (170f4869e662 ktest.pl: Fix the logic for truncating the size of the log file for email)
Merging random/dev (ab9a7e27044b random: avoid warnings for !CONFIG_NUMA builds)
Merging kselftest/next (e75074781f17 selftests/resctrl: Change a few printed messages)
Merging y2038/y2038 (c4e71212a245 Revert "drm/etnaviv: reject timeouts with tv_nsec >= NSEC_PER_SEC")
Merging livepatching/for-next (c150bbbb1731 Merge branch 'for-5.13/signal' into for-next)
Merging coresight/next (1efbcec2ef8c coresight: cti: Reduce scope for the variable “cs_fwnode” in cti_plat_create_connection())
Merging rtc/rtc-next (8d69f62fddf6 rtc: rx6110: add ACPI bindings to I2C)
Merging nvdimm/libnvdimm-for-next (30c10d32152d Merge branch 'for-5.12/cxl' into libnvdimm-for-next)
Merging at24/at24/for-next (fe07bfda2fb9 Linux 5.12-rc1)
Merging ntb/ntb-next (5c8fe583cce5 Linux 5.11-rc1)
Merging seccomp/for-next/seccomp (a3fc712c5b37 seccomp: Fix "cacheable" typo in comments)
Merging kspp/for-next/kspp (f4648c741299 Merge branch 'for-next/overflow' into for-next/kspp)
Merging gnss/gnss-next (994adcbd3714 gnss: drop stray semicolons)
Merging fsi/next (4a851d714ead fsi: aspeed: Support CFAM reset GPIO)
Merging slimbus/for-next (0320ed0a8236 drivers: slimbus: Fix word resposible -> responsible in slimbus.h)
CONFLICT (content): Merge conflict in drivers/nvmem/Makefile
CONFLICT (content): Merge conflict in drivers/nvmem/Kconfig
Merging nvmem/for-next (9e1a5761c274 nvmem: qfprom: Add support for fuse blowing on sc7280)
Merging xarray/main (2c7e57a02708 idr test suite: Improve reporting from idr_find_test_1)
Merging hyperv/hyperv-next (0975694befc0 Drivers: hv: vmbus: Remove unused linux/version.h header)
CONFLICT (content): Merge conflict in arch/x86/include/asm/mshyperv.h
Applying: fix up for "x86/paravirt: Switch time pvops functions to use static_call()"
Merging auxdisplay/auxdisplay (701454bce906 auxdisplay: Remove in_interrupt() usage.)
Merging kgdb/kgdb/for-next (2bbd9b0f2b4e kernel: debug: Ordinary typo fixes in the file gdbstub.c)
Merging hmm/hmm (fe07bfda2fb9 Linux 5.12-rc1)
Merging fpga/for-next (a78a51a851ed fpga: dfl: pci: add DID for D5005 PAC cards)
Merging kunit/test (a38fd8748464 Linux 5.12-rc2)
Merging generic-ioremap/for-next (4bdc0d676a64 remove ioremap_nocache and devm_ioremap_nocache)
Merging cfi/cfi/next (f3907773d602 mtd: cfi_cmdset_0002: remove redundant assignment to variable timeo)
Merging kunit-next/kunit (de2fcb3e6201 Documentation: kunit: add tips for using current->kunit_test)
Merging trivial/for-next (9ff9b0d392ea Merge tag 'net-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next)
Merging zx2c4/for-next (16fbf79b0f83 Linux 5.6-rc7)
Merging mhi/mhi-next (5630c1009bd9 bus: mhi: pci_generic: Constify mhi_controller_config struct definitions)
Merging memblock/for-next (097d43d85704 mm: memblock: remove return value of memblock_free_all())
Merging init/init-user-pointers (38b082236e77 initramfs: use vfs_utimes in do_copy)
Merging counters/counters (e71ba9452f0b Linux 5.11-rc2)
Merging iomem-mmap-vs-gup/topic/iomem-mmap-vs-gup (ac8b8400620a mm: unexport follow_pfn)
Merging rust/rust-next (add74f8473c5 Rust support)
CONFLICT (content): Merge conflict in Makefile
Applying: Revert "arm64: apple: Add initial Apple Mac mini (M1, 2020) devicetree"
Applying: Revert "dt-bindings: display: Add apple,simple-framebuffer"
Applying: Revert "arm64: Kconfig: Introduce CONFIG_ARCH_APPLE"
Applying: Revert "irqchip/apple-aic: Add support for the Apple Interrupt Controller"
Applying: Revert "dt-bindings: interrupt-controller: Add DT bindings for apple-aic"
Applying: Revert "arm64: Move ICH_ sysreg bits from arm-gic-v3.h to sysreg.h"
Applying: Revert "of/address: Add infrastructure to declare MMIO as non-posted"
Applying: Revert "asm-generic/io.h: implement pci_remap_cfgspace using ioremap_np"
Applying: Revert "arm64: Implement ioremap_np() to map MMIO as nGnRnE"
Applying: Revert "docs: driver-api: device-io: Document ioremap() variants & access funcs"
Applying: Revert "docs: driver-api: device-io: Document I/O access functions"
Applying: Revert "asm-generic/io.h: Add a non-posted variant of ioremap()"
Merging akpm-current/current (f47d46143d3f mm-vmalloc-remove-unmap_kernel_range-fix-fix)
CONFLICT (content): Merge conflict in mm/slub.c
CONFLICT (content): Merge conflict in kernel/watchdog.c
CONFLICT (content): Merge conflict in init/Kconfig
CONFLICT (content): Merge conflict in include/linux/bitmap.h
CONFLICT (content): Merge conflict in block/blk-settings.c
CONFLICT (content): Merge conflict in arch/x86/mm/init_64.c
CONFLICT (content): Merge conflict in Makefile
CONFLICT (content): Merge conflict in Documentation/admin-guide/kernel-parameters.txt
$ git checkout -b akpm remotes/origin/akpm/master
$ git rebase --onto master remotes/origin/akpm/master-base
Merging akpm/master (090a8891967a memfd_secret: use unsigned int rather than long as syscall flags type)

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: linux-next: Tree for Apr 9 (drivers/iommu/intel/pasid.c)
  2021-04-09 11:51 linux-next: Tree for Apr 9 Stephen Rothwell
@ 2021-04-10 23:50 ` Randy Dunlap
  2021-04-12  2:41 ` linux-next: Tree for Apr 9 (x86 boot problem) Randy Dunlap
  1 sibling, 0 replies; 14+ messages in thread
From: Randy Dunlap @ 2021-04-10 23:50 UTC (permalink / raw)
  To: Stephen Rothwell, Linux Next Mailing List
  Cc: Linux Kernel Mailing List, Lu Baolu, David Woodhouse, Jacob Pan,
	Joerg Roedel, Will Deacon, iommu

On 4/9/21 4:51 AM, Stephen Rothwell wrote:
> Hi all,
> 
> Changes since 20210408:
> 
> New trees: iio, iio-fixes
> 

on ia64: (not X86)

(from a 01.org kernel config file)


../drivers/iommu/intel/pasid.c: In function 'pasid_enable_wpe':
../drivers/iommu/intel/pasid.c:554:22: error: implicit declaration of function 'read_cr0' [-Werror=implicit-function-declaration]
  554 |  unsigned long cr0 = read_cr0();
      |                      ^~~~~~~~
In file included from ../include/linux/build_bug.h:5,
                 from ../include/linux/bits.h:22,
                 from ../include/linux/bitops.h:6,
                 from ../drivers/iommu/intel/pasid.c:12:
../drivers/iommu/intel/pasid.c:557:23: error: 'X86_CR0_WP' undeclared (first use in this function)
  557 |  if (unlikely(!(cr0 & X86_CR0_WP))) {
      |                       ^~~~~~~~~~
../include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
../drivers/iommu/intel/pasid.c:557:23: note: each undeclared identifier is reported only once for each function it appears in
  557 |  if (unlikely(!(cr0 & X86_CR0_WP))) {
      |                       ^~~~~~~~~~
../include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^



-- 
~Randy
Reported-by: Randy Dunlap <rdunlap@infradead.org>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: linux-next: Tree for Apr 9 (x86 boot problem)
  2021-04-09 11:51 linux-next: Tree for Apr 9 Stephen Rothwell
  2021-04-10 23:50 ` linux-next: Tree for Apr 9 (drivers/iommu/intel/pasid.c) Randy Dunlap
@ 2021-04-12  2:41 ` Randy Dunlap
  2021-04-12  6:14   ` Mike Rapoport
  1 sibling, 1 reply; 14+ messages in thread
From: Randy Dunlap @ 2021-04-12  2:41 UTC (permalink / raw)
  To: Stephen Rothwell, Linux Next Mailing List
  Cc: Linux Kernel Mailing List, X86 ML, Mike Rapoport


[-- Attachment #1: Type: text/plain, Size: 3295 bytes --]

On 4/9/21 4:51 AM, Stephen Rothwell wrote:
> Hi all,
> 
> Changes since 20210408:
> 

Hi,

I cannot boot linux-next 20210408 nor 20210409 on an antique
x86_64 laptop (Toshiba Portege).

After many failed tests, I finally resorted to git bisect,
which led me to:

git bisect start
# good: [e49d033bddf5b565044e2abe4241353959bc9120] Linux 5.12-rc6
git bisect good e49d033bddf5b565044e2abe4241353959bc9120
# bad: [e99d8a8495175df8cb8b739f8cf9b0fc9d0cd3b5] Add linux-next specific files for 20210409
git bisect bad e99d8a8495175df8cb8b739f8cf9b0fc9d0cd3b5
# good: [24c5f79572740c1744a7ec2e9e21b541acab6de3] Merge remote-tracking branch 'crypto/master'
git bisect good 24c5f79572740c1744a7ec2e9e21b541acab6de3
# bad: [4b90473874c7b6af320b9815f82ac305fd8807f7] Merge remote-tracking branch 'ftrace/for-next'
git bisect bad 4b90473874c7b6af320b9815f82ac305fd8807f7
# good: [9cf3382276b26848891c7e072db0a774fadd10e4] Merge remote-tracking branch 'sound/for-next'
git bisect good 9cf3382276b26848891c7e072db0a774fadd10e4
# good: [f8d16164c586548d7ccedc058ca9ae547e0cebbe] Merge remote-tracking branch 'mmc/next'
git bisect good f8d16164c586548d7ccedc058ca9ae547e0cebbe
# good: [761ab817c8710fd601d90bfc5179b0f83b1424bb] Merge remote-tracking branch 'devicetree/for-next'
git bisect good 761ab817c8710fd601d90bfc5179b0f83b1424bb
# bad: [9ed0086faca0aefcc429a219ab1bd80654093937] Merge branch 'objtool/core'
git bisect bad 9ed0086faca0aefcc429a219ab1bd80654093937
# good: [4abeb983d38461f36b0aefa909d8b420c60b05be] Merge branch 'x86/core'
git bisect good 4abeb983d38461f36b0aefa909d8b420c60b05be
# bad: [6842a3ece3b7c0d558b6664dd6bf19b9ec4fc526] Merge branch 'timers/core'
git bisect bad 6842a3ece3b7c0d558b6664dd6bf19b9ec4fc526
# bad: [5247390b761f1f9e255a59123ffab302a83a581b] Merge branch 'x86/boot'
git bisect bad 5247390b761f1f9e255a59123ffab302a83a581b
# good: [7dfe553affd0d003c7535b7ba60d09193471ea9d] x86/syscalls: Fix -Wmissing-prototypes warnings from COND_SYSCALL()
git bisect good 7dfe553affd0d003c7535b7ba60d09193471ea9d
# good: [fda215642945f0b128e91c24c9b90c567f008887] Merge branch 'x86/build'
git bisect good fda215642945f0b128e91c24c9b90c567f008887
# good: [e14cfb3bdd0f82147d09e9f46bedda6302f28ee1] x86/boot/compressed: Avoid gcc-11 -Wstringop-overread warning
git bisect good e14cfb3bdd0f82147d09e9f46bedda6302f28ee1
# bad: [4c674481dcf9974834b96622fa4b079c176f36f9] x86/setup: Merge several reservations of start of memory
git bisect bad 4c674481dcf9974834b96622fa4b079c176f36f9


I reverted both of these patches and the laptop boots successfully:

commit a799c2bd29d19c565f37fa038b31a0a1d44d0e4d
Author: Mike Rapoport <rppt@kernel.org>
Date:   Tue Mar 2 12:04:05 2021 +0200

    x86/setup: Consolidate early memory reservations

&&

commit 4c674481dcf9974834b96622fa4b079c176f36f9
Author: Mike Rapoport <rppt@kernel.org>
Date:   Tue Mar 2 12:04:06 2021 +0200

    x86/setup: Merge several reservations of start of memory


There is no (zero, nil) console display when I try to boot
next 0408 or 0409. I connected a USB serial debug cable and
booted with earlyprintk=dbgp,keep and still got nothing.

The attached boot log is linux-next 20210409 minus the 2 patches
listed above.


Mike- what data would you like to see?

-- 
~Randy
Reported-by: Randy Dunlap <rdunlap@infradead.org>

[-- Attachment #2: boot0409-2.log.gz --]
[-- Type: application/gzip, Size: 46180 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: linux-next: Tree for Apr 9 (x86 boot problem)
  2021-04-12  2:41 ` linux-next: Tree for Apr 9 (x86 boot problem) Randy Dunlap
@ 2021-04-12  6:14   ` Mike Rapoport
  2021-04-12 15:49     ` Randy Dunlap
  0 siblings, 1 reply; 14+ messages in thread
From: Mike Rapoport @ 2021-04-12  6:14 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, X86 ML

Hi Randy,

On Sun, Apr 11, 2021 at 07:41:37PM -0700, Randy Dunlap wrote:
> On 4/9/21 4:51 AM, Stephen Rothwell wrote:
> > Hi all,
> > 
> > Changes since 20210408:
> > 
> 
> Hi,
> 
> I cannot boot linux-next 20210408 nor 20210409 on an antique
> x86_64 laptop (Toshiba Portege).
> 
> After many failed tests, I finally resorted to git bisect,
> which led me to:
> 
> # bad: [4c674481dcf9974834b96622fa4b079c176f36f9] x86/setup: Merge several reservations of start of memory
> git bisect bad 4c674481dcf9974834b96622fa4b079c176f36f9
> 
> 
> I reverted both of these patches and the laptop boots successfully:
> 
> commit a799c2bd29d19c565f37fa038b31a0a1d44d0e4d
> Author: Mike Rapoport <rppt@kernel.org>
> Date:   Tue Mar 2 12:04:05 2021 +0200
> 
>     x86/setup: Consolidate early memory reservations
> 
> &&
> 
> commit 4c674481dcf9974834b96622fa4b079c176f36f9
> Author: Mike Rapoport <rppt@kernel.org>
> Date:   Tue Mar 2 12:04:06 2021 +0200
> 
>     x86/setup: Merge several reservations of start of memory
> 
> 
> There is no (zero, nil) console display when I try to boot
> next 0408 or 0409. I connected a USB serial debug cable and
> booted with earlyprintk=dbgp,keep and still got nothing.
> 
> The attached boot log is linux-next 20210409 minus the 2 patches
> listed above.
> 
> Mike- what data would you like to see?

Huh, with no console this would be fun :)
For now the only idea I have is to "bisect" the changes and move
reservations one by one back to their original place until the system boots
again. 

I'd start with trim_snb_memory() since it's surely needed on your laptop
and quite likely it is a NOP on other systems.

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 776fc9b3fafe..dfca9d6b1aa6 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -746,8 +746,6 @@ static void __init early_reserve_memory(void)
 
 	reserve_ibft_region();
 	reserve_bios_regions();
-
-	trim_snb_memory();
 }
 
 /*
@@ -1081,6 +1079,8 @@ void __init setup_arch(char **cmdline_p)
 
 	reserve_real_mode();
 
+	trim_snb_memory();
+
 	init_mem_mapping();
 
 	idt_setup_early_pf();
 
> -- 
> ~Randy
> Reported-by: Randy Dunlap <rdunlap@infradead.org>

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: linux-next: Tree for Apr 9 (x86 boot problem)
  2021-04-12  6:14   ` Mike Rapoport
@ 2021-04-12 15:49     ` Randy Dunlap
  2021-04-12 17:01       ` Mike Rapoport
  0 siblings, 1 reply; 14+ messages in thread
From: Randy Dunlap @ 2021-04-12 15:49 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, X86 ML

On 4/11/21 11:14 PM, Mike Rapoport wrote:
> Hi Randy,
> 
> On Sun, Apr 11, 2021 at 07:41:37PM -0700, Randy Dunlap wrote:
>> On 4/9/21 4:51 AM, Stephen Rothwell wrote:
>>> Hi all,
>>>
>>> Changes since 20210408:
>>>
>>
>> Hi,
>>
>> I cannot boot linux-next 20210408 nor 20210409 on an antique
>> x86_64 laptop (Toshiba Portege).
>>
>> After many failed tests, I finally resorted to git bisect,
>> which led me to:
>>
>> # bad: [4c674481dcf9974834b96622fa4b079c176f36f9] x86/setup: Merge several reservations of start of memory
>> git bisect bad 4c674481dcf9974834b96622fa4b079c176f36f9
>>
>>
>> I reverted both of these patches and the laptop boots successfully:
>>
>> commit a799c2bd29d19c565f37fa038b31a0a1d44d0e4d
>> Author: Mike Rapoport <rppt@kernel.org>
>> Date:   Tue Mar 2 12:04:05 2021 +0200
>>
>>     x86/setup: Consolidate early memory reservations
>>
>> &&
>>
>> commit 4c674481dcf9974834b96622fa4b079c176f36f9
>> Author: Mike Rapoport <rppt@kernel.org>
>> Date:   Tue Mar 2 12:04:06 2021 +0200
>>
>>     x86/setup: Merge several reservations of start of memory
>>
>>
>> There is no (zero, nil) console display when I try to boot
>> next 0408 or 0409. I connected a USB serial debug cable and
>> booted with earlyprintk=dbgp,keep and still got nothing.
>>
>> The attached boot log is linux-next 20210409 minus the 2 patches
>> listed above.
>>
>> Mike- what data would you like to see?
> 
> Huh, with no console this would be fun :)
> For now the only idea I have is to "bisect" the changes and move
> reservations one by one back to their original place until the system boots
> again. 
> 
> I'd start with trim_snb_memory() since it's surely needed on your laptop
> and quite likely it is a NOP on other systems.
> 
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 776fc9b3fafe..dfca9d6b1aa6 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -746,8 +746,6 @@ static void __init early_reserve_memory(void)
>  
>  	reserve_ibft_region();
>  	reserve_bios_regions();
> -
> -	trim_snb_memory();
>  }
>  
>  /*
> @@ -1081,6 +1079,8 @@ void __init setup_arch(char **cmdline_p)
>  
>  	reserve_real_mode();
>  
> +	trim_snb_memory();
> +
>  	init_mem_mapping();
>  
>  	idt_setup_early_pf();
>  
>> -- 

Hi Mike,
That works fine.
Can you provide another/next step?

If not, I'll try a few things.

thanks.
-- 
~Randy


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: linux-next: Tree for Apr 9 (x86 boot problem)
  2021-04-12 15:49     ` Randy Dunlap
@ 2021-04-12 17:01       ` Mike Rapoport
  2021-04-12 20:53         ` Randy Dunlap
  0 siblings, 1 reply; 14+ messages in thread
From: Mike Rapoport @ 2021-04-12 17:01 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, X86 ML

On Mon, Apr 12, 2021 at 08:49:49AM -0700, Randy Dunlap wrote:
> On 4/11/21 11:14 PM, Mike Rapoport wrote:
> > Hi Randy,
> > 
> > On Sun, Apr 11, 2021 at 07:41:37PM -0700, Randy Dunlap wrote:
> >> On 4/9/21 4:51 AM, Stephen Rothwell wrote:
> >>> Hi all,
> >>>
> >>> Changes since 20210408:
> >>>
> >>
> >> Hi,
> >>
> >> I cannot boot linux-next 20210408 nor 20210409 on an antique
> >> x86_64 laptop (Toshiba Portege).
> >>
> >> After many failed tests, I finally resorted to git bisect,
> >> which led me to:
> >>
> >> # bad: [4c674481dcf9974834b96622fa4b079c176f36f9] x86/setup: Merge several reservations of start of memory
> >> git bisect bad 4c674481dcf9974834b96622fa4b079c176f36f9
> >>
> >>
> >> I reverted both of these patches and the laptop boots successfully:
> >>
> >> commit a799c2bd29d19c565f37fa038b31a0a1d44d0e4d
> >> Author: Mike Rapoport <rppt@kernel.org>
> >> Date:   Tue Mar 2 12:04:05 2021 +0200
> >>
> >>     x86/setup: Consolidate early memory reservations
> >>
> >> &&
> >>
> >> commit 4c674481dcf9974834b96622fa4b079c176f36f9
> >> Author: Mike Rapoport <rppt@kernel.org>
> >> Date:   Tue Mar 2 12:04:06 2021 +0200
> >>
> >>     x86/setup: Merge several reservations of start of memory
> >>
> >>
> >> There is no (zero, nil) console display when I try to boot
> >> next 0408 or 0409. I connected a USB serial debug cable and
> >> booted with earlyprintk=dbgp,keep and still got nothing.
> >>
> >> The attached boot log is linux-next 20210409 minus the 2 patches
> >> listed above.
> >>
> >> Mike- what data would you like to see?
> > 
> > Huh, with no console this would be fun :)
> > For now the only idea I have is to "bisect" the changes and move
> > reservations one by one back to their original place until the system boots
> > again. 
> > 
> > I'd start with trim_snb_memory() since it's surely needed on your laptop
> > and quite likely it is a NOP on other systems.
> > 
> > diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> > index 776fc9b3fafe..dfca9d6b1aa6 100644
> > --- a/arch/x86/kernel/setup.c
> > +++ b/arch/x86/kernel/setup.c
> > @@ -746,8 +746,6 @@ static void __init early_reserve_memory(void)
> >  
> >  	reserve_ibft_region();
> >  	reserve_bios_regions();
> > -
> > -	trim_snb_memory();
> >  }
> >  
> >  /*
> > @@ -1081,6 +1079,8 @@ void __init setup_arch(char **cmdline_p)
> >  
> >  	reserve_real_mode();
> >  
> > +	trim_snb_memory();
> > +
> >  	init_mem_mapping();
> >  
> >  	idt_setup_early_pf();
> >  
> >> -- 

Hi Randy,
 
> Hi Mike,
> That works fine.
> Can you provide another/next step?
 
I thought about adding some prints to see what's causing the hang, the
reservations or their absence. Can you replace the debug patch with this
one:

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 776fc9b3fafe..a10ac252dbcc 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -600,10 +600,13 @@ static bool __init snb_gfx_workaround_needed(void)
 		return false;
 
 	vendor = read_pci_config_16(0, 2, 0, PCI_VENDOR_ID);
+	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
+
+	pr_info("%s: vendor: %x, device: %x\n", __func__, vendor, device);
+
 	if (vendor != 0x8086)
 		return false;
 
-	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
 	for (i = 0; i < ARRAY_SIZE(snb_ids); i++)
 		if (devid == snb_ids[i])
 			return true;
@@ -747,7 +750,7 @@ static void __init early_reserve_memory(void)
 	reserve_ibft_region();
 	reserve_bios_regions();
 
-	trim_snb_memory();
+	pr_info("%s: snb_gfx: %d\n", __func__, snb_gfx_workaround_needed());
 }
 
 /*
@@ -1081,6 +1084,8 @@ void __init setup_arch(char **cmdline_p)
 
 	reserve_real_mode();
 
+	trim_snb_memory();
+
 	init_mem_mapping();
 
 	idt_setup_early_pf();

> If not, I'll try a few things.

Sure :)
 
> thanks.
> -- 
> ~Randy
> 

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: linux-next: Tree for Apr 9 (x86 boot problem)
  2021-04-12 17:01       ` Mike Rapoport
@ 2021-04-12 20:53         ` Randy Dunlap
  2021-04-13  6:06           ` Mike Rapoport
  0 siblings, 1 reply; 14+ messages in thread
From: Randy Dunlap @ 2021-04-12 20:53 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, X86 ML


[-- Attachment #1: Type: text/plain, Size: 4173 bytes --]

On 4/12/21 10:01 AM, Mike Rapoport wrote:
> On Mon, Apr 12, 2021 at 08:49:49AM -0700, Randy Dunlap wrote:
>> On 4/11/21 11:14 PM, Mike Rapoport wrote:
>>> Hi Randy,
>>>
>>> On Sun, Apr 11, 2021 at 07:41:37PM -0700, Randy Dunlap wrote:
>>>> On 4/9/21 4:51 AM, Stephen Rothwell wrote:
>>>>> Hi all,
>>>>>
>>>>> Changes since 20210408:
>>>>>
>>>>
>>>> Hi,
>>>>
>>>> I cannot boot linux-next 20210408 nor 20210409 on an antique
>>>> x86_64 laptop (Toshiba Portege).
>>>>
>>>> After many failed tests, I finally resorted to git bisect,
>>>> which led me to:
>>>>
>>>> # bad: [4c674481dcf9974834b96622fa4b079c176f36f9] x86/setup: Merge several reservations of start of memory
>>>> git bisect bad 4c674481dcf9974834b96622fa4b079c176f36f9
>>>>
>>>>
>>>> I reverted both of these patches and the laptop boots successfully:
>>>>
>>>> commit a799c2bd29d19c565f37fa038b31a0a1d44d0e4d
>>>> Author: Mike Rapoport <rppt@kernel.org>
>>>> Date:   Tue Mar 2 12:04:05 2021 +0200
>>>>
>>>>     x86/setup: Consolidate early memory reservations
>>>>
>>>> &&
>>>>
>>>> commit 4c674481dcf9974834b96622fa4b079c176f36f9
>>>> Author: Mike Rapoport <rppt@kernel.org>
>>>> Date:   Tue Mar 2 12:04:06 2021 +0200
>>>>
>>>>     x86/setup: Merge several reservations of start of memory
>>>>
>>>>
>>>> There is no (zero, nil) console display when I try to boot
>>>> next 0408 or 0409. I connected a USB serial debug cable and
>>>> booted with earlyprintk=dbgp,keep and still got nothing.
>>>>
>>>> The attached boot log is linux-next 20210409 minus the 2 patches
>>>> listed above.
>>>>
>>>> Mike- what data would you like to see?
>>>
>>> Huh, with no console this would be fun :)
>>> For now the only idea I have is to "bisect" the changes and move
>>> reservations one by one back to their original place until the system boots
>>> again. 
>>>
>>> I'd start with trim_snb_memory() since it's surely needed on your laptop
>>> and quite likely it is a NOP on other systems.
>>>
>>> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
>>> index 776fc9b3fafe..dfca9d6b1aa6 100644
>>> --- a/arch/x86/kernel/setup.c
>>> +++ b/arch/x86/kernel/setup.c
>>> @@ -746,8 +746,6 @@ static void __init early_reserve_memory(void)
>>>  
>>>  	reserve_ibft_region();
>>>  	reserve_bios_regions();
>>> -
>>> -	trim_snb_memory();
>>>  }
>>>  
>>>  /*
>>> @@ -1081,6 +1079,8 @@ void __init setup_arch(char **cmdline_p)
>>>  
>>>  	reserve_real_mode();
>>>  
>>> +	trim_snb_memory();
>>> +
>>>  	init_mem_mapping();
>>>  
>>>  	idt_setup_early_pf();
>>>  
>>>> -- 
> 
> Hi Randy,
>  
>> Hi Mike,
>> That works fine.
>> Can you provide another/next step?
>  
> I thought about adding some prints to see what's causing the hang, the
> reservations or their absence. Can you replace the debug patch with this
> one:
> 
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 776fc9b3fafe..a10ac252dbcc 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -600,10 +600,13 @@ static bool __init snb_gfx_workaround_needed(void)
>  		return false;
>  
>  	vendor = read_pci_config_16(0, 2, 0, PCI_VENDOR_ID);
> +	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
> +
> +	pr_info("%s: vendor: %x, device: %x\n", __func__, vendor, device);

s/device)/devid)/

> +
>  	if (vendor != 0x8086)
>  		return false;
>  
> -	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
>  	for (i = 0; i < ARRAY_SIZE(snb_ids); i++)
>  		if (devid == snb_ids[i])
>  			return true;
> @@ -747,7 +750,7 @@ static void __init early_reserve_memory(void)
>  	reserve_ibft_region();
>  	reserve_bios_regions();
>  
> -	trim_snb_memory();
> +	pr_info("%s: snb_gfx: %d\n", __func__, snb_gfx_workaround_needed());
>  }
>  
>  /*
> @@ -1081,6 +1084,8 @@ void __init setup_arch(char **cmdline_p)
>  
>  	reserve_real_mode();
>  
> +	trim_snb_memory();
> +
>  	init_mem_mapping();
>  
>  	idt_setup_early_pf();

That prints:

[    0.000000] snb_gfx_workaround_needed: vendor: 8086, device: 126
[    0.000000] early_reserve_memory: snb_gfx: 1
...
[    0.014061] snb_gfx_workaround_needed: vendor: 8086, device: 126
[    0.014064] reserving inaccessible SNB gfx pages


The full boot log is attached.


-- 
~Randy


[-- Attachment #2: boottest002.log.gz --]
[-- Type: application/gzip, Size: 46118 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: linux-next: Tree for Apr 9 (x86 boot problem)
  2021-04-12 20:53         ` Randy Dunlap
@ 2021-04-13  6:06           ` Mike Rapoport
  2021-04-13  6:21             ` Randy Dunlap
  0 siblings, 1 reply; 14+ messages in thread
From: Mike Rapoport @ 2021-04-13  6:06 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, X86 ML

Hi Randy,

On Mon, Apr 12, 2021 at 01:53:34PM -0700, Randy Dunlap wrote:
> On 4/12/21 10:01 AM, Mike Rapoport wrote:
> > On Mon, Apr 12, 2021 at 08:49:49AM -0700, Randy Dunlap wrote:
> >  
> > I thought about adding some prints to see what's causing the hang, the
> > reservations or their absence. Can you replace the debug patch with this
> > one:
> > 
> > diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> > index 776fc9b3fafe..a10ac252dbcc 100644
> > --- a/arch/x86/kernel/setup.c
> > +++ b/arch/x86/kernel/setup.c
> > @@ -600,10 +600,13 @@ static bool __init snb_gfx_workaround_needed(void)
> >  		return false;
> >  
> >  	vendor = read_pci_config_16(0, 2, 0, PCI_VENDOR_ID);
> > +	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
> > +
> > +	pr_info("%s: vendor: %x, device: %x\n", __func__, vendor, device);
> 
> s/device)/devid)/
 
Oh, sorry.

> > +
> >  	if (vendor != 0x8086)
> >  		return false;
> >  
> > -	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
> >  	for (i = 0; i < ARRAY_SIZE(snb_ids); i++)
> >  		if (devid == snb_ids[i])
> >  			return true;
> 
> That prints:
> 
> [    0.000000] snb_gfx_workaround_needed: vendor: 8086, device: 126
> [    0.000000] early_reserve_memory: snb_gfx: 1
> ...
> [    0.014061] snb_gfx_workaround_needed: vendor: 8086, device: 126
> [    0.014064] reserving inaccessible SNB gfx pages
> 
> 
> The full boot log is attached.
 
Can you please send the log with memblock=debug added to the kernel command
line?

Probably should have started from this...

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: linux-next: Tree for Apr 9 (x86 boot problem)
  2021-04-13  6:06           ` Mike Rapoport
@ 2021-04-13  6:21             ` Randy Dunlap
  2021-04-13 16:58               ` Mike Rapoport
  0 siblings, 1 reply; 14+ messages in thread
From: Randy Dunlap @ 2021-04-13  6:21 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, X86 ML


[-- Attachment #1: Type: text/plain, Size: 1642 bytes --]

On 4/12/21 11:06 PM, Mike Rapoport wrote:
> Hi Randy,
> 
> On Mon, Apr 12, 2021 at 01:53:34PM -0700, Randy Dunlap wrote:
>> On 4/12/21 10:01 AM, Mike Rapoport wrote:
>>> On Mon, Apr 12, 2021 at 08:49:49AM -0700, Randy Dunlap wrote:
>>>  
>>> I thought about adding some prints to see what's causing the hang, the
>>> reservations or their absence. Can you replace the debug patch with this
>>> one:
>>>
>>> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
>>> index 776fc9b3fafe..a10ac252dbcc 100644
>>> --- a/arch/x86/kernel/setup.c
>>> +++ b/arch/x86/kernel/setup.c
>>> @@ -600,10 +600,13 @@ static bool __init snb_gfx_workaround_needed(void)
>>>  		return false;
>>>  
>>>  	vendor = read_pci_config_16(0, 2, 0, PCI_VENDOR_ID);
>>> +	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
>>> +
>>> +	pr_info("%s: vendor: %x, device: %x\n", __func__, vendor, device);
>>
>> s/device)/devid)/
>  
> Oh, sorry.
> 
>>> +
>>>  	if (vendor != 0x8086)
>>>  		return false;
>>>  
>>> -	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
>>>  	for (i = 0; i < ARRAY_SIZE(snb_ids); i++)
>>>  		if (devid == snb_ids[i])
>>>  			return true;
>>
>> That prints:
>>
>> [    0.000000] snb_gfx_workaround_needed: vendor: 8086, device: 126
>> [    0.000000] early_reserve_memory: snb_gfx: 1
>> ...
>> [    0.014061] snb_gfx_workaround_needed: vendor: 8086, device: 126
>> [    0.014064] reserving inaccessible SNB gfx pages
>>
>>
>> The full boot log is attached.
>  
> Can you please send the log with memblock=debug added to the kernel command
> line?
> 
> Probably should have started from this...
> 

It's attached.

-- 
~Randy
{bedtime}


[-- Attachment #2: boot0409-memblk-debug.log.gz --]
[-- Type: application/gzip, Size: 46671 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: linux-next: Tree for Apr 9 (x86 boot problem)
  2021-04-13  6:21             ` Randy Dunlap
@ 2021-04-13 16:58               ` Mike Rapoport
  2021-04-13 17:34                 ` Randy Dunlap
  0 siblings, 1 reply; 14+ messages in thread
From: Mike Rapoport @ 2021-04-13 16:58 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, X86 ML

On Mon, Apr 12, 2021 at 11:21:48PM -0700, Randy Dunlap wrote:
> On 4/12/21 11:06 PM, Mike Rapoport wrote:
> > Hi Randy,
> > 
> > On Mon, Apr 12, 2021 at 01:53:34PM -0700, Randy Dunlap wrote:
> >> On 4/12/21 10:01 AM, Mike Rapoport wrote:
> >>> On Mon, Apr 12, 2021 at 08:49:49AM -0700, Randy Dunlap wrote:
> >>>  
> >>> I thought about adding some prints to see what's causing the hang, the
> >>> reservations or their absence. Can you replace the debug patch with this
> >>> one:
> >>>
> >>> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> >>> index 776fc9b3fafe..a10ac252dbcc 100644
> >>> --- a/arch/x86/kernel/setup.c
> >>> +++ b/arch/x86/kernel/setup.c
> >>> @@ -600,10 +600,13 @@ static bool __init snb_gfx_workaround_needed(void)
> >>>  		return false;
> >>>  
> >>>  	vendor = read_pci_config_16(0, 2, 0, PCI_VENDOR_ID);
> >>> +	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
> >>> +
> >>> +	pr_info("%s: vendor: %x, device: %x\n", __func__, vendor, device);
> >>
> >> s/device)/devid)/
> >  
> > Oh, sorry.
> > 
> >>> +
> >>>  	if (vendor != 0x8086)
> >>>  		return false;
> >>>  
> >>> -	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
> >>>  	for (i = 0; i < ARRAY_SIZE(snb_ids); i++)
> >>>  		if (devid == snb_ids[i])
> >>>  			return true;
> >>
> >> That prints:
> >>
> >> [    0.000000] snb_gfx_workaround_needed: vendor: 8086, device: 126
> >> [    0.000000] early_reserve_memory: snb_gfx: 1
> >> ...
> >> [    0.014061] snb_gfx_workaround_needed: vendor: 8086, device: 126
> >> [    0.014064] reserving inaccessible SNB gfx pages
> >>
> >>
> >> The full boot log is attached.
> >  
> > Can you please send the log with memblock=debug added to the kernel command
> > line?
> > 
> > Probably should have started from this...
> > 
> 
> It's attached.

Honestly, I can't see any reason why moving these reservations around would
cause your laptop to hang.
Let's try moving the reservations back to their original place one by
one, e.g something like this:

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 776fc9b3fafe..892ad20b8557 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -632,12 +632,6 @@ static void __init trim_snb_memory(void)
 
 	printk(KERN_DEBUG "reserving inaccessible SNB gfx pages\n");
 
-	/*
-	 * Reserve all memory below the 1 MB mark that has not
-	 * already been reserved.
-	 */
-	memblock_reserve(0, 1<<20);
-	
 	for (i = 0; i < ARRAY_SIZE(bad_pages); i++) {
 		if (memblock_reserve(bad_pages[i], PAGE_SIZE))
 			printk(KERN_WARNING "failed to reserve 0x%08lx\n",
@@ -1081,6 +1075,12 @@ void __init setup_arch(char **cmdline_p)
 
 	reserve_real_mode();
 
+	/*
+	 * Reserve all memory below the 1 MB mark that has not
+	 * already been reserved.
+	 */
+	memblock_reserve(0, 1<<20);
+
 	init_mem_mapping();
 
 	idt_setup_early_pf();

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: linux-next: Tree for Apr 9 (x86 boot problem)
  2021-04-13 16:58               ` Mike Rapoport
@ 2021-04-13 17:34                 ` Randy Dunlap
  2021-04-13 18:23                   ` Mike Rapoport
  0 siblings, 1 reply; 14+ messages in thread
From: Randy Dunlap @ 2021-04-13 17:34 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, X86 ML

On 4/13/21 9:58 AM, Mike Rapoport wrote:
> On Mon, Apr 12, 2021 at 11:21:48PM -0700, Randy Dunlap wrote:
>> On 4/12/21 11:06 PM, Mike Rapoport wrote:
>>> Hi Randy,
>>>
>>> On Mon, Apr 12, 2021 at 01:53:34PM -0700, Randy Dunlap wrote:
>>>> On 4/12/21 10:01 AM, Mike Rapoport wrote:
>>>>> On Mon, Apr 12, 2021 at 08:49:49AM -0700, Randy Dunlap wrote:
>>>>>  
>>>>> I thought about adding some prints to see what's causing the hang, the
>>>>> reservations or their absence. Can you replace the debug patch with this
>>>>> one:
>>>>>
>>>>> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
>>>>> index 776fc9b3fafe..a10ac252dbcc 100644
>>>>> --- a/arch/x86/kernel/setup.c
>>>>> +++ b/arch/x86/kernel/setup.c
>>>>> @@ -600,10 +600,13 @@ static bool __init snb_gfx_workaround_needed(void)
>>>>>  		return false;
>>>>>  
>>>>>  	vendor = read_pci_config_16(0, 2, 0, PCI_VENDOR_ID);
>>>>> +	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
>>>>> +
>>>>> +	pr_info("%s: vendor: %x, device: %x\n", __func__, vendor, device);
>>>>
>>>> s/device)/devid)/
>>>  
>>> Oh, sorry.
>>>
>>>>> +
>>>>>  	if (vendor != 0x8086)
>>>>>  		return false;
>>>>>  
>>>>> -	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
>>>>>  	for (i = 0; i < ARRAY_SIZE(snb_ids); i++)
>>>>>  		if (devid == snb_ids[i])
>>>>>  			return true;
>>>>
>>>> That prints:
>>>>
>>>> [    0.000000] snb_gfx_workaround_needed: vendor: 8086, device: 126
>>>> [    0.000000] early_reserve_memory: snb_gfx: 1
>>>> ...
>>>> [    0.014061] snb_gfx_workaround_needed: vendor: 8086, device: 126
>>>> [    0.014064] reserving inaccessible SNB gfx pages
>>>>
>>>>
>>>> The full boot log is attached.
>>>  
>>> Can you please send the log with memblock=debug added to the kernel command
>>> line?
>>>
>>> Probably should have started from this...
>>>
>>
>> It's attached.
> 
> Honestly, I can't see any reason why moving these reservations around would
> cause your laptop to hang.
> Let's try moving the reservations back to their original place one by
> one, e.g something like this:
> 
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 776fc9b3fafe..892ad20b8557 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -632,12 +632,6 @@ static void __init trim_snb_memory(void)
>  
>  	printk(KERN_DEBUG "reserving inaccessible SNB gfx pages\n");
>  
> -	/*
> -	 * Reserve all memory below the 1 MB mark that has not
> -	 * already been reserved.
> -	 */
> -	memblock_reserve(0, 1<<20);
> -	
>  	for (i = 0; i < ARRAY_SIZE(bad_pages); i++) {
>  		if (memblock_reserve(bad_pages[i], PAGE_SIZE))
>  			printk(KERN_WARNING "failed to reserve 0x%08lx\n",
> @@ -1081,6 +1075,12 @@ void __init setup_arch(char **cmdline_p)
>  
>  	reserve_real_mode();
>  
> +	/*
> +	 * Reserve all memory below the 1 MB mark that has not
> +	 * already been reserved.
> +	 */
> +	memblock_reserve(0, 1<<20);
> +
>  	init_mem_mapping();
>  
>  	idt_setup_early_pf();
> 

Mike,
That works.

Please send the next test.

-- 
~Randy


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: linux-next: Tree for Apr 9 (x86 boot problem)
  2021-04-13 17:34                 ` Randy Dunlap
@ 2021-04-13 18:23                   ` Mike Rapoport
  2021-04-13 19:07                     ` Randy Dunlap
  2021-04-13 19:09                     ` Hugh Dickins
  0 siblings, 2 replies; 14+ messages in thread
From: Mike Rapoport @ 2021-04-13 18:23 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, X86 ML

On Tue, Apr 13, 2021 at 10:34:25AM -0700, Randy Dunlap wrote:
> On 4/13/21 9:58 AM, Mike Rapoport wrote:
> > On Mon, Apr 12, 2021 at 11:21:48PM -0700, Randy Dunlap wrote:
> >> On 4/12/21 11:06 PM, Mike Rapoport wrote:
> >>> Hi Randy,
> >>>
> >>> On Mon, Apr 12, 2021 at 01:53:34PM -0700, Randy Dunlap wrote:
> >>>> On 4/12/21 10:01 AM, Mike Rapoport wrote:
> >>>>> On Mon, Apr 12, 2021 at 08:49:49AM -0700, Randy Dunlap wrote:
> >>>>>  
> >>>>> I thought about adding some prints to see what's causing the hang, the
> >>>>> reservations or their absence. Can you replace the debug patch with this
> >>>>> one:
> >>>>>
> >>>>> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> >>>>> index 776fc9b3fafe..a10ac252dbcc 100644
> >>>>> --- a/arch/x86/kernel/setup.c
> >>>>> +++ b/arch/x86/kernel/setup.c
> >>>>> @@ -600,10 +600,13 @@ static bool __init snb_gfx_workaround_needed(void)
> >>>>>  		return false;
> >>>>>  
> >>>>>  	vendor = read_pci_config_16(0, 2, 0, PCI_VENDOR_ID);
> >>>>> +	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
> >>>>> +
> >>>>> +	pr_info("%s: vendor: %x, device: %x\n", __func__, vendor, device);
> >>>>
> >>>> s/device)/devid)/
> >>>  
> >>> Oh, sorry.
> >>>
> >>>>> +
> >>>>>  	if (vendor != 0x8086)
> >>>>>  		return false;
> >>>>>  
> >>>>> -	devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID);
> >>>>>  	for (i = 0; i < ARRAY_SIZE(snb_ids); i++)
> >>>>>  		if (devid == snb_ids[i])
> >>>>>  			return true;
> >>>>
> >>>> That prints:
> >>>>
> >>>> [    0.000000] snb_gfx_workaround_needed: vendor: 8086, device: 126
> >>>> [    0.000000] early_reserve_memory: snb_gfx: 1
> >>>> ...
> >>>> [    0.014061] snb_gfx_workaround_needed: vendor: 8086, device: 126
> >>>> [    0.014064] reserving inaccessible SNB gfx pages
> >>>>
> >>>>
> >>>> The full boot log is attached.
> >>>  
> >>> Can you please send the log with memblock=debug added to the kernel command
> >>> line?
> >>>
> >>> Probably should have started from this...
> >>>
> >>
> >> It's attached.
> > 
> > Honestly, I can't see any reason why moving these reservations around would
> > cause your laptop to hang.
> > Let's try moving the reservations back to their original place one by
> > one, e.g something like this:
> > 
> > diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> > index 776fc9b3fafe..892ad20b8557 100644
> > --- a/arch/x86/kernel/setup.c
> > +++ b/arch/x86/kernel/setup.c
> > @@ -632,12 +632,6 @@ static void __init trim_snb_memory(void)
> >  
> >  	printk(KERN_DEBUG "reserving inaccessible SNB gfx pages\n");
> >  
> > -	/*
> > -	 * Reserve all memory below the 1 MB mark that has not
> > -	 * already been reserved.
> > -	 */
> > -	memblock_reserve(0, 1<<20);
> > -	
> >  	for (i = 0; i < ARRAY_SIZE(bad_pages); i++) {
> >  		if (memblock_reserve(bad_pages[i], PAGE_SIZE))
> >  			printk(KERN_WARNING "failed to reserve 0x%08lx\n",
> > @@ -1081,6 +1075,12 @@ void __init setup_arch(char **cmdline_p)
> >  
> >  	reserve_real_mode();
> >  
> > +	/*
> > +	 * Reserve all memory below the 1 MB mark that has not
> > +	 * already been reserved.
> > +	 */
> > +	memblock_reserve(0, 1<<20);
> > +
> >  	init_mem_mapping();
> >  
> >  	idt_setup_early_pf();
> > 
> 
> Mike,
> That works.
> 
> Please send the next test.

I think I've found the reason. trim_snb_memory() reserved the entire first
megabyte very early leaving no room for real mode trampoline allocation.
Since this reservation is needed only to make sure integrated gfx does not
access some memory, it can be safely done after memblock allocations are
possible.

I don't know if it can be fixed on the graphics device driver side, but
from the setup_arch() perspective I think this would be the proper fix:

From c05f6046137abbcbb700571ce1ac54e7abb56a7d Mon Sep 17 00:00:00 2001
From: Mike Rapoport <rppt@linux.ibm.com>
Date: Tue, 13 Apr 2021 21:08:39 +0300
Subject: [PATCH] x86/setup: move trim_snb_memory() later in setup_arch to fix
 boot hangs

Commit a799c2bd29d1 ("x86/setup: Consolidate early memory reservations")
moved reservation of the memory inaccessible by Sandy Bride integrated
graphics very early and as the result on systems with such devices the
first 1M was reserved by trim_snb_memory() which prevented the allocation
of the real mode trampoline and made the boot hang very early.

Since the purpose of trim_snb_memory() is to prevent problematic pages ever
reaching the graphics device, it is safe to reserve these pages after
memblock allocations are possible.

Move trim_snb_memory later in boot so that it will be called after
reserve_real_mode() and make comments describing trim_snb_memory()
operation more elaborate.

Fixes: a799c2bd29d1 ("x86/setup: Consolidate early memory reservations")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
 arch/x86/kernel/setup.c | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 59e5e0903b0c..ccdcfb19df1e 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -633,11 +633,16 @@ static void __init trim_snb_memory(void)
 	printk(KERN_DEBUG "reserving inaccessible SNB gfx pages\n");
 
 	/*
-	 * Reserve all memory below the 1 MB mark that has not
-	 * already been reserved.
+	 * SandyBridge integrated graphic devices have a bug that prevents
+	 * them from accessing certain memory ranges, namely anything below
+	 * 1M and in the pages listed in the bad_pages.
+	 *
+	 * To avoid these pages being ever accessed by SNB gfx device
+	 * reserve all memory below the 1 MB mark and bad_pages that have
+	 * not already been reserved at boot time.
 	 */
 	memblock_reserve(0, 1<<20);
-	
+
 	for (i = 0; i < ARRAY_SIZE(bad_pages); i++) {
 		if (memblock_reserve(bad_pages[i], PAGE_SIZE))
 			printk(KERN_WARNING "failed to reserve 0x%08lx\n",
@@ -746,8 +751,6 @@ static void __init early_reserve_memory(void)
 
 	reserve_ibft_region();
 	reserve_bios_regions();
-
-	trim_snb_memory();
 }
 
 /*
@@ -1083,6 +1086,13 @@ void __init setup_arch(char **cmdline_p)
 
 	reserve_real_mode();
 
+	/*
+	 * Reserving memory causing GPU hangs on Sandy Bridge integrated
+	 * graphic devices should be done after we allocated memory under
+	 * 1M for the real mode trampoline
+	 */
+	trim_snb_memory();
+
 	init_mem_mapping();
 
 	idt_setup_early_pf();
-- 
2.28.0

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: linux-next: Tree for Apr 9 (x86 boot problem)
  2021-04-13 18:23                   ` Mike Rapoport
@ 2021-04-13 19:07                     ` Randy Dunlap
  2021-04-13 19:09                     ` Hugh Dickins
  1 sibling, 0 replies; 14+ messages in thread
From: Randy Dunlap @ 2021-04-13 19:07 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, X86 ML

On 4/13/21 11:23 AM, Mike Rapoport wrote:
> On Tue, Apr 13, 2021 at 10:34:25AM -0700, Randy Dunlap wrote:
>> On 4/13/21 9:58 AM, Mike Rapoport wrote:

>>
>> Mike,
>> That works.
>>
>> Please send the next test.
> 
> I think I've found the reason. trim_snb_memory() reserved the entire first
> megabyte very early leaving no room for real mode trampoline allocation.
> Since this reservation is needed only to make sure integrated gfx does not
> access some memory, it can be safely done after memblock allocations are
> possible.
> 
> I don't know if it can be fixed on the graphics device driver side, but
> from the setup_arch() perspective I think this would be the proper fix:
> 
> From c05f6046137abbcbb700571ce1ac54e7abb56a7d Mon Sep 17 00:00:00 2001
> From: Mike Rapoport <rppt@linux.ibm.com>
> Date: Tue, 13 Apr 2021 21:08:39 +0300
> Subject: [PATCH] x86/setup: move trim_snb_memory() later in setup_arch to fix
>  boot hangs
> 
> Commit a799c2bd29d1 ("x86/setup: Consolidate early memory reservations")
> moved reservation of the memory inaccessible by Sandy Bride integrated
> graphics very early and as the result on systems with such devices the
> first 1M was reserved by trim_snb_memory() which prevented the allocation
> of the real mode trampoline and made the boot hang very early.
> 
> Since the purpose of trim_snb_memory() is to prevent problematic pages ever
> reaching the graphics device, it is safe to reserve these pages after
> memblock allocations are possible.
> 
> Move trim_snb_memory later in boot so that it will be called after
> reserve_real_mode() and make comments describing trim_snb_memory()
> operation more elaborate.
> 
> Fixes: a799c2bd29d1 ("x86/setup: Consolidate early memory reservations")
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>

Yay! That boots.

Tested-by: Randy Dunlap <rdunlap@infradead.org>

Thanks.

> ---
>  arch/x86/kernel/setup.c | 20 +++++++++++++++-----
>  1 file changed, 15 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 59e5e0903b0c..ccdcfb19df1e 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -633,11 +633,16 @@ static void __init trim_snb_memory(void)
>  	printk(KERN_DEBUG "reserving inaccessible SNB gfx pages\n");
>  
>  	/*
> -	 * Reserve all memory below the 1 MB mark that has not
> -	 * already been reserved.
> +	 * SandyBridge integrated graphic devices have a bug that prevents
> +	 * them from accessing certain memory ranges, namely anything below
> +	 * 1M and in the pages listed in the bad_pages.
> +	 *
> +	 * To avoid these pages being ever accessed by SNB gfx device
> +	 * reserve all memory below the 1 MB mark and bad_pages that have
> +	 * not already been reserved at boot time.
>  	 */
>  	memblock_reserve(0, 1<<20);
> -	
> +
>  	for (i = 0; i < ARRAY_SIZE(bad_pages); i++) {
>  		if (memblock_reserve(bad_pages[i], PAGE_SIZE))
>  			printk(KERN_WARNING "failed to reserve 0x%08lx\n",
> @@ -746,8 +751,6 @@ static void __init early_reserve_memory(void)
>  
>  	reserve_ibft_region();
>  	reserve_bios_regions();
> -
> -	trim_snb_memory();
>  }
>  
>  /*
> @@ -1083,6 +1086,13 @@ void __init setup_arch(char **cmdline_p)
>  
>  	reserve_real_mode();
>  
> +	/*
> +	 * Reserving memory causing GPU hangs on Sandy Bridge integrated
> +	 * graphic devices should be done after we allocated memory under
> +	 * 1M for the real mode trampoline
> +	 */
> +	trim_snb_memory();
> +
>  	init_mem_mapping();
>  
>  	idt_setup_early_pf();
> 


-- 
~Randy


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: linux-next: Tree for Apr 9 (x86 boot problem)
  2021-04-13 18:23                   ` Mike Rapoport
  2021-04-13 19:07                     ` Randy Dunlap
@ 2021-04-13 19:09                     ` Hugh Dickins
  1 sibling, 0 replies; 14+ messages in thread
From: Hugh Dickins @ 2021-04-13 19:09 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Randy Dunlap, Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, X86 ML

On Tue, 13 Apr 2021, Mike Rapoport wrote:
> 
> I think I've found the reason. trim_snb_memory() reserved the entire first
> megabyte very early leaving no room for real mode trampoline allocation.
> Since this reservation is needed only to make sure integrated gfx does not
> access some memory, it can be safely done after memblock allocations are
> possible.
> 
> I don't know if it can be fixed on the graphics device driver side, but
> from the setup_arch() perspective I think this would be the proper fix:
> 
> From c05f6046137abbcbb700571ce1ac54e7abb56a7d Mon Sep 17 00:00:00 2001
> From: Mike Rapoport <rppt@linux.ibm.com>
> Date: Tue, 13 Apr 2021 21:08:39 +0300
> Subject: [PATCH] x86/setup: move trim_snb_memory() later in setup_arch to fix
>  boot hangs
> 
> Commit a799c2bd29d1 ("x86/setup: Consolidate early memory reservations")
> moved reservation of the memory inaccessible by Sandy Bride integrated
> graphics very early and as the result on systems with such devices the
> first 1M was reserved by trim_snb_memory() which prevented the allocation
> of the real mode trampoline and made the boot hang very early.
> 
> Since the purpose of trim_snb_memory() is to prevent problematic pages ever
> reaching the graphics device, it is safe to reserve these pages after
> memblock allocations are possible.
> 
> Move trim_snb_memory later in boot so that it will be called after
> reserve_real_mode() and make comments describing trim_snb_memory()
> operation more elaborate.
> 
> Fixes: a799c2bd29d1 ("x86/setup: Consolidate early memory reservations")
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>

Tested-by: Hugh Dickins <hughd@google.com>

Thanks Mike and Randy. ThinkPad T420s here. I didn't notice this thread
until this morning, but had been investigating bootup panic on mmotm
yesterday. I was more fortunate than Randy, in getting some console
output which soon led to a799c2bd29d1 without bisection. Expected
to go through it line by line today, but you've saved me - thanks.

> ---
>  arch/x86/kernel/setup.c | 20 +++++++++++++++-----
>  1 file changed, 15 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 59e5e0903b0c..ccdcfb19df1e 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -633,11 +633,16 @@ static void __init trim_snb_memory(void)
>  	printk(KERN_DEBUG "reserving inaccessible SNB gfx pages\n");
>  
>  	/*
> -	 * Reserve all memory below the 1 MB mark that has not
> -	 * already been reserved.
> +	 * SandyBridge integrated graphic devices have a bug that prevents
> +	 * them from accessing certain memory ranges, namely anything below
> +	 * 1M and in the pages listed in the bad_pages.
> +	 *
> +	 * To avoid these pages being ever accessed by SNB gfx device
> +	 * reserve all memory below the 1 MB mark and bad_pages that have
> +	 * not already been reserved at boot time.
>  	 */
>  	memblock_reserve(0, 1<<20);
> -	
> +
>  	for (i = 0; i < ARRAY_SIZE(bad_pages); i++) {
>  		if (memblock_reserve(bad_pages[i], PAGE_SIZE))
>  			printk(KERN_WARNING "failed to reserve 0x%08lx\n",
> @@ -746,8 +751,6 @@ static void __init early_reserve_memory(void)
>  
>  	reserve_ibft_region();
>  	reserve_bios_regions();
> -
> -	trim_snb_memory();
>  }
>  
>  /*
> @@ -1083,6 +1086,13 @@ void __init setup_arch(char **cmdline_p)
>  
>  	reserve_real_mode();
>  
> +	/*
> +	 * Reserving memory causing GPU hangs on Sandy Bridge integrated
> +	 * graphic devices should be done after we allocated memory under
> +	 * 1M for the real mode trampoline
> +	 */
> +	trim_snb_memory();
> +
>  	init_mem_mapping();
>  
>  	idt_setup_early_pf();
> -- 
> 2.28.0

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, back to index

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-09 11:51 linux-next: Tree for Apr 9 Stephen Rothwell
2021-04-10 23:50 ` linux-next: Tree for Apr 9 (drivers/iommu/intel/pasid.c) Randy Dunlap
2021-04-12  2:41 ` linux-next: Tree for Apr 9 (x86 boot problem) Randy Dunlap
2021-04-12  6:14   ` Mike Rapoport
2021-04-12 15:49     ` Randy Dunlap
2021-04-12 17:01       ` Mike Rapoport
2021-04-12 20:53         ` Randy Dunlap
2021-04-13  6:06           ` Mike Rapoport
2021-04-13  6:21             ` Randy Dunlap
2021-04-13 16:58               ` Mike Rapoport
2021-04-13 17:34                 ` Randy Dunlap
2021-04-13 18:23                   ` Mike Rapoport
2021-04-13 19:07                     ` Randy Dunlap
2021-04-13 19:09                     ` Hugh Dickins

Linux-Next Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-next/0 linux-next/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-next linux-next/ https://lore.kernel.org/linux-next \
		linux-next@vger.kernel.org
	public-inbox-index linux-next

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-next


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git