Hi,
please consider applying commit dead1c845dbe ("powerpc/pci/of: Parse unassigned resources")
to v4.19.y and older stable branches.
When testing qemu v5.0 in my build system, I noticed that I can no longer boot pseries
images from sdhci/mmc with v4.19.y and older kernels. When tracking this down, I found
that the devicetree structure passed to the kernel has changed in qemu v5.0. Specifically,
there is no assigned-addresses property anymore, and the devicetree structure looks
more like a generic devicetree structure.
As it turns out, that change has been addressed in the Linux kernel with commit
dead1c845dbe ("powerpc/pci/of: Parse unassigned resources"). After applying this commit
to v3.16.y..v4.19.y, the problem is fixed.
I could work around the problem by using qemu 4.2 for older kernel branches, but
I would prefer to run a single qemu version for all branches if possible.
Thanks,
Guenter
Hi Michael
> -----Original Message-----
> From: Michael S. Tsirkin <mst(a)redhat.com>
> Sent: Monday, May 4, 2020 8:16 PM
> To: Linus Torvalds <torvalds(a)linux-foundation.org>
> Cc: kvm(a)vger.kernel.org; virtualization(a)lists.linux-foundation.org;
> netdev(a)vger.kernel.org; linux-kernel(a)vger.kernel.org; Justin He
> <Justin.He(a)arm.com>; ldigby(a)redhat.com; mst(a)redhat.com; n.b(a)live.com;
> stefanha(a)redhat.com
> Subject: [GIT PULL] vhost: fixes
>
> The following changes since commit
> 6a8b55ed4056ea5559ebe4f6a4b247f627870d4c:
>
> Linux 5.7-rc3 (2020-04-26 13:51:02 -0700)
>
> are available in the Git repository at:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus
>
> for you to fetch changes up to
> 0b841030625cde5f784dd62aec72d6a766faae70:
>
> vhost: vsock: kick send_pkt worker once device is started (2020-05-02
> 10:28:21 -0400)
>
> ----------------------------------------------------------------
> virtio: fixes
>
> A couple of bug fixes.
>
> Signed-off-by: Michael S. Tsirkin <mst(a)redhat.com>
>
> ----------------------------------------------------------------
> Jia He (1):
> vhost: vsock: kick send_pkt worker once device is started
Should this fix also be CC-ed to stable? Sorry I forgot to cc it to stable.
--
Cheers,
Justin (Jia He)
>
> Stefan Hajnoczi (1):
> virtio-blk: handle block_device_operations callbacks after hot unplug
>
> drivers/block/virtio_blk.c | 86
> +++++++++++++++++++++++++++++++++++++++++-----
> drivers/vhost/vsock.c | 5 +++
> 2 files changed, 83 insertions(+), 8 deletions(-)
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
We recorded the dependencies for WAIT_FOR_SUBMIT in order that we could
correctly perform priority inheritance from the parallel branches to the
common trunk. However, for the purpose of timeslicing and reset
handling, the dependency is weak -- as we the pair of requests are
allowed to run in parallel and not in strict succession. So for example
we do need to suspend one if the other hangs.
The real significance though is that this allows us to rearrange
groups of WAIT_FOR_SUBMIT linked requests along the single engine, and
so can resolve user level inter-batch scheduling dependencies from user
semaphores.
Fixes: c81471f5e95c ("drm/i915: Copy across scheduler behaviour flags across submit fences")
Signed-off-by: Chris Wilson <chris(a)chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin(a)intel.com>
Cc: <stable(a)vger.kernel.org> # v5.6+
---
drivers/gpu/drm/i915/gt/intel_lrc.c | 9 +++++++++
drivers/gpu/drm/i915/i915_request.c | 8 ++++++--
drivers/gpu/drm/i915/i915_scheduler.c | 4 +++-
drivers/gpu/drm/i915/i915_scheduler.h | 3 ++-
drivers/gpu/drm/i915/i915_scheduler_types.h | 1 +
5 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index dc3f2ee7136d..10109f661bcb 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -1880,6 +1880,9 @@ static void defer_request(struct i915_request *rq, struct list_head * const pl)
struct i915_request *w =
container_of(p->waiter, typeof(*w), sched);
+ if (p->flags & I915_DEPENDENCY_WEAK)
+ continue;
+
/* Leave semaphores spinning on the other engines */
if (w->engine != rq->engine)
continue;
@@ -2726,6 +2729,9 @@ static void __execlists_hold(struct i915_request *rq)
struct i915_request *w =
container_of(p->waiter, typeof(*w), sched);
+ if (p->flags & I915_DEPENDENCY_WEAK)
+ continue;
+
/* Leave semaphores spinning on the other engines */
if (w->engine != rq->engine)
continue;
@@ -2850,6 +2856,9 @@ static void __execlists_unhold(struct i915_request *rq)
struct i915_request *w =
container_of(p->waiter, typeof(*w), sched);
+ if (p->flags & I915_DEPENDENCY_WEAK)
+ continue;
+
/* Propagate any change in error status */
if (rq->fence.error)
i915_request_set_error_once(w, rq->fence.error);
diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
index 22635bbabf06..95edc5523a01 100644
--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -1038,7 +1038,9 @@ i915_request_await_request(struct i915_request *to, struct i915_request *from)
return 0;
if (to->engine->schedule) {
- ret = i915_sched_node_add_dependency(&to->sched, &from->sched);
+ ret = i915_sched_node_add_dependency(&to->sched,
+ &from->sched,
+ 0);
if (ret < 0)
return ret;
}
@@ -1200,7 +1202,9 @@ __i915_request_await_execution(struct i915_request *to,
/* Couple the dependency tree for PI on this exposed to->fence */
if (to->engine->schedule) {
- err = i915_sched_node_add_dependency(&to->sched, &from->sched);
+ err = i915_sched_node_add_dependency(&to->sched,
+ &from->sched,
+ I915_DEPENDENCY_WEAK);
if (err < 0)
return err;
}
diff --git a/drivers/gpu/drm/i915/i915_scheduler.c b/drivers/gpu/drm/i915/i915_scheduler.c
index 37cfcf5b321b..5f4c1e49e974 100644
--- a/drivers/gpu/drm/i915/i915_scheduler.c
+++ b/drivers/gpu/drm/i915/i915_scheduler.c
@@ -462,7 +462,8 @@ bool __i915_sched_node_add_dependency(struct i915_sched_node *node,
}
int i915_sched_node_add_dependency(struct i915_sched_node *node,
- struct i915_sched_node *signal)
+ struct i915_sched_node *signal,
+ unsigned long flags)
{
struct i915_dependency *dep;
@@ -473,6 +474,7 @@ int i915_sched_node_add_dependency(struct i915_sched_node *node,
local_bh_disable();
if (!__i915_sched_node_add_dependency(node, signal, dep,
+ flags |
I915_DEPENDENCY_EXTERNAL |
I915_DEPENDENCY_ALLOC))
i915_dependency_free(dep);
diff --git a/drivers/gpu/drm/i915/i915_scheduler.h b/drivers/gpu/drm/i915/i915_scheduler.h
index d1dc4efef77b..6f0bf00fc569 100644
--- a/drivers/gpu/drm/i915/i915_scheduler.h
+++ b/drivers/gpu/drm/i915/i915_scheduler.h
@@ -34,7 +34,8 @@ bool __i915_sched_node_add_dependency(struct i915_sched_node *node,
unsigned long flags);
int i915_sched_node_add_dependency(struct i915_sched_node *node,
- struct i915_sched_node *signal);
+ struct i915_sched_node *signal,
+ unsigned long flags);
void i915_sched_node_fini(struct i915_sched_node *node);
diff --git a/drivers/gpu/drm/i915/i915_scheduler_types.h b/drivers/gpu/drm/i915/i915_scheduler_types.h
index d18e70550054..7186875088a0 100644
--- a/drivers/gpu/drm/i915/i915_scheduler_types.h
+++ b/drivers/gpu/drm/i915/i915_scheduler_types.h
@@ -78,6 +78,7 @@ struct i915_dependency {
unsigned long flags;
#define I915_DEPENDENCY_ALLOC BIT(0)
#define I915_DEPENDENCY_EXTERNAL BIT(1)
+#define I915_DEPENDENCY_WEAK BIT(2)
};
#endif /* _I915_SCHEDULER_TYPES_H_ */
--
2.20.1
This is the start of the stable review cycle for the 4.19.121 release.
There are 37 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Wed, 06 May 2020 16:52:55 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.19.121-r…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.19.121-rc1
Martin Blumenstingl <martin.blumenstingl(a)googlemail.com>
mmc: meson-mx-sdio: remove the broken ->card_busy() op
Martin Blumenstingl <martin.blumenstingl(a)googlemail.com>
mmc: meson-mx-sdio: Set MMC_CAP_WAIT_WHILE_BUSY
Veerabhadrarao Badiganti <vbadigan(a)codeaurora.org>
mmc: sdhci-msm: Enable host capabilities pertains to R1b response
Adrian Hunter <adrian.hunter(a)intel.com>
mmc: sdhci-pci: Fix eMMC driver strength for BYT-based controllers
Marek Behún <marek.behun(a)nic.cz>
mmc: sdhci-xenon: fix annoying 1.8V regulator warning
Douglas Anderson <dianders(a)chromium.org>
mmc: cqhci: Avoid false "cqhci: CQE stuck on" by not open-coding timeout loop
Qu Wenruo <wqu(a)suse.com>
btrfs: transaction: Avoid deadlock due to bad initialization timing of fs_info::journal_info
Filipe Manana <fdmanana(a)suse.com>
btrfs: fix partial loss of prealloc extent past i_size after fsync
Paul Moore <paul(a)paul-moore.com>
selinux: properly handle multiple messages in selinux_netlink_send()
Andy Shevchenko <andriy.shevchenko(a)linux.intel.com>
dmaengine: dmatest: Fix iteration non-stop logic
Andreas Gruenbacher <agruenba(a)redhat.com>
nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl
Arnd Bergmann <arnd(a)arndb.de>
ALSA: opti9xx: shut up gcc-10 range warning
Suravee Suthikulpanit <suravee.suthikulpanit(a)amd.com>
iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system
David Disseldorp <ddiss(a)suse.de>
scsi: target/iblock: fix WRITE SAME zeroing
Tang Bin <tangbin(a)cmss.chinamobile.com>
iommu/qcom: Fix local_base status check
Sean Christopherson <sean.j.christopherson(a)intel.com>
vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn()
Yan Zhao <yan.y.zhao(a)intel.com>
vfio: avoid possible overflow in vfio_iommu_type1_pin_pages
Leon Romanovsky <leon(a)kernel.org>
RDMA/core: Fix race between destroy and release FD object
Leon Romanovsky <leon(a)kernel.org>
RDMA/core: Prevent mixed use of FDs between shared ufiles
Alaa Hleihel <alaa(a)mellanox.com>
RDMA/mlx4: Initialize ib_spec on the stack
Aharon Landau <aharonl(a)mellanox.com>
RDMA/mlx5: Set GRH fields in query QP on RoCE
Martin Wilck <mwilck(a)suse.com>
scsi: qla2xxx: check UNLOADING before posting async work
Martin Wilck <mwilck(a)suse.com>
scsi: qla2xxx: set UNLOADING before waiting for session deletion
Gabriel Krisman Bertazi <krisman(a)collabora.com>
dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath
Mikulas Patocka <mpatocka(a)redhat.com>
dm writecache: fix data corruption when reloading the target
Sunwook Eom <speed.eom(a)samsung.com>
dm verity fec: fix hash block number in verity_fec_decode
Dexuan Cui <decui(a)microsoft.com>
PM: hibernate: Freeze kernel threads in software_resume()
Kai-Heng Feng <kai.heng.feng(a)canonical.com>
PM: ACPI: Output correct message on target power state
Takashi Iwai <tiwai(a)suse.de>
ALSA: pcm: oss: Place the plugin buffer overflow checks correctly
Wu Bo <wubo40(a)huawei.com>
ALSA: hda/hdmi: fix without unlocked before return
Takashi Iwai <tiwai(a)suse.de>
ALSA: usb-audio: Correct a typo of NuPrime DAC-10 USB ID
Hui Wang <hui.wang(a)canonical.com>
ALSA: hda/realtek - Two front mics on a Lenovo ThinkCenter
Xiyu Yang <xiyuyang19(a)fudan.edu.cn>
btrfs: fix block group leak when removing fails
Vasily Averin <vvs(a)virtuozzo.com>
drm/qxl: qxl_release use after free
Vasily Averin <vvs(a)virtuozzo.com>
drm/qxl: qxl_release leak in qxl_hw_surface_alloc()
Vasily Averin <vvs(a)virtuozzo.com>
drm/qxl: qxl_release leak in qxl_draw_dirty_fb()
Ville Syrjälä <ville.syrjala(a)linux.intel.com>
drm/edid: Fix off-by-one in DispID DTD pixel clock
-------------
Diffstat:
Makefile | 4 +--
drivers/acpi/device_pm.c | 4 +--
drivers/dma/dmatest.c | 4 +--
drivers/gpu/drm/drm_edid.c | 2 +-
drivers/gpu/drm/qxl/qxl_cmd.c | 10 +++---
drivers/gpu/drm/qxl/qxl_display.c | 6 ++--
drivers/gpu/drm/qxl/qxl_draw.c | 13 +++----
drivers/gpu/drm/qxl/qxl_ioctl.c | 5 +--
drivers/infiniband/core/rdma_core.c | 4 +--
drivers/infiniband/hw/mlx4/main.c | 3 +-
drivers/infiniband/hw/mlx5/qp.c | 4 ++-
drivers/iommu/amd_iommu_init.c | 2 +-
drivers/iommu/qcom_iommu.c | 5 ++-
drivers/md/dm-mpath.c | 6 ++--
drivers/md/dm-verity-fec.c | 2 +-
drivers/md/dm-writecache.c | 52 +++++++++++++++++++--------
drivers/mmc/host/cqhci.c | 21 ++++++-----
drivers/mmc/host/meson-mx-sdio.c | 11 +-----
drivers/mmc/host/sdhci-msm.c | 2 ++
drivers/mmc/host/sdhci-pci-core.c | 3 ++
drivers/mmc/host/sdhci-xenon.c | 10 ++++++
drivers/scsi/qla2xxx/qla_os.c | 35 +++++++++----------
drivers/target/target_core_iblock.c | 2 +-
drivers/vfio/vfio_iommu_type1.c | 6 ++--
fs/btrfs/extent-tree.c | 16 +++++----
fs/btrfs/transaction.c | 13 +++++--
fs/btrfs/tree-log.c | 43 +++++++++++++++++++++--
fs/nfs/nfs3acl.c | 22 ++++++++----
kernel/power/hibernate.c | 7 ++++
security/selinux/hooks.c | 70 ++++++++++++++++++++++++-------------
sound/core/oss/pcm_plugin.c | 20 ++++++-----
sound/isa/opti9xx/miro.c | 9 +++--
sound/isa/opti9xx/opti92x-ad1848.c | 9 +++--
sound/pci/hda/patch_hdmi.c | 4 ++-
sound/pci/hda/patch_realtek.c | 1 +
sound/usb/quirks.c | 2 +-
36 files changed, 281 insertions(+), 151 deletions(-)