Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 88c5100c authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'master' of github.com:davem330/net

Conflicts:
	net/batman-adv/soft-interface.c
parents 8083f0fc 3ee72ca9
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -35,13 +35,6 @@ the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
All Sysfs entries are named with their core_id (represented here by 'X').
tempX_input	 - Core temperature (in millidegrees Celsius).
tempX_max	 - All cooling devices should be turned on (on Core2).
		   Initialized with IA32_THERM_INTERRUPT. When the CPU
		   temperature reaches this temperature, an interrupt is
		   generated and tempX_max_alarm is set.
tempX_max_hyst   - If the CPU temperature falls below than temperature,
		   an interrupt is generated and tempX_max_alarm is reset.
tempX_max_alarm  - Set if the temperature reaches or exceeds tempX_max.
		   Reset if the temperature drops to or below tempX_max_hyst.
tempX_crit	 - Maximum junction temperature (in millidegrees Celsius).
tempX_crit_alarm - Set when Out-of-spec bit is set, never clears.
		   Correct CPU operation is no longer guaranteed.
@@ -49,9 +42,10 @@ tempX_label - Contains string "Core X", where X is processor
		   number. For Package temp, this will be "Physical id Y",
		   where Y is the package number.

The TjMax temperature is set to 85 degrees C if undocumented model specific
register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as
(sometimes) documented in processor datasheet.
On CPU models which support it, TjMax is read from a model-specific register.
On other models, it is set to an arbitrary value based on weak heuristics.
If these heuristics don't work for you, you can pass the correct TjMax value
as a module parameter (tjmax).

Appendix A. Known TjMax lists (TBD):
Some information comes from ark.intel.com
+2 −2
Original line number Diff line number Diff line
@@ -1042,7 +1042,7 @@ conf/interface/*:
	The functional behaviour for certain settings is different
	depending on whether local forwarding is enabled or not.

accept_ra - BOOLEAN
accept_ra - INTEGER
	Accept Router Advertisements; autoconfigure using them.

	It also determines whether or not to transmit Router
@@ -1111,7 +1111,7 @@ dad_transmits - INTEGER
	The amount of Duplicate Address Detection probes to send.
	Default: 1

forwarding - BOOLEAN
forwarding - INTEGER
	Configure interface-specific Host/Router behaviour.

	Note: It is recommended to have the same setting on all
+6 −6
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ applying a filter to each packet that assigns it to one of a small number
of logical flows. Packets for each flow are steered to a separate receive
queue, which in turn can be processed by separate CPUs. This mechanism is
generally known as “Receive-side Scaling” (RSS). The goal of RSS and
the other scaling techniques to increase performance uniformly.
the other scaling techniques is to increase performance uniformly.
Multi-queue distribution can also be used for traffic prioritization, but
that is not the focus of these techniques.

@@ -186,10 +186,10 @@ are steered using plain RPS. Multiple table entries may point to the
same CPU. Indeed, with many flows and few CPUs, it is very likely that
a single application thread handles flows with many different flow hashes.

rps_sock_table is a global flow table that contains the *desired* CPU for
flows: the CPU that is currently processing the flow in userspace. Each
table value is a CPU index that is updated during calls to recvmsg and
sendmsg (specifically, inet_recvmsg(), inet_sendmsg(), inet_sendpage()
rps_sock_flow_table is a global flow table that contains the *desired* CPU
for flows: the CPU that is currently processing the flow in userspace.
Each table value is a CPU index that is updated during calls to recvmsg
and sendmsg (specifically, inet_recvmsg(), inet_sendmsg(), inet_sendpage()
and tcp_splice_read()).

When the scheduler moves a thread to a new CPU while it has outstanding
@@ -243,7 +243,7 @@ configured. The number of entries in the global flow table is set through:

The number of entries in the per-queue flow table are set through:

 /sys/class/net/<dev>/queues/tx-<n>/rps_flow_cnt
 /sys/class/net/<dev>/queues/rx-<n>/rps_flow_cnt

== Suggested Configuration

+4 −3
Original line number Diff line number Diff line
@@ -123,10 +123,11 @@ be automatically shutdown if it's set to "never".
khugepaged runs usually at low frequency so while one may not want to
invoke defrag algorithms synchronously during the page faults, it
should be worth invoking defrag at least in khugepaged. However it's
also possible to disable defrag in khugepaged:
also possible to disable defrag in khugepaged by writing 0 or enable
defrag in khugepaged by writing 1:

echo yes >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag
echo no >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag
echo 0 >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag
echo 1 >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag

You can also control how many pages khugepaged should scan at each
pass:
+0 −1
Original line number Diff line number Diff line
@@ -6382,7 +6382,6 @@ S: Supported
F:	arch/arm/mach-tegra

TEHUTI ETHERNET DRIVER
M:	Alexander Indenbaum <baum@tehutinetworks.net>
M:	Andy Gospodarek <andy@greyhouse.net>
L:	netdev@vger.kernel.org
S:	Supported
Loading