GoboLinux Downloads Documentation Community Recipes Screenshots

GoboLinux Recipe & Package Search Tool

71 versions of Linux.

ProgramAgeSizeByWWWSummary
Linux 4.13.2-r1 884  88794 Luca...
The Linux Kernel.
Linux 4.9.16-r3 1055  100651 Luca...
The Linux Kernel.
Linux 4.9.4-r5 1111  99374 Luca...
The Linux Kernel.
Linux 4.8.2-r2 1177  89394 Luca...
The Linux Kernel.
view entry at GitHub | download recipe.bz2 file
01-gobohide.patch
02-apple-gmux.patch
03-macbook-suspend.patch
04-apple-poweroff-quirk-workaround.patch
05-intel-pstate-backport.patch
06-dirty_cow.patch
Recipe
Resources/BuildDependencies
Resources/BuildInformation
Resources/Dependencies
Resources/Description
cell/02-memcpy-cell.patch
cell/Recipe
cell/dot-config
i686/Recipe
i686/dot-config
ppc/Recipe
ppc/dot-config
x86_64/Recipe
x86_64/dot-config
--- linux-4.8/drivers/cpufreq/intel_pstate.c.orig	2016-10-02 19:24:33.000000000 -0400
+++ linux-4.8/drivers/cpufreq/intel_pstate.c	2016-10-09 19:32:01.073141319 -0400
@@ -181,6 +181,8 @@
  * @cpu:		CPU number for this instance data
  * @update_util:	CPUFreq utility callback information
  * @update_util_set:	CPUFreq utility callback is set
+ * @iowait_boost:	iowait-related boost fraction
+ * @last_update:	Time of the last update.
  * @pstate:		Stores P state limits for this CPU
  * @vid:		Stores VID limits for this CPU
  * @pid:		Stores PID parameters for this CPU
@@ -206,6 +208,7 @@
 	struct vid_data vid;
 	struct _pid pid;

+	u64	last_update;
 	u64	last_sample_time;
 	u64	prev_aperf;
 	u64	prev_mperf;
@@ -216,6 +219,7 @@
 	struct acpi_processor_performance acpi_perf_data;
 	bool valid_pss_table;
 #endif
+	unsigned int iowait_boost;
 };

 static struct cpudata **all_cpu_data;
@@ -229,6 +233,7 @@
  * @p_gain_pct:		PID proportional gain
  * @i_gain_pct:		PID integral gain
  * @d_gain_pct:		PID derivative gain
+ * @boost_iowait:	Whether or not to use iowait boosting.
  *
  * Stores per CPU model static PID configuration data.
  */
@@ -240,6 +245,7 @@
 	int p_gain_pct;
 	int d_gain_pct;
 	int i_gain_pct;
