drm/i915: Break up error capture compression loops with cond_resched()
Chris Wilson authored
commit 7d555314

 upstream.

As the error capture will compress user buffers as directed to by the
user, it can take an arbitrary amount of time and space. Break up the
compression loops with a call to cond_resched(), that will allow other
processes to schedule (avoiding the soft lockups) and also serve as a
warning should we try to make this loop atomic in the future.

Testcase: igt/gem_exec_capture/many-*
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: stable@vger.kernel.org
Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200916090059.3189-2-chris@chris-wilson.co.uk
(cherry picked from commit 293f43c8

)
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
9be75839
Name Last commit Last update
Documentation media: videodev2.h: RGB BT2020 and HSV are always full range
arch KVM: arm64: Fix AArch32 handling of DBGD{CCINT,SCRext} and DBGVCR
block block: ensure bdi->io_pages is always initialized
certs Replace magic for trusting the secondary keyring with #define
crypto crypto: algif_skcipher - EBUSY on aio should be an error
drivers drm/i915: Break up error capture compression loops with cond_resched()
firmware Fix built-in early-load Intel microcode alignment
fs cachefiles: Handle readpage error correctly
include hil/parisc: Disable HIL driver when it gets stuck
init printk: reduce LOG_BUF_SHIFT range for H8300
ipc ipc/util.c: sysvipc_find_ipc() incorrectly updates position index
kernel ring-buffer: Return 0 on success from ring_buffer_resize()
lib sgl_alloc_order: fix memory leak
mm mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary
net libceph: clear con->out_msg on Policy::stateful_server faults
samples misc: vop: add round_up(x,4) for vring_size to avoid kernel panic
scripts scripts/setlocalversion: make git describe output more reliable
security ima: Don't ignore errors from crypto_shash_update()
sound ALSA: seq: oss: Avoid mutex lock for a long-time ioctl
tools perf python scripting: Fix printable strings in python3 scripts
usr initramfs: restore default compression behavior
virt KVM: fix overflow of zero page refcount with ksm running
.cocciconfig scripts: add Linux .cocciconfig for coccinelle
.get_maintainer.ignore Add hch to .get_maintainer.ignore
.gitattributes .gitattributes: set git diff driver for C source code files
.gitignore kbuild: rpm-pkg: keep spec file until make mrproper
.mailmap .mailmap: Add Maciej W. Rozycki's Imagination e-mail address
COPYING [PATCH] update FSF address in COPYING
CREDITS MAINTAINERS: update TPM driver infrastructure changes
Kbuild License cleanup: add SPDX GPL-2.0 license identifier to files with no license
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license
MAINTAINERS MAINTAINERS: Update drm/i915 bug filing URL
Makefile Linux 4.14.204
README README: add a new README file, pointing to the Documentation/
Linux kernel
============

This file was moved to Documentation/admin-guide/README.rst

Please notice that there are several guides for kernel developers and users.
These guides can be rendered in a number of formats, like HTML and PDF.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.