Unverified Commit 69c2f248 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!2631 Backport 5.10.178 LTS patches from upstream.

Merge Pull Request from: @sanglipeng 
 
issue: https://gitee.com/openeuler/kernel/issues/I8ALH3

Backport 5.10.178 LTS patches from upstream

Conflicts:

Already merged(6):
499757ad3332: scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param()
f018ef34c44b: ftrace: Fix issue that 'direct->addr' not restored in modify_ftrace_direct()
5a74837809cc: ring-buffer: Fix race while reader and writer are on the same page
9266e939d762: 9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition
0279e82e1484: ubi: Fix failure attaching when vid_hdr offset equals to (sub)page size
5abf8af8df97: ubi: Fix deadlock caused by recursively holding work_sem

Rejected(4):
cc9f9a49f5b3: tcp: convert elligible sysctls to u8
a069d4d98cd2: tcp: restrict net.ipv4.tcp_app_win
33611d4a8181: mtd: ubi: wl: Fix a couple of kernel-doc issues
6facabb4d069: coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug

Kabi broken(1):
f662a0786dfd ipv4: shrink netns_ipv4 with sysctl conversions


Total patches: 120 - 6 - 4 - 1 = 109 
 
Link:https://gitee.com/openeuler/kernel/pulls/2631

 

Reviewed-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parents c2ac271a aaf271fc
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@ properties:
          - description: Error interrupt
          - description: Receive buffer full interrupt
          - description: Transmit buffer empty interrupt
          - description: Transmit End interrupt
          - description: Break interrupt
      - items:
          - description: Error interrupt
          - description: Receive buffer full interrupt
@@ -89,7 +89,7 @@ properties:
          - const: eri
          - const: rxi
          - const: txi
          - const: tei
          - const: bri
      - items:
          - const: eri
          - const: rxi
+104 −0
Original line number Diff line number Diff line
============================
NUMA resource associativity
=============================

Associativity represents the groupings of the various platform resources into
domains of substantially similar mean performance relative to resources outside
of that domain. Resources subsets of a given domain that exhibit better
performance relative to each other than relative to other resources subsets
are represented as being members of a sub-grouping domain. This performance
characteristic is presented in terms of NUMA node distance within the Linux kernel.
From the platform view, these groups are also referred to as domains.

PAPR interface currently supports different ways of communicating these resource
grouping details to the OS. These are referred to as Form 0, Form 1 and Form2
associativity grouping. Form 0 is the oldest format and is now considered deprecated.

Hypervisor indicates the type/form of associativity used via "ibm,architecture-vec-5 property".
Bit 0 of byte 5 in the "ibm,architecture-vec-5" property indicates usage of Form 0 or Form 1.
A value of 1 indicates the usage of Form 1 associativity. For Form 2 associativity
bit 2 of byte 5 in the "ibm,architecture-vec-5" property is used.

Form 0
-----
Form 0 associativity supports only two NUMA distances (LOCAL and REMOTE).

Form 1
-----
With Form 1 a combination of ibm,associativity-reference-points, and ibm,associativity
device tree properties are used to determine the NUMA distance between resource groups/domains.

The “ibm,associativity” property contains a list of one or more numbers (domainID)
representing the resource’s platform grouping domains.

The “ibm,associativity-reference-points” property contains a list of one or more numbers
(domainID index) that represents the 1 based ordinal in the associativity lists.
The list of domainID indexes represents an increasing hierarchy of resource grouping.

ex:
{ primary domainID index, secondary domainID index, tertiary domainID index.. }

Linux kernel uses the domainID at the primary domainID index as the NUMA node id.
Linux kernel computes NUMA distance between two domains by recursively comparing
if they belong to the same higher-level domains. For mismatch at every higher
level of the resource group, the kernel doubles the NUMA distance between the
comparing domains.

Form 2
-------
Form 2 associativity format adds separate device tree properties representing NUMA node distance
thereby making the node distance computation flexible. Form 2 also allows flexible primary
domain numbering. With numa distance computation now detached from the index value in
"ibm,associativity-reference-points" property, Form 2 allows a large number of primary domain
ids at the same domainID index representing resource groups of different performance/latency
characteristics.

Hypervisor indicates the usage of FORM2 associativity using bit 2 of byte 5 in the
"ibm,architecture-vec-5" property.

"ibm,numa-lookup-index-table" property contains a list of one or more numbers representing
the domainIDs present in the system. The offset of the domainID in this property is
used as an index while computing numa distance information via "ibm,numa-distance-table".

prop-encoded-array: The number N of the domainIDs encoded as with encode-int, followed by
N domainID encoded as with encode-int

For ex:
"ibm,numa-lookup-index-table" =  {4, 0, 8, 250, 252}. The offset of domainID 8 (2) is used when
computing the distance of domain 8 from other domains present in the system. For the rest of
this document, this offset will be referred to as domain distance offset.

"ibm,numa-distance-table" property contains a list of one or more numbers representing the NUMA
distance between resource groups/domains present in the system.