+	bool boost_iowait;
 };

 /**
@@ -1029,7 +1035,7 @@
 	},
 };

-static struct cpu_defaults silvermont_params = {
+static const struct cpu_defaults silvermont_params = {
 	.pid_policy = {
 		.sample_rate_ms = 10,
 		.deadband = 0,
@@ -1037,6 +1043,7 @@
 		.p_gain_pct = 14,
 		.d_gain_pct = 0,
 		.i_gain_pct = 4,
+		.boost_iowait = true,
 	},
 	.funcs = {
 		.get_max = atom_get_max_pstate,
@@ -1050,7 +1057,7 @@
 	},
 };

-static struct cpu_defaults airmont_params = {
+static const struct cpu_defaults airmont_params = {
 	.pid_policy = {
 		.sample_rate_ms = 10,
 		.deadband = 0,
@@ -1058,6 +1065,7 @@
 		.p_gain_pct = 14,
 		.d_gain_pct = 0,
 		.i_gain_pct = 4,
+		.boost_iowait = true,
 	},
 	.funcs = {
 		.get_max = atom_get_max_pstate,
@@ -1071,7 +1079,7 @@
 	},
 };

-static struct cpu_defaults knl_params = {
+static const struct cpu_defaults knl_params = {
 	.pid_policy = {
 		.sample_rate_ms = 10,
 		.deadband = 0,
@@ -1091,7 +1099,7 @@
 	},
 };

-static struct cpu_defaults bxt_params = {
+static const struct cpu_defaults bxt_params = {
 	.pid_policy = {
 		.sample_rate_ms = 10,
 		.deadband = 0,
@@ -1099,6 +1107,7 @@
 		.p_gain_pct = 14,
 		.d_gain_pct = 0,
 		.i_gain_pct = 4,
+		.boost_iowait = true,
 	},
 	.funcs = {
 		.get_max = core_get_max_pstate,
@@ -1222,36 +1231,18 @@
 static inline int32_t get_target_pstate_use_cpu_load(struct cpudata *cpu)
 {
 	struct sample *sample = &cpu->sample;
-	u64 cummulative_iowait, delta_iowait_us;
-	u64 delta_iowait_mperf;
-	u64 mperf, now;
-	int32_t cpu_load;
+	int32_t busy_frac, boost;

-	cummulative_iowait = get_cpu_iowait_time_us(cpu->cpu, &now);
+	busy_frac = div_fp(sample->mperf, sample->tsc);

-	/*
-	 * Convert iowait time into number of IO cycles spent at max_freq.
-	 * IO is considered as busy only for the cpu_load algorithm. For
-	 * performance this is not needed since we always try to reach the
-	 * maximum P-State, so we are already boosting the IOs.
-	 */
-	delta_iowait_us = cummulative_iowait - cpu->prev_cummulative_iowait;
-	delta_iowait_mperf = div64_u64(delta_iowait_us * cpu->pstate.scaling *
-		cpu->pstate.max_pstate, MSEC_PER_SEC);
-
-	mperf = cpu->sample.mperf + delta_iowait_mperf;
-	cpu->prev_cummulative_iowait = cummulative_iowait;
+	boost = cpu->iowait_boost;
+	cpu->iowait_boost >>= 1;

-	/*
-	 * The load can be estimated as the ratio of the mperf counter
-	 * running at a constant frequency during active periods
-	 * (C0) and the time stamp counter running at the same frequency
-	 * also during C-states.
-	 */
-	cpu_load = div64_u64(int_tofp(100) * mperf, sample->tsc);
-	cpu->sample.busy_scaled = cpu_load;
+	if (busy_frac < boost)
+		busy_frac = boost;

-	return get_avg_pstate(cpu) - pid_calc(&cpu->pid, cpu_load);
+	sample->busy_scaled = busy_frac * 100;
+	return get_avg_pstate(cpu) - pid_calc(&cpu->pid, sample->busy_scaled);
 }

 static inline int32_t get_target_pstate_use_performance(struct cpudata *cpu)
