]> git.pld-linux.org Git - packages/kernel.git/blobdiff - kernel-vserver-fixes.patch
- 4.9.79
[packages/kernel.git] / kernel-vserver-fixes.patch
index 22a155b5b2104c43126d603cb9aa53c73559efb9..d123347c6396ba1817b39f5a4fbe80b7f2ffb8dd 100644 (file)
                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)
This page took 0.037208 seconds and 4 git commands to generate.