prop-encoded-array: The number N of the distance values encoded as with encode-int, followed by
N distance values encoded as with encode-bytes. The max distance value we could encode is 255.
The number N must be equal to the square of m where m is the number of domainIDs in the
numa-lookup-index-table.

For ex:
ibm,numa-lookup-index-table = <3 0 8 40>;
ibm,numa-distace-table = <9>, /bits/ 8 < 10  20  80
					 20  10 160
					 80 160  10>;
  | 0    8   40
--|------------
  |
0 | 10   20  80
  |
8 | 20   10  160
  |
40| 80   160  10

A possible "ibm,associativity" property for resources in node 0, 8 and 40

{ 3, 6, 7, 0 }
{ 3, 6, 9, 8 }
{ 3, 6, 7, 40}

With "ibm,associativity-reference-points"  { 0x3 }

"ibm,lookup-index-table" helps in having a compact representation of distance matrix.
Since domainID can be sparse, the matrix of distances can also be effectively sparse.
With "ibm,lookup-index-table" we can achieve a compact representation of
distance information.
+1 −1
Original line number Diff line number Diff line
@@ -704,7 +704,7 @@ ref
no-jd
    BIOS setup but without jack-detection
intel
    Intel DG45* mobos
    Intel D*45* mobos
dell-m6-amic
    Dell desktops/laptops with analog mics
dell-m6-dmic
+5 −3
Original line number Diff line number Diff line
@@ -582,8 +582,10 @@ endif
ifneq ($(GCC_TOOLCHAIN),)
CLANG_FLAGS	+= --gcc-toolchain=$(GCC_TOOLCHAIN)
endif
ifneq ($(LLVM_IAS),1)
CLANG_FLAGS	+= -no-integrated-as
ifeq ($(LLVM_IAS),1)
CLANG_FLAGS	+= -fintegrated-as
else
CLANG_FLAGS	+= -fno-integrated-as
endif
CLANG_FLAGS	+= -Werror=unknown-warning-option
KBUILD_CFLAGS	+= $(CLANG_FLAGS)
@@ -860,7 +862,7 @@ else
DEBUG_CFLAGS	+= -g
endif

ifeq ($(LLVM_IAS),1)
ifdef CONFIG_AS_IS_LLVM
KBUILD_AFLAGS	+= -g
else
KBUILD_AFLAGS	+= -Wa,-gdwarf-2
+4 −3
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@
#define FW_FEATURE_OPAL		ASM_CONST(0x0000000010000000)
#define FW_FEATURE_SET_MODE	ASM_CONST(0x0000000040000000)
#define FW_FEATURE_BEST_ENERGY	ASM_CONST(0x0000000080000000)
#define FW_FEATURE_TYPE1_AFFINITY ASM_CONST(0x0000000100000000)
#define FW_FEATURE_FORM1_AFFINITY ASM_CONST(0x0000000100000000)
#define FW_FEATURE_PRRN		ASM_CONST(0x0000000200000000)
#define FW_FEATURE_DRMEM_V2	ASM_CONST(0x0000000400000000)
#define FW_FEATURE_DRC_INFO	ASM_CONST(0x0000000800000000)
@@ -53,6 +53,7 @@
#define FW_FEATURE_ULTRAVISOR	ASM_CONST(0x0000004000000000)
#define FW_FEATURE_STUFF_TCE	ASM_CONST(0x0000008000000000)
#define FW_FEATURE_RPT_INVALIDATE ASM_CONST(0x0000010000000000)
#define FW_FEATURE_FORM2_AFFINITY ASM_CONST(0x0000020000000000)

#ifndef __ASSEMBLY__

@@ -69,11 +70,11 @@ enum {
		FW_FEATURE_SPLPAR | FW_FEATURE_LPAR |
		FW_FEATURE_CMO | FW_FEATURE_VPHN | FW_FEATURE_XCMO |
		FW_FEATURE_SET_MODE | FW_FEATURE_BEST_ENERGY |
		FW_FEATURE_TYPE1_AFFINITY | FW_FEATURE_PRRN |
		FW_FEATURE_FORM1_AFFINITY | FW_FEATURE_PRRN |
		FW_FEATURE_HPT_RESIZE | FW_FEATURE_DRMEM_V2 |
		FW_FEATURE_DRC_INFO | FW_FEATURE_BLOCK_REMOVE |
		FW_FEATURE_PAPR_SCM | FW_FEATURE_ULTRAVISOR |
		FW_FEATURE_RPT_INVALIDATE,
		FW_FEATURE_RPT_INVALIDATE | FW_FEATURE_FORM2_AFFINITY,
	FW_FEATURE_PSERIES_ALWAYS = 0,
	FW_FEATURE_POWERNV_POSSIBLE = FW_FEATURE_OPAL | FW_FEATURE_ULTRAVISOR,
	FW_FEATURE_POWERNV_ALWAYS = 0,
Loading