Linux 4.7.4-r1 1247  82767 Luca...
The Linux Kernel.
Linux 4.7.0-r4 1302  82585 Luca...
The Linux Kernel.
Linux 3.13.3-r1 2182  252629 Luca...
The Linux Kernel.
Linux 3.12.6-r1 2242  238949 Luca...
The Linux Kernel.
Linux 3.9.4-r2 2437  70048 Luca...
The Linux Kernel.
Linux 3.7.1-r2 2610  67579 Luca...
The Linux Kernel.
Linux 3.5.0-r1 2761  124391 Luca...
The Linux Kernel.
Linux 3.4.4-r1 2761  124348 Luca...
The Linux Kernel.
Linux 3.3.6-r1 2761  124410 Luca...
The Linux Kernel.
Linux 3.2.12-r2 2889  124345 Luca...
The Linux Kernel.
Linux 3.2.7-r1 2919  123550 Mich...
The Linux Kernel.
Linux 3.1.1-r1 3024  122907 Mich...
The Linux Kernel.
Linux 3.0.4-r4 3085  122754 Luca...
The Linux Kernel.
Linux 2.6.36.3-r1 3308  116087 Diog...
The Linux Kernel.
Linux 2.6.32.3-r1 3686  117990 Luca...
The Linux Kernel.
Linux 2.6.32-r1 3727  117751 Luca...
The Linux Kernel.
Linux 2.6.31.6-r3 3732  126499 Luca...
The Linux Kernel.
Linux 2.6.30.5-r1 3811  166102 Jona...
The Linux Kernel.
Linux 2.6.29.1-r1 3954  117500 Luca...
The Linux Kernel.
Linux 2.6.28.7-r1 4010  115518 Giam...
The Linux Kernel.
Linux 2.6.28.1-r1 4010  115487 Giam...
The Linux Kernel.
Linux 2.6.28-r1 4010  116681 Mich...
The Linux Kernel.
Linux 2.6.27.8-r1 4010  134160 Giam...
The Linux Kernel.
Linux 2.6.27.4-r3 4010  149529 Luca...
The Linux Kernel.
Linux 2.6.25.17-r1 4010  172834 Giam...
The Linux Kernel.
Linux 2.6.25.16-r1 4010  166500 Giam...
The Linux Kernel.
Linux 2.6.25.10-r2 4010  165320 Giam...
The Linux Kernel.
Linux 2.6.25.7-r1 4010  157294 Giam...
The Linux Kernel.
Linux 2.6.25.4-r1 4010  133017 Hopp...
The Linux Kernel.
Linux 2.6.25-r1 4010  133216 Luca...
The Linux Kernel.
Linux 2.6.24.4-r5 4010  150733
The Linux Kernel.
Linux 2.6.24.3-r5 4010  150221 Luca...
The Linux Kernel.
Linux 2.6.24.2-r3 4010  146488 Giam...
The Linux Kernel.
Linux 2.6.24.1-r1 4010  146454 Giam...
The Linux Kernel.
Linux 2.6.24-r1 4010  146428 Luca...
The Linux Kernel.
Linux 2.6.23.8-r4 4010  155842 Luca...
The Linux Kernel.
Linux 2.6.22.7-r4 4010  114727 Luca...
The Linux Kernel.
Linux 2.6.22.1-r1 4010  121391 Luca...
The Linux Kernel.
Linux 2.6.21.1-r3 4010  118854 Luca...
The Linux Kernel.
Linux 2.6.20.7-r1 4010  117945 Luca...
The Linux Kernel.
Linux 2.6.20.4-r3 4010  151150 Luca...
The Linux Kernel.
Linux 2.6.20-r1 4010  106429 Luca...
The Linux Kernel.
Linux 2.6.18.3-r2 4010  111124 Luca...
The Linux Kernel.
Linux 2.6.17.11-r1 4010  164053 Luca...
The Linux Kernel.
Linux 2.6.17.3-r1 4010  165067 Luca...
The Linux Kernel.
Linux 2.6.16.20-r1 4010  133625 Luca...
The Linux Kernel.
Linux 2.6.16.14-r1 4010  168270 Luca...
The Linux Kernel.
Linux 2.6.15.5-r1 4010  224686 Jona...
The Linux Kernel.
Linux 2.6.15.2-r1 4010  177165 Carl...
The Linux Kernel.
Linux 2.6.15.1-r1 4010  149219 Jona...
The Linux Kernel.
Linux 2.6.15-r1 4010  149214 Luca...
The Linux Kernel.
Linux 2.6.14.4-r1 4010  150166 Jona...
The Linux Kernel.
Linux 2.6.14.3-r1 4010  150060 Jona...
The Linux Kernel.
Linux 2.6.14.2-r1 4010  149791 Carl...
The Linux Kernel.
Linux 2.6.13.4-r1 4010  149559 Luca...
The Linux Kernel.
Linux 2.6.13.2-r1 4010  56611 Jona...
The Linux Kernel.
Linux 2.6.13.1-r1 4010  56378 Luca...
The Linux Kernel.
Linux 2.6.12.2-r1 4010  50355 Luca...
The Linux Kernel.
Linux 2.6.11.9-r1 4010  98969 Luca...
The Linux Kernel.
Linux 2.6.11.8-r1 4010  109424 Jona...
The Linux Kernel.
Linux 2.6.11-r1 4010  99032 Luca...
The Linux Kernel.
Linux 2.6.10-r1 4010  65969 Luca...
The Linux Kernel.
Linux 2.6.9-r1 4010  278461 Luca...
The Linux Kernel.
Linux 2.6.8.1-r1 4010  35576 Luca...
The Linux Kernel.
Linux 2.6.7-r1 4010  22610 Luca...
The Linux Kernel.
Linux 2.6.6-r1 4010  21958 Luca...
The Linux Kernel.
Linux 2.4.26-r1 4010  22359 Luca...
The Linux Kernel.