summaryrefslogtreecommitdiffstats
path: root/mm/slab_common.c
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2016-08-03 09:00:14 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-08-20 18:11:04 +0200
commiteba117fe1c4fa000fdda0199b93010dc01bc294b (patch)
tree19b2d95feb1ed073eb85b0da4c68939a7540649c /mm/slab_common.c
parent6dda994f9c7886e21bf3aa74bdea68cfc38184ef (diff)
downloadlinux-stable-eba117fe1c4fa000fdda0199b93010dc01bc294b.tar.gz
linux-stable-eba117fe1c4fa000fdda0199b93010dc01bc294b.tar.bz2
linux-stable-eba117fe1c4fa000fdda0199b93010dc01bc294b.zip
ACPI / EC: Work around method reentrancy limit in ACPICA for _Qxx
commit e1191bd4f62d9086a1a47adc286e7fcffc1fa55c upstream. A regression is caused by the following commit: Commit: 02b771b64b73226052d6e731a0987db3b47281e9 Subject: ACPI / EC: Fix an issue caused by the serialized _Qxx evaluations In this commit, using system workqueue causes that the maximum parallel executions of _Qxx can exceed 255. This violates the method reentrancy limit in ACPICA and generates the following error log: ACPI Error: Method reached maximum reentrancy limit (255) (20150818/dsmethod-341) This patch creates a seperate workqueue and limits the number of parallel _Qxx evaluations down to a configurable value (can be tuned against number of online CPUs). Since EC events are handled after driver probe, we can create the workqueue in acpi_ec_init(). Fixes: 02b771b64b73 (ACPI / EC: Fix an issue caused by the serialized _Qxx evaluations) Link: https://bugzilla.kernel.org/show_bug.cgi?id=135691 Reported-and-tested-by: Helen Buus <ubuntu@hbuus.com> Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm/slab_common.c')
0 files changed, 0 insertions, 0 deletions