mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 05:38:00 +00:00
kernel: bump 6.1 to 6.1.103
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.103 Removed upstreamed: generic/backport-6.1/412-v6.3-01-spidev-Add-Silicon-Labs-EM3581-device-compatible.patch See: See: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.103&id=c6c419ed94788ca13334b4acd50167b7f6d00a06 All other patches automatically rebased. Build system: bcm4908 bcm53xx Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16093 Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
e5dc16e60d
commit
88068dd767
@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-6.1 = .102
|
LINUX_VERSION-6.1 = .103
|
||||||
LINUX_KERNEL_HASH-6.1.102 = 1ba5f93b411ead7587fe48b2eec6c656f6796d31f5e406d236913c77512497ec
|
LINUX_KERNEL_HASH-6.1.103 = 5eb4706f898f50881552ff5146d892132d3ffc5298033bffe27087d3a44c4573
|
||||||
|
@ -294,7 +294,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
||||||
|
|
||||||
VM_WARN_ON_ONCE(!list_empty(list));
|
VM_WARN_ON_ONCE(!list_empty(list));
|
||||||
@@ -5249,7 +5249,7 @@ done:
|
@@ -5248,7 +5248,7 @@ done:
|
||||||
|
|
||||||
static bool __maybe_unused state_is_valid(struct lruvec *lruvec)
|
static bool __maybe_unused state_is_valid(struct lruvec *lruvec)
|
||||||
{
|
{
|
||||||
@ -303,7 +303,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
if (lrugen->enabled) {
|
if (lrugen->enabled) {
|
||||||
enum lru_list lru;
|
enum lru_list lru;
|
||||||
@@ -5531,7 +5531,7 @@ static void lru_gen_seq_show_full(struct
|
@@ -5530,7 +5530,7 @@ static void lru_gen_seq_show_full(struct
|
||||||
int i;
|
int i;
|
||||||
int type, tier;
|
int type, tier;
|
||||||
int hist = lru_hist_from_seq(seq);
|
int hist = lru_hist_from_seq(seq);
|
||||||
@ -312,7 +312,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
for (tier = 0; tier < MAX_NR_TIERS; tier++) {
|
for (tier = 0; tier < MAX_NR_TIERS; tier++) {
|
||||||
seq_printf(m, " %10d", tier);
|
seq_printf(m, " %10d", tier);
|
||||||
@@ -5581,7 +5581,7 @@ static int lru_gen_seq_show(struct seq_f
|
@@ -5580,7 +5580,7 @@ static int lru_gen_seq_show(struct seq_f
|
||||||
unsigned long seq;
|
unsigned long seq;
|
||||||
bool full = !debugfs_real_fops(m->file)->write;
|
bool full = !debugfs_real_fops(m->file)->write;
|
||||||
struct lruvec *lruvec = v;
|
struct lruvec *lruvec = v;
|
||||||
@ -321,7 +321,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
int nid = lruvec_pgdat(lruvec)->node_id;
|
int nid = lruvec_pgdat(lruvec)->node_id;
|
||||||
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
||||||
DEFINE_MAX_SEQ(lruvec);
|
DEFINE_MAX_SEQ(lruvec);
|
||||||
@@ -5835,7 +5835,7 @@ void lru_gen_init_lruvec(struct lruvec *
|
@@ -5834,7 +5834,7 @@ void lru_gen_init_lruvec(struct lruvec *
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int gen, type, zone;
|
int gen, type, zone;
|
||||||
|
@ -76,7 +76,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
{
|
{
|
||||||
int type;
|
int type;
|
||||||
int scanned;
|
int scanned;
|
||||||
@@ -5095,9 +5104,6 @@ retry:
|
@@ -5094,9 +5103,6 @@ retry:
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
return scanned;
|
return scanned;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5136,67 +5142,26 @@ done:
|
@@ -5135,67 +5141,26 @@ done:
|
||||||
return min_seq[!can_swap] + MIN_NR_GENS <= max_seq ? nr_to_scan : 0;
|
return min_seq[!can_swap] + MIN_NR_GENS <= max_seq ? nr_to_scan : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,7 +163,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
lru_add_drain();
|
lru_add_drain();
|
||||||
|
|
||||||
@@ -5220,7 +5185,7 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5219,7 +5184,7 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
if (!nr_to_scan)
|
if (!nr_to_scan)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
@ -172,7 +172,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
if (!delta)
|
if (!delta)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
@@ -5228,7 +5193,7 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5227,7 +5192,7 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
if (scanned >= nr_to_scan)
|
if (scanned >= nr_to_scan)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -181,7 +181,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
cond_resched();
|
cond_resched();
|
||||||
@@ -5678,7 +5643,7 @@ static int run_eviction(struct lruvec *l
|
@@ -5677,7 +5642,7 @@ static int run_eviction(struct lruvec *l
|
||||||
if (sc->nr_reclaimed >= nr_to_reclaim)
|
if (sc->nr_reclaimed >= nr_to_reclaim)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -214,7 +214,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
*/
|
*/
|
||||||
if (mutex_trylock(&oom_lock)) {
|
if (mutex_trylock(&oom_lock)) {
|
||||||
struct oom_control oc = {
|
struct oom_control oc = {
|
||||||
@@ -5113,33 +5117,27 @@ retry:
|
@@ -5112,33 +5116,27 @@ retry:
|
||||||
* reclaim.
|
* reclaim.
|
||||||
*/
|
*/
|
||||||
static unsigned long get_nr_to_scan(struct lruvec *lruvec, struct scan_control *sc,
|
static unsigned long get_nr_to_scan(struct lruvec *lruvec, struct scan_control *sc,
|
||||||
@ -254,7 +254,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long get_nr_to_reclaim(struct scan_control *sc)
|
static unsigned long get_nr_to_reclaim(struct scan_control *sc)
|
||||||
@@ -5158,9 +5156,7 @@ static unsigned long get_nr_to_reclaim(s
|
@@ -5157,9 +5155,7 @@ static unsigned long get_nr_to_reclaim(s
|
||||||
static void lru_gen_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc)
|
static void lru_gen_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc)
|
||||||
{
|
{
|
||||||
struct blk_plug plug;
|
struct blk_plug plug;
|
||||||
@ -264,7 +264,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
unsigned long nr_to_reclaim = get_nr_to_reclaim(sc);
|
unsigned long nr_to_reclaim = get_nr_to_reclaim(sc);
|
||||||
|
|
||||||
lru_add_drain();
|
lru_add_drain();
|
||||||
@@ -5181,13 +5177,13 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5180,13 +5176,13 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
else
|
else
|
||||||
swappiness = 0;
|
swappiness = 0;
|
||||||
|
|
||||||
@ -281,7 +281,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
scanned += delta;
|
scanned += delta;
|
||||||
if (scanned >= nr_to_scan)
|
if (scanned >= nr_to_scan)
|
||||||
@@ -5199,10 +5195,6 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5198,10 +5194,6 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
cond_resched();
|
cond_resched();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
static bool lruvec_is_sizable(struct lruvec *lruvec, struct scan_control *sc)
|
static bool lruvec_is_sizable(struct lruvec *lruvec, struct scan_control *sc)
|
||||||
{
|
{
|
||||||
int gen, type, zone;
|
int gen, type, zone;
|
||||||
@@ -5111,6 +5049,68 @@ retry:
|
@@ -5110,6 +5048,68 @@ retry:
|
||||||
return scanned;
|
return scanned;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -421,7 +421,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
/* check the order to exclude compaction-induced reclaim */
|
/* check the order to exclude compaction-induced reclaim */
|
||||||
if (!min_ttl || sc->order || sc->priority == DEF_PRIORITY)
|
if (!min_ttl || sc->order || sc->priority == DEF_PRIORITY)
|
||||||
return;
|
return;
|
||||||
@@ -5116,8 +5113,7 @@ static bool should_run_aging(struct lruv
|
@@ -5115,8 +5112,7 @@ static bool should_run_aging(struct lruv
|
||||||
* 1. Defer try_to_inc_max_seq() to workqueues to reduce latency for memcg
|
* 1. Defer try_to_inc_max_seq() to workqueues to reduce latency for memcg
|
||||||
* reclaim.
|
* reclaim.
|
||||||
*/
|
*/
|
||||||
@ -431,7 +431,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
{
|
{
|
||||||
unsigned long nr_to_scan;
|
unsigned long nr_to_scan;
|
||||||
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
||||||
@@ -5134,10 +5130,8 @@ static unsigned long get_nr_to_scan(stru
|
@@ -5133,10 +5129,8 @@ static unsigned long get_nr_to_scan(stru
|
||||||
if (sc->priority == DEF_PRIORITY)
|
if (sc->priority == DEF_PRIORITY)
|
||||||
return nr_to_scan;
|
return nr_to_scan;
|
||||||
|
|
||||||
@ -443,7 +443,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long get_nr_to_reclaim(struct scan_control *sc)
|
static unsigned long get_nr_to_reclaim(struct scan_control *sc)
|
||||||
@@ -5146,29 +5140,18 @@ static unsigned long get_nr_to_reclaim(s
|
@@ -5145,29 +5139,18 @@ static unsigned long get_nr_to_reclaim(s
|
||||||
if (!global_reclaim(sc))
|
if (!global_reclaim(sc))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@ -475,7 +475,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
if (sc->may_swap)
|
if (sc->may_swap)
|
||||||
swappiness = get_swappiness(lruvec, sc);
|
swappiness = get_swappiness(lruvec, sc);
|
||||||
@@ -5178,7 +5161,7 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5177,7 +5160,7 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
swappiness = 0;
|
swappiness = 0;
|
||||||
|
|
||||||
nr_to_scan = get_nr_to_scan(lruvec, sc, swappiness);
|
nr_to_scan = get_nr_to_scan(lruvec, sc, swappiness);
|
||||||
@ -484,7 +484,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
delta = evict_folios(lruvec, sc, swappiness);
|
delta = evict_folios(lruvec, sc, swappiness);
|
||||||
@@ -5195,10 +5178,251 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5194,10 +5177,251 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
cond_resched();
|
cond_resched();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -736,7 +736,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* state change
|
* state change
|
||||||
@@ -5656,11 +5880,11 @@ static int run_cmd(char cmd, int memcg_i
|
@@ -5655,11 +5879,11 @@ static int run_cmd(char cmd, int memcg_i
|
||||||
|
|
||||||
if (!mem_cgroup_disabled()) {
|
if (!mem_cgroup_disabled()) {
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
@ -751,7 +751,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
|
|
||||||
if (!memcg)
|
if (!memcg)
|
||||||
@@ -5808,6 +6032,19 @@ void lru_gen_init_lruvec(struct lruvec *
|
@@ -5807,6 +6031,19 @@ void lru_gen_init_lruvec(struct lruvec *
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_MEMCG
|
#ifdef CONFIG_MEMCG
|
||||||
@ -771,7 +771,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
void lru_gen_init_memcg(struct mem_cgroup *memcg)
|
void lru_gen_init_memcg(struct mem_cgroup *memcg)
|
||||||
{
|
{
|
||||||
INIT_LIST_HEAD(&memcg->mm_list.fifo);
|
INIT_LIST_HEAD(&memcg->mm_list.fifo);
|
||||||
@@ -5831,7 +6068,69 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
@@ -5830,7 +6067,69 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -842,7 +842,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
static int __init init_lru_gen(void)
|
static int __init init_lru_gen(void)
|
||||||
{
|
{
|
||||||
@@ -5858,6 +6157,10 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5857,6 +6156,10 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -853,7 +853,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
#endif /* CONFIG_LRU_GEN */
|
#endif /* CONFIG_LRU_GEN */
|
||||||
|
|
||||||
static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc)
|
static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc)
|
||||||
@@ -5871,7 +6174,7 @@ static void shrink_lruvec(struct lruvec
|
@@ -5870,7 +6173,7 @@ static void shrink_lruvec(struct lruvec
|
||||||
bool proportional_reclaim;
|
bool proportional_reclaim;
|
||||||
struct blk_plug plug;
|
struct blk_plug plug;
|
||||||
|
|
||||||
@ -862,7 +862,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
lru_gen_shrink_lruvec(lruvec, sc);
|
lru_gen_shrink_lruvec(lruvec, sc);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -6114,6 +6417,11 @@ static void shrink_node(pg_data_t *pgdat
|
@@ -6113,6 +6416,11 @@ static void shrink_node(pg_data_t *pgdat
|
||||||
struct lruvec *target_lruvec;
|
struct lruvec *target_lruvec;
|
||||||
bool reclaimable = false;
|
bool reclaimable = false;
|
||||||
|
|
||||||
|
@ -113,7 +113,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
*/
|
*/
|
||||||
return isolated || !remaining ? scanned : 0;
|
return isolated || !remaining ? scanned : 0;
|
||||||
}
|
}
|
||||||
@@ -5119,8 +5115,7 @@ static long get_nr_to_scan(struct lruvec
|
@@ -5118,8 +5114,7 @@ static long get_nr_to_scan(struct lruvec
|
||||||
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
||||||
DEFINE_MAX_SEQ(lruvec);
|
DEFINE_MAX_SEQ(lruvec);
|
||||||
|
|
||||||
@ -123,7 +123,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!should_run_aging(lruvec, max_seq, sc, can_swap, &nr_to_scan))
|
if (!should_run_aging(lruvec, max_seq, sc, can_swap, &nr_to_scan))
|
||||||
@@ -5148,17 +5143,14 @@ static bool try_to_shrink_lruvec(struct
|
@@ -5147,17 +5142,14 @@ static bool try_to_shrink_lruvec(struct
|
||||||
long nr_to_scan;
|
long nr_to_scan;
|
||||||
unsigned long scanned = 0;
|
unsigned long scanned = 0;
|
||||||
unsigned long nr_to_reclaim = get_nr_to_reclaim(sc);
|
unsigned long nr_to_reclaim = get_nr_to_reclaim(sc);
|
||||||
@ -146,7 +146,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
nr_to_scan = get_nr_to_scan(lruvec, sc, swappiness);
|
nr_to_scan = get_nr_to_scan(lruvec, sc, swappiness);
|
||||||
if (nr_to_scan <= 0)
|
if (nr_to_scan <= 0)
|
||||||
@@ -5289,12 +5281,13 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5288,12 +5280,13 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
struct blk_plug plug;
|
struct blk_plug plug;
|
||||||
|
|
||||||
VM_WARN_ON_ONCE(global_reclaim(sc));
|
VM_WARN_ON_ONCE(global_reclaim(sc));
|
||||||
@ -161,7 +161,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
if (try_to_shrink_lruvec(lruvec, sc))
|
if (try_to_shrink_lruvec(lruvec, sc))
|
||||||
lru_gen_rotate_memcg(lruvec, MEMCG_LRU_YOUNG);
|
lru_gen_rotate_memcg(lruvec, MEMCG_LRU_YOUNG);
|
||||||
@@ -5350,11 +5343,19 @@ static void lru_gen_shrink_node(struct p
|
@@ -5349,11 +5342,19 @@ static void lru_gen_shrink_node(struct p
|
||||||
|
|
||||||
VM_WARN_ON_ONCE(!global_reclaim(sc));
|
VM_WARN_ON_ONCE(!global_reclaim(sc));
|
||||||
|
|
||||||
@ -182,7 +182,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
set_initial_priority(pgdat, sc);
|
set_initial_priority(pgdat, sc);
|
||||||
|
|
||||||
@@ -5372,7 +5373,7 @@ static void lru_gen_shrink_node(struct p
|
@@ -5371,7 +5372,7 @@ static void lru_gen_shrink_node(struct p
|
||||||
clear_mm_walk();
|
clear_mm_walk();
|
||||||
|
|
||||||
blk_finish_plug(&plug);
|
blk_finish_plug(&plug);
|
||||||
@ -191,7 +191,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
/* kswapd should never fail */
|
/* kswapd should never fail */
|
||||||
pgdat->kswapd_failures = 0;
|
pgdat->kswapd_failures = 0;
|
||||||
}
|
}
|
||||||
@@ -5944,7 +5945,7 @@ static ssize_t lru_gen_seq_write(struct
|
@@ -5943,7 +5944,7 @@ static ssize_t lru_gen_seq_write(struct
|
||||||
set_task_reclaim_state(current, &sc.reclaim_state);
|
set_task_reclaim_state(current, &sc.reclaim_state);
|
||||||
flags = memalloc_noreclaim_save();
|
flags = memalloc_noreclaim_save();
|
||||||
blk_start_plug(&plug);
|
blk_start_plug(&plug);
|
||||||
|
@ -29,7 +29,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
--- a/mm/vmscan.c
|
--- a/mm/vmscan.c
|
||||||
+++ b/mm/vmscan.c
|
+++ b/mm/vmscan.c
|
||||||
@@ -5218,18 +5218,20 @@ static int shrink_one(struct lruvec *lru
|
@@ -5217,18 +5217,20 @@ static int shrink_one(struct lruvec *lru
|
||||||
|
|
||||||
static void shrink_many(struct pglist_data *pgdat, struct scan_control *sc)
|
static void shrink_many(struct pglist_data *pgdat, struct scan_control *sc)
|
||||||
{
|
{
|
||||||
@ -52,7 +52,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
gen = get_memcg_gen(READ_ONCE(pgdat->memcg_lru.seq));
|
gen = get_memcg_gen(READ_ONCE(pgdat->memcg_lru.seq));
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
@@ -5253,14 +5255,22 @@ restart:
|
@@ -5252,14 +5254,22 @@ restart:
|
||||||
|
|
||||||
op = shrink_one(lruvec, sc);
|
op = shrink_one(lruvec, sc);
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
/* restart if raced with lru_gen_rotate_memcg() */
|
/* restart if raced with lru_gen_rotate_memcg() */
|
||||||
if (gen != get_nulls_value(pos))
|
if (gen != get_nulls_value(pos))
|
||||||
goto restart;
|
goto restart;
|
||||||
@@ -5269,11 +5279,6 @@ restart:
|
@@ -5268,11 +5278,6 @@ restart:
|
||||||
bin = get_memcg_bin(bin + 1);
|
bin = get_memcg_bin(bin + 1);
|
||||||
if (bin != first_bin)
|
if (bin != first_bin)
|
||||||
goto restart;
|
goto restart;
|
||||||
|
@ -303,7 +303,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
* the eviction
|
* the eviction
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
@@ -5398,53 +5540,6 @@ done:
|
@@ -5397,53 +5539,6 @@ done:
|
||||||
pgdat->kswapd_failures = 0;
|
pgdat->kswapd_failures = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -357,7 +357,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* state change
|
* state change
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
@@ -6090,67 +6185,6 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
@@ -6089,67 +6184,6 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
--- a/mm/vmscan.c
|
--- a/mm/vmscan.c
|
||||||
+++ b/mm/vmscan.c
|
+++ b/mm/vmscan.c
|
||||||
@@ -6172,12 +6172,17 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
@@ -6171,12 +6171,17 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
||||||
int i;
|
int i;
|
||||||
int nid;
|
int nid;
|
||||||
|
|
||||||
|
@ -255,7 +255,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
|||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
@@ -6117,7 +6087,6 @@ void lru_gen_init_lruvec(struct lruvec *
|
@@ -6116,7 +6086,6 @@ void lru_gen_init_lruvec(struct lruvec *
|
||||||
INIT_LIST_HEAD(&lrugen->folios[gen][type][zone]);
|
INIT_LIST_HEAD(&lrugen->folios[gen][type][zone]);
|
||||||
|
|
||||||
lruvec->mm_state.seq = MIN_NR_GENS;
|
lruvec->mm_state.seq = MIN_NR_GENS;
|
||||||
@ -263,7 +263,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_MEMCG
|
#ifdef CONFIG_MEMCG
|
||||||
@@ -6150,7 +6119,6 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
@@ -6149,7 +6118,6 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
||||||
for_each_node(nid) {
|
for_each_node(nid) {
|
||||||
struct lruvec *lruvec = get_lruvec(memcg, nid);
|
struct lruvec *lruvec = get_lruvec(memcg, nid);
|
||||||
|
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
From c67d90e058550403a3e6f9b05bfcdcfa12b1815c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Vincent Tremblay <vincent@vtremblay.dev>
|
|
||||||
Date: Mon, 26 Dec 2022 21:35:48 -0500
|
|
||||||
Subject: [PATCH] spidev: Add Silicon Labs EM3581 device compatible
|
|
||||||
|
|
||||||
Add compatible string for Silicon Labs EM3581 device.
|
|
||||||
|
|
||||||
Signed-off-by: Vincent Tremblay <vincent@vtremblay.dev>
|
|
||||||
Link: https://lore.kernel.org/r/20221227023550.569547-2-vincent@vtremblay.dev
|
|
||||||
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
||||||
---
|
|
||||||
drivers/spi/spidev.c | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
--- a/drivers/spi/spidev.c
|
|
||||||
+++ b/drivers/spi/spidev.c
|
|
||||||
@@ -700,6 +700,7 @@ static const struct spi_device_id spidev
|
|
||||||
{ .name = "m53cpld" },
|
|
||||||
{ .name = "spi-petra" },
|
|
||||||
{ .name = "spi-authenta" },
|
|
||||||
+ { .name = "em3581" },
|
|
||||||
{},
|
|
||||||
};
|
|
||||||
MODULE_DEVICE_TABLE(spi, spidev_spi_ids);
|
|
||||||
@@ -726,6 +727,7 @@ static const struct of_device_id spidev_
|
|
||||||
{ .compatible = "menlo,m53cpld", .data = &spidev_of_check },
|
|
||||||
{ .compatible = "cisco,spi-petra", .data = &spidev_of_check },
|
|
||||||
{ .compatible = "micron,spi-authenta", .data = &spidev_of_check },
|
|
||||||
+ { .compatible = "silabs,em3581", .data = &spidev_of_check },
|
|
||||||
{},
|
|
||||||
};
|
|
||||||
MODULE_DEVICE_TABLE(of, spidev_dt_ids);
|
|
@ -22,9 +22,9 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
|||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(spi, spidev_spi_ids);
|
MODULE_DEVICE_TABLE(spi, spidev_spi_ids);
|
||||||
@@ -728,6 +729,7 @@ static const struct of_device_id spidev_
|
@@ -729,6 +730,7 @@ static const struct of_device_id spidev_
|
||||||
{ .compatible = "cisco,spi-petra", .data = &spidev_of_check },
|
{ .compatible = "rohm,dh2228fv", .data = &spidev_of_check },
|
||||||
{ .compatible = "micron,spi-authenta", .data = &spidev_of_check },
|
{ .compatible = "semtech,sx1301", .data = &spidev_of_check },
|
||||||
{ .compatible = "silabs,em3581", .data = &spidev_of_check },
|
{ .compatible = "silabs,em3581", .data = &spidev_of_check },
|
||||||
+ { .compatible = "silabs,si3210", .data = &spidev_of_check },
|
+ { .compatible = "silabs,si3210", .data = &spidev_of_check },
|
||||||
{},
|
{},
|
||||||
|
@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
static int mv88e6352_get_port4_serdes_cmode(struct mv88e6xxx_chip *chip)
|
static int mv88e6352_get_port4_serdes_cmode(struct mv88e6xxx_chip *chip)
|
||||||
{
|
{
|
||||||
u16 reg, val;
|
u16 reg, val;
|
||||||
@@ -4501,7 +4513,7 @@ static const struct mv88e6xxx_ops mv88e6
|
@@ -4502,7 +4514,7 @@ static const struct mv88e6xxx_ops mv88e6
|
||||||
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
||||||
.stu_getnext = mv88e6352_g1_stu_getnext,
|
.stu_getnext = mv88e6352_g1_stu_getnext,
|
||||||
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
||||||
@ -60,7 +60,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const struct mv88e6xxx_ops mv88e6172_ops = {
|
static const struct mv88e6xxx_ops mv88e6172_ops = {
|
||||||
@@ -4604,7 +4616,7 @@ static const struct mv88e6xxx_ops mv88e6
|
@@ -4605,7 +4617,7 @@ static const struct mv88e6xxx_ops mv88e6
|
||||||
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
||||||
.stu_getnext = mv88e6352_g1_stu_getnext,
|
.stu_getnext = mv88e6352_g1_stu_getnext,
|
||||||
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
||||||
@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const struct mv88e6xxx_ops mv88e6176_ops = {
|
static const struct mv88e6xxx_ops mv88e6176_ops = {
|
||||||
@@ -5281,7 +5293,7 @@ static const struct mv88e6xxx_ops mv88e6
|
@@ -5282,7 +5294,7 @@ static const struct mv88e6xxx_ops mv88e6
|
||||||
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
||||||
.stu_getnext = mv88e6352_g1_stu_getnext,
|
.stu_getnext = mv88e6352_g1_stu_getnext,
|
||||||
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
||||||
@ -78,7 +78,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const struct mv88e6xxx_ops mv88e6351_ops = {
|
static const struct mv88e6xxx_ops mv88e6351_ops = {
|
||||||
@@ -5327,7 +5339,7 @@ static const struct mv88e6xxx_ops mv88e6
|
@@ -5328,7 +5340,7 @@ static const struct mv88e6xxx_ops mv88e6
|
||||||
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
||||||
.avb_ops = &mv88e6352_avb_ops,
|
.avb_ops = &mv88e6352_avb_ops,
|
||||||
.ptp_ops = &mv88e6352_ptp_ops,
|
.ptp_ops = &mv88e6352_ptp_ops,
|
||||||
|
@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
@@ -5998,7 +5998,8 @@ static const struct mv88e6xxx_info mv88e
|
@@ -5999,7 +5999,8 @@ static const struct mv88e6xxx_info mv88e
|
||||||
.name = "Marvell 88E6191X",
|
.name = "Marvell 88E6191X",
|
||||||
.num_databases = 4096,
|
.num_databases = 4096,
|
||||||
.num_ports = 11, /* 10 + Z80 */
|
.num_ports = 11, /* 10 + Z80 */
|
||||||
@ -30,7 +30,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
.max_vid = 8191,
|
.max_vid = 8191,
|
||||||
.max_sid = 63,
|
.max_sid = 63,
|
||||||
.port_base_addr = 0x0,
|
.port_base_addr = 0x0,
|
||||||
@@ -6021,7 +6022,8 @@ static const struct mv88e6xxx_info mv88e
|
@@ -6022,7 +6023,8 @@ static const struct mv88e6xxx_info mv88e
|
||||||
.name = "Marvell 88E6193X",
|
.name = "Marvell 88E6193X",
|
||||||
.num_databases = 4096,
|
.num_databases = 4096,
|
||||||
.num_ports = 11, /* 10 + Z80 */
|
.num_ports = 11, /* 10 + Z80 */
|
||||||
@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
.max_vid = 8191,
|
.max_vid = 8191,
|
||||||
.max_sid = 63,
|
.max_sid = 63,
|
||||||
.port_base_addr = 0x0,
|
.port_base_addr = 0x0,
|
||||||
@@ -6340,7 +6342,8 @@ static const struct mv88e6xxx_info mv88e
|
@@ -6341,7 +6343,8 @@ static const struct mv88e6xxx_info mv88e
|
||||||
.name = "Marvell 88E6393X",
|
.name = "Marvell 88E6393X",
|
||||||
.num_databases = 4096,
|
.num_databases = 4096,
|
||||||
.num_ports = 11, /* 10 + Z80 */
|
.num_ports = 11, /* 10 + Z80 */
|
||||||
|
@ -58,7 +58,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -6285,6 +6291,32 @@ static const struct mv88e6xxx_info mv88e
|
@@ -6286,6 +6292,32 @@ static const struct mv88e6xxx_info mv88e
|
||||||
.ptp_support = true,
|
.ptp_support = true,
|
||||||
.ops = &mv88e6352_ops,
|
.ops = &mv88e6352_ops,
|
||||||
},
|
},
|
||||||
|
@ -20,7 +20,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||||||
|
|
||||||
--- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
|
--- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
|
||||||
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
|
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
|
||||||
@@ -4157,17 +4157,6 @@ void intel_execlists_show_requests(struc
|
@@ -4153,17 +4153,6 @@ void intel_execlists_show_requests(struc
|
||||||
spin_unlock_irqrestore(&sched_engine->lock, flags);
|
spin_unlock_irqrestore(&sched_engine->lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||||||
void intel_execlists_dump_active_requests(struct intel_engine_cs *engine,
|
void intel_execlists_dump_active_requests(struct intel_engine_cs *engine,
|
||||||
struct i915_request *hung_rq,
|
struct i915_request *hung_rq,
|
||||||
struct drm_printer *m)
|
struct drm_printer *m)
|
||||||
@@ -4178,8 +4167,8 @@ void intel_execlists_dump_active_request
|
@@ -4174,8 +4163,8 @@ void intel_execlists_dump_active_request
|
||||||
|
|
||||||
intel_engine_dump_active_requests(&engine->sched_engine->requests, hung_rq, m);
|
intel_engine_dump_active_requests(&engine->sched_engine->requests, hung_rq, m);
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
|||||||
{ {0x02, 0x21}, "lz4", unlz4 },
|
{ {0x02, 0x21}, "lz4", unlz4 },
|
||||||
--- a/scripts/Makefile.lib
|
--- a/scripts/Makefile.lib
|
||||||
+++ b/scripts/Makefile.lib
|
+++ b/scripts/Makefile.lib
|
||||||
@@ -443,10 +443,10 @@ quiet_cmd_bzip2_with_size = BZIP2 $@
|
@@ -447,10 +447,10 @@ quiet_cmd_bzip2_with_size = BZIP2 $@
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
quiet_cmd_lzma = LZMA $@
|
quiet_cmd_lzma = LZMA $@
|
||||||
|
@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/net/ipv4/fib_trie.c
|
--- a/net/ipv4/fib_trie.c
|
||||||
+++ b/net/ipv4/fib_trie.c
|
+++ b/net/ipv4/fib_trie.c
|
||||||
@@ -3036,11 +3036,13 @@ static const struct seq_operations fib_r
|
@@ -3037,11 +3037,13 @@ static const struct seq_operations fib_r
|
||||||
|
|
||||||
int __net_init fib_proc_init(struct net *net)
|
int __net_init fib_proc_init(struct net *net)
|
||||||
{
|
{
|
||||||
@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
fib_triestat_seq_show, NULL))
|
fib_triestat_seq_show, NULL))
|
||||||
goto out2;
|
goto out2;
|
||||||
|
|
||||||
@@ -3051,17 +3053,21 @@ int __net_init fib_proc_init(struct net
|
@@ -3052,17 +3054,21 @@ int __net_init fib_proc_init(struct net
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
out3:
|
out3:
|
||||||
|
@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
+MODULE_LICENSE("GPL");
|
+MODULE_LICENSE("GPL");
|
||||||
--- a/kernel/sched/core.c
|
--- a/kernel/sched/core.c
|
||||||
+++ b/kernel/sched/core.c
|
+++ b/kernel/sched/core.c
|
||||||
@@ -4366,6 +4366,7 @@ int wake_up_state(struct task_struct *p,
|
@@ -4363,6 +4363,7 @@ int wake_up_state(struct task_struct *p,
|
||||||
{
|
{
|
||||||
return try_to_wake_up(p, state, 0);
|
return try_to_wake_up(p, state, 0);
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
#endif /* _KOBJECT_H_ */
|
#endif /* _KOBJECT_H_ */
|
||||||
--- a/lib/kobject_uevent.c
|
--- a/lib/kobject_uevent.c
|
||||||
+++ b/lib/kobject_uevent.c
|
+++ b/lib/kobject_uevent.c
|
||||||
@@ -691,6 +691,43 @@ int add_uevent_var(struct kobj_uevent_en
|
@@ -706,6 +706,43 @@ int add_uevent_var(struct kobj_uevent_en
|
||||||
EXPORT_SYMBOL_GPL(add_uevent_var);
|
EXPORT_SYMBOL_GPL(add_uevent_var);
|
||||||
|
|
||||||
#if defined(CONFIG_NET)
|
#if defined(CONFIG_NET)
|
||||||
|
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
#define PACKET_FANOUT_LB 1
|
#define PACKET_FANOUT_LB 1
|
||||||
--- a/net/packet/af_packet.c
|
--- a/net/packet/af_packet.c
|
||||||
+++ b/net/packet/af_packet.c
|
+++ b/net/packet/af_packet.c
|
||||||
@@ -1866,6 +1866,7 @@ static int packet_rcv_spkt(struct sk_buf
|
@@ -1927,6 +1927,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||||
{
|
{
|
||||||
struct sock *sk;
|
struct sock *sk;
|
||||||
struct sockaddr_pkt *spkt;
|
struct sockaddr_pkt *spkt;
|
||||||
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* When we registered the protocol we saved the socket in the data
|
* When we registered the protocol we saved the socket in the data
|
||||||
@@ -1873,6 +1874,7 @@ static int packet_rcv_spkt(struct sk_buf
|
@@ -1934,6 +1935,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||||
*/
|
*/
|
||||||
|
|
||||||
sk = pt->af_packet_priv;
|
sk = pt->af_packet_priv;
|
||||||
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Yank back the headers [hope the device set this
|
* Yank back the headers [hope the device set this
|
||||||
@@ -1885,7 +1887,7 @@ static int packet_rcv_spkt(struct sk_buf
|
@@ -1946,7 +1948,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||||
* so that this procedure is noop.
|
* so that this procedure is noop.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||||
@@ -2131,12 +2133,12 @@ static int packet_rcv(struct sk_buff *sk
|
@@ -2192,12 +2194,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||||
unsigned int snaplen, res;
|
unsigned int snaplen, res;
|
||||||
bool is_drop_n_account = false;
|
bool is_drop_n_account = false;
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
||||||
@@ -2263,12 +2265,12 @@ static int tpacket_rcv(struct sk_buff *s
|
@@ -2324,12 +2326,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||||
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
|
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
|
||||||
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
|
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
||||||
@@ -3377,6 +3379,7 @@ static int packet_create(struct net *net
|
@@ -3443,6 +3445,7 @@ static int packet_create(struct net *net
|
||||||
mutex_init(&po->pg_vec_lock);
|
mutex_init(&po->pg_vec_lock);
|
||||||
po->rollover = NULL;
|
po->rollover = NULL;
|
||||||
po->prot_hook.func = packet_rcv;
|
po->prot_hook.func = packet_rcv;
|
||||||
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
if (sock->type == SOCK_PACKET)
|
if (sock->type == SOCK_PACKET)
|
||||||
po->prot_hook.func = packet_rcv_spkt;
|
po->prot_hook.func = packet_rcv_spkt;
|
||||||
@@ -4014,6 +4017,16 @@ packet_setsockopt(struct socket *sock, i
|
@@ -4096,6 +4099,16 @@ packet_setsockopt(struct socket *sock, i
|
||||||
WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
|
WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
default:
|
default:
|
||||||
return -ENOPROTOOPT;
|
return -ENOPROTOOPT;
|
||||||
}
|
}
|
||||||
@@ -4070,6 +4083,13 @@ static int packet_getsockopt(struct sock
|
@@ -4152,6 +4165,13 @@ static int packet_getsockopt(struct sock
|
||||||
case PACKET_VNET_HDR:
|
case PACKET_VNET_HDR:
|
||||||
val = po->has_vnet_hdr;
|
val = po->has_vnet_hdr;
|
||||||
break;
|
break;
|
||||||
|
@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||||||
static void rt_fibinfo_free(struct rtable __rcu **rtp)
|
static void rt_fibinfo_free(struct rtable __rcu **rtp)
|
||||||
--- a/net/ipv4/fib_trie.c
|
--- a/net/ipv4/fib_trie.c
|
||||||
+++ b/net/ipv4/fib_trie.c
|
+++ b/net/ipv4/fib_trie.c
|
||||||
@@ -2783,6 +2783,7 @@ static const char *const rtn_type_names[
|
@@ -2784,6 +2784,7 @@ static const char *const rtn_type_names[
|
||||||
[RTN_THROW] = "THROW",
|
[RTN_THROW] = "THROW",
|
||||||
[RTN_NAT] = "NAT",
|
[RTN_NAT] = "NAT",
|
||||||
[RTN_XRESOLVE] = "XRESOLVE",
|
[RTN_XRESOLVE] = "XRESOLVE",
|
||||||
|
@ -80,7 +80,7 @@ Signe-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
#endif /* _NET_IPV6_GRO_H */
|
#endif /* _NET_IPV6_GRO_H */
|
||||||
--- a/include/net/tcp.h
|
--- a/include/net/tcp.h
|
||||||
+++ b/include/net/tcp.h
|
+++ b/include/net/tcp.h
|
||||||
@@ -2057,7 +2057,10 @@ void tcp_v4_destroy_sock(struct sock *sk
|
@@ -2058,7 +2058,10 @@ void tcp_v4_destroy_sock(struct sock *sk
|
||||||
|
|
||||||
struct sk_buff *tcp_gso_segment(struct sk_buff *skb,
|
struct sk_buff *tcp_gso_segment(struct sk_buff *skb,
|
||||||
netdev_features_t features);
|
netdev_features_t features);
|
||||||
|
@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
@@ -7079,6 +7079,7 @@ static int mv88e6xxx_register_switch(str
|
@@ -7080,6 +7080,7 @@ static int mv88e6xxx_register_switch(str
|
||||||
ds->ops = &mv88e6xxx_switch_ops;
|
ds->ops = &mv88e6xxx_switch_ops;
|
||||||
ds->ageing_time_min = chip->info->age_time_coeff;
|
ds->ageing_time_min = chip->info->age_time_coeff;
|
||||||
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
|
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
|
||||||
|
@ -100,7 +100,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/b53/b53_common.c
|
--- a/drivers/net/dsa/b53/b53_common.c
|
||||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||||
@@ -2466,6 +2466,19 @@ static const struct b53_chip_data b53_sw
|
@@ -2469,6 +2469,19 @@ static const struct b53_chip_data b53_sw
|
||||||
.jumbo_size_reg = B53_JUMBO_MAX_SIZE_63XX,
|
.jumbo_size_reg = B53_JUMBO_MAX_SIZE_63XX,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -100,7 +100,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/b53/b53_common.c
|
--- a/drivers/net/dsa/b53/b53_common.c
|
||||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||||
@@ -2613,6 +2613,20 @@ static const struct b53_chip_data b53_sw
|
@@ -2616,6 +2616,20 @@ static const struct b53_chip_data b53_sw
|
||||||
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
|
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
|
||||||
.jumbo_size_reg = B53_JUMBO_MAX_SIZE,
|
.jumbo_size_reg = B53_JUMBO_MAX_SIZE,
|
||||||
},
|
},
|
||||||
@ -121,7 +121,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
|||||||
};
|
};
|
||||||
|
|
||||||
static int b53_switch_init(struct b53_device *dev)
|
static int b53_switch_init(struct b53_device *dev)
|
||||||
@@ -2790,6 +2804,7 @@ int b53_switch_detect(struct b53_device
|
@@ -2793,6 +2807,7 @@ int b53_switch_detect(struct b53_device
|
||||||
case BCM53012_DEVICE_ID:
|
case BCM53012_DEVICE_ID:
|
||||||
case BCM53018_DEVICE_ID:
|
case BCM53018_DEVICE_ID:
|
||||||
case BCM53019_DEVICE_ID:
|
case BCM53019_DEVICE_ID:
|
||||||
|
Loading…
Reference in New Issue
Block a user