[packages/kernel/LINUX_4_9] - rel 3; fixes virt_load on vserver guests
arekm
arekm at pld-linux.org
Sat Jan 27 16:56:15 CET 2018
commit 7bec42457cbd72a82f4f3a3c973085c60f6df6e7
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Sat Jan 27 16:56:02 2018 +0100
- rel 3; fixes virt_load on vserver guests
kernel-vserver-fixes.patch | 23 +++++++++++++++++++++++
kernel.spec | 2 +-
2 files changed, 24 insertions(+), 1 deletion(-)
---
diff --git a/kernel.spec b/kernel.spec
index 9c7e269b..70289816 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -71,7 +71,7 @@
%define have_pcmcia 0
%endif
-%define rel 2
+%define rel 3
%define basever 4.9
%define postver .78
diff --git a/kernel-vserver-fixes.patch b/kernel-vserver-fixes.patch
index 22a155b5..d123347c 100644
--- a/kernel-vserver-fixes.patch
+++ b/kernel-vserver-fixes.patch
@@ -10,3 +10,26 @@
return true;
if (in_group_p(pid->pid_gid))
+diff -NurpP --minimal linux-4.9.78-vs2.3.9.6/kernel/sched/loadavg.c linux-4.9.78-vs2.3.9.6.1/kernel/sched/loadavg.c
+--- linux-4.9.78-vs2.3.9.6/kernel/sched/loadavg.c 2018-01-10 02:47:50.000000000 +0000
++++ linux-4.9.78-vs2.3.9.6.1/kernel/sched/loadavg.c 2018-01-26 12:19:45.000000000 +0000
+@@ -73,9 +73,16 @@ EXPORT_SYMBOL(avenrun); /* should be rem
+ */
+ void get_avenrun(unsigned long *loads, unsigned long offset, int shift)
+ {
+- loads[0] = (avenrun[0] + offset) << shift;
+- loads[1] = (avenrun[1] + offset) << shift;
+- loads[2] = (avenrun[2] + offset) << shift;
++ if (vx_flags(VXF_VIRT_LOAD, 0)) {
++ struct vx_info *vxi = current_vx_info();
++ loads[0] = (vxi->cvirt.load[0] + offset) << shift;
++ loads[1] = (vxi->cvirt.load[1] + offset) << shift;
++ loads[2] = (vxi->cvirt.load[2] + offset) << shift;
++ } else {
++ loads[0] = (avenrun[0] + offset) << shift;
++ loads[1] = (avenrun[1] + offset) << shift;
++ loads[2] = (avenrun[2] + offset) << shift;
++ }
+ }
+
+ long calc_load_fold_active(struct rq *this_rq, long adjust)
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/7bec42457cbd72a82f4f3a3c973085c60f6df6e7
More information about the pld-cvs-commit
mailing list