commit 7bec42457cbd72a82f4f3a3c973085c60f6df6e7
Author: Arkadiusz MiĆkiewicz <[email protected]>
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
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit