Message ID | 20210203172042.800474-9-shy828301@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Make shrinker's nr_deferred memcg aware | expand |
On 03.02.2021 20:20, Yang Shi wrote: > Use per memcg's nr_deferred for memcg aware shrinkers. The shrinker's nr_deferred > will be used in the following cases: > 1. Non memcg aware shrinkers > 2. !CONFIG_MEMCG > 3. memcg is disabled by boot parameter > > Signed-off-by: Yang Shi <shy828301@gmail.com> > --- > mm/vmscan.c | 94 +++++++++++++++++++++++++++++++++++++++++++---------- > 1 file changed, 77 insertions(+), 17 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index d9126f12890f..545422d2aeec 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -190,6 +190,13 @@ static int shrinker_nr_max; > #define NR_MAX_TO_SHR_MAP_SIZE(nr_max) \ > (DIV_ROUND_UP(nr_max, BITS_PER_LONG) * sizeof(unsigned long)) > > +static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg, > + int nid) > +{ > + return rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info, > + lockdep_is_held(&shrinker_rwsem)); > +} Thanks for the helper. Why not to introduce and become to use it in old places in a separate patch? > + > static void free_shrinker_info_rcu(struct rcu_head *head) > { > kvfree(container_of(head, struct shrinker_info, rcu)); > @@ -204,8 +211,7 @@ static int expand_one_shrinker_info(struct mem_cgroup *memcg, > int size = m_size + d_size; > > for_each_node(nid) { > - old = rcu_dereference_protected( > - mem_cgroup_nodeinfo(memcg, nid)->shrinker_info, true); > + old = shrinker_info_protected(memcg, nid); > /* Not yet online memcg */ > if (!old) > return 0; > @@ -239,7 +245,7 @@ void free_shrinker_info(struct mem_cgroup *memcg) > > for_each_node(nid) { > pn = mem_cgroup_nodeinfo(memcg, nid); > - info = rcu_dereference_protected(pn->shrinker_info, true); > + info = shrinker_info_protected(memcg, nid); > kvfree(info); > rcu_assign_pointer(pn->shrinker_info, NULL); > } > @@ -358,6 +364,25 @@ static void unregister_memcg_shrinker(struct shrinker *shrinker) > up_write(&shrinker_rwsem); > } > > + > +static long count_nr_deferred_memcg(int nid, struct shrinker *shrinker, > + struct mem_cgroup *memcg) > +{ > + struct shrinker_info *info; > + > + info = shrinker_info_protected(memcg, nid); > + return atomic_long_xchg(&info->nr_deferred[shrinker->id], 0); > +} > + > +static long set_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker, > + struct mem_cgroup *memcg) > +{ > + struct shrinker_info *info; > + > + info = shrinker_info_protected(memcg, nid); > + return atomic_long_add_return(nr, &info->nr_deferred[shrinker->id]); > +} Names confuse me a little bit. What about xchg_nr_deferred_memcg() and add_nr_deferred_memcg()? > static bool cgroup_reclaim(struct scan_control *sc) > { > return sc->target_mem_cgroup; > @@ -396,6 +421,18 @@ static void unregister_memcg_shrinker(struct shrinker *shrinker) > { > } > > +static long count_nr_deferred_memcg(int nid, struct shrinker *shrinker, > + struct mem_cgroup *memcg) > +{ > + return 0; > +} > + > +static long set_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker, > + struct mem_cgroup *memcg) > +{ > + return 0; > +} > + > static bool cgroup_reclaim(struct scan_control *sc) > { > return false; > @@ -407,6 +444,39 @@ static bool writeback_throttling_sane(struct scan_control *sc) > } > #endif > > +static long count_nr_deferred(struct shrinker *shrinker, > + struct shrink_control *sc) > +{ > + int nid = sc->nid; > + > + if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) > + nid = 0; > + > + if (sc->memcg && > + (shrinker->flags & SHRINKER_MEMCG_AWARE)) > + return count_nr_deferred_memcg(nid, shrinker, > + sc->memcg); > + > + return atomic_long_xchg(&shrinker->nr_deferred[nid], 0); > +} > + > + > +static long set_nr_deferred(long nr, struct shrinker *shrinker, > + struct shrink_control *sc) > +{ > + int nid = sc->nid; > + > + if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) > + nid = 0; > + > + if (sc->memcg && > + (shrinker->flags & SHRINKER_MEMCG_AWARE)) > + return set_nr_deferred_memcg(nr, nid, shrinker, > + sc->memcg); > + > + return atomic_long_add_return(nr, &shrinker->nr_deferred[nid]); > +} > + > /* > * This misses isolated pages which are not accounted for to save counters. > * As the data only determines if reclaim or compaction continues, it is > @@ -539,14 +609,10 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, > long freeable; > long nr; > long new_nr; > - int nid = shrinkctl->nid; > long batch_size = shrinker->batch ? shrinker->batch > : SHRINK_BATCH; > long scanned = 0, next_deferred; > > - if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) > - nid = 0; > - > freeable = shrinker->count_objects(shrinker, shrinkctl); > if (freeable == 0 || freeable == SHRINK_EMPTY) > return freeable; > @@ -556,7 +622,7 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, > * and zero it so that other concurrent shrinker invocations > * don't also do this scanning work. > */ > - nr = atomic_long_xchg(&shrinker->nr_deferred[nid], 0); > + nr = count_nr_deferred(shrinker, shrinkctl); > > total_scan = nr; > if (shrinker->seeks) { > @@ -647,14 +713,9 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, > next_deferred = 0; > /* > * move the unused scan count back into the shrinker in a > - * manner that handles concurrent updates. If we exhausted the > - * scan, there is no need to do an update. > + * manner that handles concurrent updates. > */ > - if (next_deferred > 0) > - new_nr = atomic_long_add_return(next_deferred, > - &shrinker->nr_deferred[nid]); > - else > - new_nr = atomic_long_read(&shrinker->nr_deferred[nid]); > + new_nr = set_nr_deferred(next_deferred, shrinker, shrinkctl); > > trace_mm_shrink_slab_end(shrinker, shrinkctl->nid, freed, nr, new_nr, total_scan); > return freed; > @@ -674,8 +735,7 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid, > if (!down_read_trylock(&shrinker_rwsem)) > return 0; > > - info = rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info, > - true); > + info = shrinker_info_protected(memcg, nid); > if (unlikely(!info)) > goto unlock; > >
On Thu, Feb 4, 2021 at 12:42 AM Kirill Tkhai <ktkhai@virtuozzo.com> wrote: > > On 03.02.2021 20:20, Yang Shi wrote: > > Use per memcg's nr_deferred for memcg aware shrinkers. The shrinker's nr_deferred > > will be used in the following cases: > > 1. Non memcg aware shrinkers > > 2. !CONFIG_MEMCG > > 3. memcg is disabled by boot parameter > > > > Signed-off-by: Yang Shi <shy828301@gmail.com> > > --- > > mm/vmscan.c | 94 +++++++++++++++++++++++++++++++++++++++++++---------- > > 1 file changed, 77 insertions(+), 17 deletions(-) > > > > diff --git a/mm/vmscan.c b/mm/vmscan.c > > index d9126f12890f..545422d2aeec 100644 > > --- a/mm/vmscan.c > > +++ b/mm/vmscan.c > > @@ -190,6 +190,13 @@ static int shrinker_nr_max; > > #define NR_MAX_TO_SHR_MAP_SIZE(nr_max) \ > > (DIV_ROUND_UP(nr_max, BITS_PER_LONG) * sizeof(unsigned long)) > > > > +static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg, > > + int nid) > > +{ > > + return rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info, > > + lockdep_is_held(&shrinker_rwsem)); > > +} > > Thanks for the helper. Why not to introduce and become to use it in old places > in a separate patch? What do you mean about "old places"? Where was it introduced in v5 (in patch #10)? > > > + > > static void free_shrinker_info_rcu(struct rcu_head *head) > > { > > kvfree(container_of(head, struct shrinker_info, rcu)); > > @@ -204,8 +211,7 @@ static int expand_one_shrinker_info(struct mem_cgroup *memcg, > > int size = m_size + d_size; > > > > for_each_node(nid) { > > - old = rcu_dereference_protected( > > - mem_cgroup_nodeinfo(memcg, nid)->shrinker_info, true); > > + old = shrinker_info_protected(memcg, nid); > > /* Not yet online memcg */ > > if (!old) > > return 0; > > @@ -239,7 +245,7 @@ void free_shrinker_info(struct mem_cgroup *memcg) > > > > for_each_node(nid) { > > pn = mem_cgroup_nodeinfo(memcg, nid); > > - info = rcu_dereference_protected(pn->shrinker_info, true); > > + info = shrinker_info_protected(memcg, nid); > > kvfree(info); > > rcu_assign_pointer(pn->shrinker_info, NULL); > > } > > @@ -358,6 +364,25 @@ static void unregister_memcg_shrinker(struct shrinker *shrinker) > > up_write(&shrinker_rwsem); > > } > > > > + > > +static long count_nr_deferred_memcg(int nid, struct shrinker *shrinker, > > + struct mem_cgroup *memcg) > > +{ > > + struct shrinker_info *info; > > + > > + info = shrinker_info_protected(memcg, nid); > > + return atomic_long_xchg(&info->nr_deferred[shrinker->id], 0); > > +} > > + > > +static long set_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker, > > + struct mem_cgroup *memcg) > > +{ > > + struct shrinker_info *info; > > + > > + info = shrinker_info_protected(memcg, nid); > > + return atomic_long_add_return(nr, &info->nr_deferred[shrinker->id]); > > +} > > Names confuse me a little bit. What about xchg_nr_deferred_memcg() and add_nr_deferred_memcg()? add_nr_deferred_memcg() sounds more self-explained to me. > > > static bool cgroup_reclaim(struct scan_control *sc) > > { > > return sc->target_mem_cgroup; > > @@ -396,6 +421,18 @@ static void unregister_memcg_shrinker(struct shrinker *shrinker) > > { > > } > > > > +static long count_nr_deferred_memcg(int nid, struct shrinker *shrinker, > > + struct mem_cgroup *memcg) > > +{ > > + return 0; > > +} > > + > > +static long set_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker, > > + struct mem_cgroup *memcg) > > +{ > > + return 0; > > +} > > + > > static bool cgroup_reclaim(struct scan_control *sc) > > { > > return false; > > @@ -407,6 +444,39 @@ static bool writeback_throttling_sane(struct scan_control *sc) > > } > > #endif > > > > +static long count_nr_deferred(struct shrinker *shrinker, > > + struct shrink_control *sc) > > +{ > > + int nid = sc->nid; > > + > > + if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) > > + nid = 0; > > + > > + if (sc->memcg && > > + (shrinker->flags & SHRINKER_MEMCG_AWARE)) > > + return count_nr_deferred_memcg(nid, shrinker, > > + sc->memcg); > > + > > + return atomic_long_xchg(&shrinker->nr_deferred[nid], 0); > > +} > > + > > + > > +static long set_nr_deferred(long nr, struct shrinker *shrinker, > > + struct shrink_control *sc) > > +{ > > + int nid = sc->nid; > > + > > + if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) > > + nid = 0; > > + > > + if (sc->memcg && > > + (shrinker->flags & SHRINKER_MEMCG_AWARE)) > > + return set_nr_deferred_memcg(nr, nid, shrinker, > > + sc->memcg); > > + > > + return atomic_long_add_return(nr, &shrinker->nr_deferred[nid]); > > +} > > + > > /* > > * This misses isolated pages which are not accounted for to save counters. > > * As the data only determines if reclaim or compaction continues, it is > > @@ -539,14 +609,10 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, > > long freeable; > > long nr; > > long new_nr; > > - int nid = shrinkctl->nid; > > long batch_size = shrinker->batch ? shrinker->batch > > : SHRINK_BATCH; > > long scanned = 0, next_deferred; > > > > - if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) > > - nid = 0; > > - > > freeable = shrinker->count_objects(shrinker, shrinkctl); > > if (freeable == 0 || freeable == SHRINK_EMPTY) > > return freeable; > > @@ -556,7 +622,7 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, > > * and zero it so that other concurrent shrinker invocations > > * don't also do this scanning work. > > */ > > - nr = atomic_long_xchg(&shrinker->nr_deferred[nid], 0); > > + nr = count_nr_deferred(shrinker, shrinkctl); > > > > total_scan = nr; > > if (shrinker->seeks) { > > @@ -647,14 +713,9 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, > > next_deferred = 0; > > /* > > * move the unused scan count back into the shrinker in a > > - * manner that handles concurrent updates. If we exhausted the > > - * scan, there is no need to do an update. > > + * manner that handles concurrent updates. > > */ > > - if (next_deferred > 0) > > - new_nr = atomic_long_add_return(next_deferred, > > - &shrinker->nr_deferred[nid]); > > - else > > - new_nr = atomic_long_read(&shrinker->nr_deferred[nid]); > > + new_nr = set_nr_deferred(next_deferred, shrinker, shrinkctl); > > > > trace_mm_shrink_slab_end(shrinker, shrinkctl->nid, freed, nr, new_nr, total_scan); > > return freed; > > @@ -674,8 +735,7 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid, > > if (!down_read_trylock(&shrinker_rwsem)) > > return 0; > > > > - info = rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info, > > - true); > > + info = shrinker_info_protected(memcg, nid); > > if (unlikely(!info)) > > goto unlock; > > > > > >
Greeting, FYI, we noticed the following commit (built with gcc-9): commit: 3510a44e0edaff61742421af22300d489765f018 ("mm: vmscan: use per memcg nr_deferred of shrinker") https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git Yang-Shi/Make-shrinker-s-nr_deferred-memcg-aware/20210204-012207 in testcase: rcutorture version: with following parameters: runtime: 300s test: default torture_type: srcu test-description: rcutorture is rcutorture kernel module load/unload test. test-url: https://www.kernel.org/doc/Documentation/RCU/torture.txt on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 8G caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace): +------------------------------------------------------------------+------------+------------+ | | ff3d9a671b | 3510a44e0e | +------------------------------------------------------------------+------------+------------+ | boot_successes | 18 | 0 | | boot_failures | 0 | 20 | | WARNING:suspicious_RCU_usage | 0 | 20 | | mm/vmscan.c:#suspicious_rcu_dereference_protected()usage | 0 | 20 | | kernel/rcu/rcutorture.c:#suspicious_rcu_dereference_check()usage | 0 | 1 | +------------------------------------------------------------------+------------+------------+ If you fix the issue, kindly add following tag Reported-by: kernel test robot <oliver.sang@intel.com> [ 429.418462] WARNING: suspicious RCU usage [ 429.492107] 5.11.0-rc4-next-20210125-00008-g3510a44e0eda #1 Not tainted [ 429.522073] ----------------------------- [ 429.528493] mm/vmscan.c:196 suspicious rcu_dereference_protected() usage! [ 429.591222] [ 429.591222] other info that might help us debug this: [ 429.591222] [ 429.631478] [ 429.631478] rcu_scheduler_active = 2, debug_locks = 1 [ 429.640256] 2 locks held by kworker/0:2/113: [ 429.701612] #0: ffff8881002e8c58 ((wq_completion)cgroup_destroy){+.+.}-{0:0}, at: process_one_work (kbuild/src/consumer/kernel/workqueue.c:2246) [ 429.743808] #1: ffff888128193e78 ((work_completion)(&(&css->destroy_rwork)->work)){+.+.}-{0:0}, at: process_one_work (kbuild/src/consumer/kernel/workqueue.c:2246) [ 429.855537] [ 429.855537] stack backtrace: [ 429.881543] CPU: 0 PID: 113 Comm: kworker/0:2 Not tainted 5.11.0-rc4-next-20210125-00008-g3510a44e0eda #1 [ 429.961424] Workqueue: cgroup_destroy css_free_rwork_fn [ 429.969020] Call Trace: [ 430.006272] ? shrinker_info_protected (kbuild/src/consumer/mm/vmscan.c:196 (discriminator 5)) [ 430.051527] ? free_shrinker_info (kbuild/src/consumer/mm/vmscan.c:248) [ 430.059015] ? mem_cgroup_css_free (kbuild/src/consumer/mm/memcontrol.c:5126 kbuild/src/consumer/mm/memcontrol.c:5326) [ 430.114659] ? css_free_rwork_fn (kbuild/src/consumer/include/linux/spinlock.h:359 kbuild/src/consumer/kernel/cgroup/cgroup.c:319 kbuild/src/consumer/kernel/cgroup/cgroup.c:4916) [ 430.152816] ? process_one_work (kbuild/src/consumer/arch/x86/include/asm/atomic.h:29 kbuild/src/consumer/include/asm-generic/atomic-instrumented.h:28 kbuild/src/consumer/include/linux/jump_label.h:254 kbuild/src/consumer/include/linux/jump_label.h:264 kbuild/src/consumer/include/trace/events/workqueue.h:108 kbuild/src/consumer/kernel/workqueue.c:2280) [ 430.159991] ? ftrace_likely_update (kbuild/src/consumer/kernel/trace/trace_branch.c:225) [ 430.213016] ? worker_thread (kbuild/src/consumer/include/linux/list.h:282 (discriminator 1) kbuild/src/consumer/kernel/workqueue.c:2422 (discriminator 1)) [ 430.218431] ? rescuer_thread (kbuild/src/consumer/kernel/workqueue.c:2364) [ OK ] Started Load Kernel Modules. [ 430.763235] ? kthread (kbuild/src/consumer/kernel/kthread.c:292 (discriminator 1)) [ 430.767879] ? kthread_freezable_should_stop (kbuild/src/consumer/kernel/kthread.c:245) [ 430.801093] ? ret_from_fork (kbuild/src/consumer/arch/x86/entry/entry_64.S:302) [ OK ] Started Remount Root and Kernel File Systems. [ 431.265726] _warn_unseeded_randomness: 8 callbacks suppressed [ 431.265822] random: get_random_u64 called from copy_process+0x736/0x2951 with crng_init=0 Starting Create System Users... [ 432.014024] random: get_random_bytes called from key_alloc+0x5bb/0x95d with crng_init=0 [ 432.309092] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=0 [ 432.309349] random: get_random_u64 called from randomize_stack_top+0x33/0x8c with crng_init=0 [ 432.310050] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=0 Starting Load/Save Random Seed... Mounting FUSE Control File System... [ 434.060249] _warn_unseeded_randomness: 11 callbacks suppressed [ 434.060350] random: get_random_bytes called from key_alloc+0x5bb/0x95d with crng_init=0 [ 434.618246] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=0 [ 434.618507] random: get_random_u64 called from randomize_stack_top+0x33/0x8c with crng_init=0 Mounting Kernel Configuration File System... [ 435.660062] _warn_unseeded_randomness: 5 callbacks suppressed [ 435.660160] random: get_random_bytes called from key_alloc+0x5bb/0x95d with crng_init=0 [ 435.780213] random: get_random_u64 called from copy_process+0x736/0x2951 with crng_init=0 Starting Apply Kernel Variables... [ OK ] Reached target NFS client services. [ 436.742460] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=0 [ 436.742721] random: get_random_u64 called from randomize_stack_top+0x33/0x8c with crng_init=0 [ 436.743360] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=0 [ OK ] Started Create System Users. [ OK ] Started Load/Save Random Seed. [ OK ] Mounted FUSE Control File System. [ OK ] Mounted Kernel Configuration File System. [ 439.228577] _warn_unseeded_randomness: 10 callbacks suppressed [ 439.228680] random: get_random_u64 called from copy_process+0x736/0x2951 with crng_init=0 Starting Create Static Device Nodes in /dev... [ 439.879913] random: get_random_bytes called from key_alloc+0x5bb/0x95d with crng_init=0 [ 440.277795] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=0 [ 440.278057] random: get_random_u64 called from randomize_stack_top+0x33/0x8c with crng_init=0 [ 440.278776] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=0 [ OK ] Started Apply Kernel Variables. [ OK ] Started Create Static Device Nodes in /dev. [ OK ] Reached target Local File Systems (Pre). [ OK ] Reached target Local File Systems. [ 443.162257] _warn_unseeded_randomness: 4 callbacks suppressed [ 443.162367] random: get_random_u64 called from copy_process+0x736/0x2951 with crng_init=0 Starting Preprocess NFS configuration... [ 443.916533] random: get_random_bytes called from key_alloc+0x5bb/0x95d with crng_init=0 [ 444.257290] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=0 [ 444.257542] random: get_random_u64 called from randomize_stack_top+0x33/0x8c with crng_init=0 [ 444.258443] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=0 Starting udev Kernel Device Manager... [ 445.384693] _warn_unseeded_randomness: 13 callbacks suppressed [ 445.384796] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=0 [ 445.385005] random: get_random_u64 called from randomize_stack_top+0x33/0x8c with crng_init=0 [ 445.385563] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=0 [ OK ] Started Preprocess NFS configuration. [ OK ] Started Journal Service. [ 447.220330] _warn_unseeded_randomness: 3 callbacks suppressed [ 447.220539] random: get_random_u64 called from copy_process+0x736/0x2951 with crng_init=0 Starting Flush Journal to Persistent Storage... [ OK ] Started udev Kernel Device Manager. [ 448.023069] random: get_random_bytes called from key_alloc+0x5bb/0x95d with crng_init=0 [ 448.309765] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=0 [ 448.310024] random: get_random_u64 called from randomize_stack_top+0x33/0x8c with crng_init=0 [ 448.412577] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=0 [ OK ] Started Flush Journal to Persistent Storage. [ 450.258909] _warn_unseeded_randomness: 4 callbacks suppressed [ 450.259007] random: get_random_u64 called from copy_process+0x736/0x2951 with crng_init=0 Starting Create Volatile Files and Directories... [ 450.661632] random: fast init done [ 450.919941] random: get_random_bytes called from key_alloc+0x5bb/0x95d with crng_init=1 [ 451.147245] random: get_random_u64 called from arch_rnd+0x3f/0x61 with crng_init=1 [ OK ] Started Create Volatile Files and Directories. [ 454.518478] _warn_unseeded_randomness: 6 callbacks suppressed [ 454.518568] random: get_random_u64 called from copy_process+0x736/0x2951 with crng_init=1 Starting Update UTMP about System Boot/Shutdown... [ 455.704795] random: get_random_bytes called from key_alloc+0x5bb/0x95d with crng_init=1 To reproduce: # build kernel cd linux cp config-5.11.0-rc4-next-20210125-00008-g3510a44e0eda .config make HOSTCC=gcc-9 CC=gcc-9 ARCH=x86_64 olddefconfig prepare modules_prepare bzImage git clone https://github.com/intel/lkp-tests.git cd lkp-tests bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email Thanks, Oliver Sang # # Automatically generated file; DO NOT EDIT. # Linux/x86_64 5.11.0-rc4 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc-9 (Debian 9.3.0-15) 9.3.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=90300 CONFIG_LD_VERSION=235000000 CONFIG_CLANG_VERSION=0 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y # # General setup # CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_BUILD_SALT="" CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_HAVE_KERNEL_LZ4=y CONFIG_HAVE_KERNEL_ZSTD=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_XZ is not set # CONFIG_KERNEL_LZO is not set # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_ZSTD is not set CONFIG_DEFAULT_INIT="" CONFIG_DEFAULT_HOSTNAME="(none)" # CONFIG_SYSVIPC is not set # CONFIG_POSIX_MQUEUE is not set # CONFIG_WATCH_QUEUE is not set CONFIG_CROSS_MEMORY_ATTACH=y # CONFIG_USELIB is not set CONFIG_AUDIT=y CONFIG_HAVE_ARCH_AUDITSYSCALL=y CONFIG_AUDITSYSCALL=y # # IRQ subsystem # CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_INJECTION=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_SIM=y CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_GENERIC_MSI_IRQ=y CONFIG_GENERIC_MSI_IRQ_DOMAIN=y CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y CONFIG_GENERIC_IRQ_RESERVATION_MODE=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y # CONFIG_GENERIC_IRQ_DEBUGFS is not set # end of IRQ subsystem CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_ARCH_CLOCKSOURCE_INIT=y CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y # # Timers subsystem # CONFIG_HZ_PERIODIC=y # CONFIG_NO_HZ_IDLE is not set # CONFIG_NO_HZ is not set # CONFIG_HIGH_RES_TIMERS is not set # end of Timers subsystem # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y CONFIG_PREEMPT_COUNT=y CONFIG_PREEMPTION=y # # CPU/Task time and stats accounting # CONFIG_TICK_CPU_ACCOUNTING=y # CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set CONFIG_IRQ_TIME_ACCOUNTING=y # CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_TASKSTATS is not set CONFIG_PSI=y CONFIG_PSI_DEFAULT_DISABLED=y # end of CPU/Task time and stats accounting # # RCU Subsystem # CONFIG_TREE_RCU=y CONFIG_PREEMPT_RCU=y # CONFIG_RCU_EXPERT is not set CONFIG_SRCU=y CONFIG_TREE_SRCU=y CONFIG_TASKS_RCU_GENERIC=y CONFIG_TASKS_RCU=y CONFIG_TASKS_RUDE_RCU=y CONFIG_TASKS_TRACE_RCU=y CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_NEED_SEGCBLIST=y # end of RCU Subsystem CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y # CONFIG_IKHEADERS is not set CONFIG_LOG_BUF_SHIFT=20 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y # # Scheduler features # # end of Scheduler features CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y CONFIG_CC_HAS_INT128=y CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_CGROUPS=y CONFIG_PAGE_COUNTER=y CONFIG_MEMCG=y CONFIG_CGROUP_SCHED=y # CONFIG_FAIR_GROUP_SCHED is not set # CONFIG_RT_GROUP_SCHED is not set # CONFIG_CGROUP_PIDS is not set CONFIG_CGROUP_RDMA=y CONFIG_CGROUP_FREEZER=y # CONFIG_CGROUP_DEVICE is not set # CONFIG_CGROUP_CPUACCT is not set CONFIG_CGROUP_PERF=y CONFIG_CGROUP_BPF=y CONFIG_CGROUP_DEBUG=y CONFIG_SOCK_CGROUP_DATA=y # CONFIG_NAMESPACES is not set CONFIG_CHECKPOINT_RESTORE=y # CONFIG_SCHED_AUTOGROUP is not set # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_RELAY is not set CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_RD_GZIP=y CONFIG_RD_BZIP2=y # CONFIG_RD_LZMA is not set CONFIG_RD_XZ=y # CONFIG_RD_LZO is not set CONFIG_RD_LZ4=y # CONFIG_RD_ZSTD is not set CONFIG_BOOT_CONFIG=y # CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_LD_ORPHAN_WARN=y CONFIG_SYSCTL=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y CONFIG_BPF=y CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_MULTIUSER=y CONFIG_SGETMASK_SYSCALL=y # CONFIG_SYSFS_SYSCALL is not set CONFIG_FHANDLE=y # CONFIG_POSIX_TIMERS is not set CONFIG_PRINTK=y CONFIG_PRINTK_NMI=y CONFIG_BUG=y # CONFIG_ELF_CORE is not set CONFIG_PCSPKR_PLATFORM=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_FUTEX_PI=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y CONFIG_SHMEM=y CONFIG_AIO=y # CONFIG_IO_URING is not set # CONFIG_ADVISE_SYSCALLS is not set CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_BASE_RELATIVE=y CONFIG_BPF_SYSCALL=y CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y CONFIG_USERMODE_DRIVER=y # CONFIG_BPF_PRELOAD is not set # CONFIG_USERFAULTFD is not set CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_RSEQ=y CONFIG_DEBUG_RSEQ=y CONFIG_EMBEDDED=y CONFIG_HAVE_PERF_EVENTS=y CONFIG_PERF_USE_VMALLOC=y # CONFIG_PC104 is not set # # Kernel Performance Events And Counters # CONFIG_PERF_EVENTS=y CONFIG_DEBUG_PERF_USE_VMALLOC=y # end of Kernel Performance Events And Counters # CONFIG_VM_EVENT_COUNTERS is not set # CONFIG_COMPAT_BRK is not set # CONFIG_SLAB is not set # CONFIG_SLUB is not set CONFIG_SLOB=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set CONFIG_SYSTEM_DATA_VERIFICATION=y # CONFIG_PROFILING is not set CONFIG_TRACEPOINTS=y # end of General setup CONFIG_64BIT=y CONFIG_X86_64=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_OUTPUT_FORMAT="elf64-x86-64" CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_MMU=y CONFIG_ARCH_MMAP_RND_BITS_MIN=28 CONFIG_ARCH_MMAP_RND_BITS_MAX=32 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_FILTER_PGPROT=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y CONFIG_ZONE_DMA32=y CONFIG_AUDIT_ARCH=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_PGTABLE_LEVELS=5 CONFIG_CC_HAS_SANE_STACKPROTECTOR=y # # Processor type and features # CONFIG_ZONE_DMA=y # CONFIG_SMP is not set CONFIG_X86_FEATURE_NAMES=y # CONFIG_X86_X2APIC is not set # CONFIG_X86_MPPARSE is not set CONFIG_GOLDFISH=y # CONFIG_RETPOLINE is not set # CONFIG_X86_EXTENDED_PLATFORM is not set # CONFIG_X86_INTEL_LPSS is not set # CONFIG_X86_AMD_PLATFORM_DEVICE is not set CONFIG_IOSF_MBI=y # CONFIG_IOSF_MBI_DEBUG is not set # CONFIG_SCHED_OMIT_FRAME_POINTER is not set CONFIG_HYPERVISOR_GUEST=y CONFIG_PARAVIRT=y # CONFIG_PARAVIRT_DEBUG is not set CONFIG_X86_HV_CALLBACK_VECTOR=y # CONFIG_XEN is not set CONFIG_KVM_GUEST=y CONFIG_ARCH_CPUIDLE_HALTPOLL=y # CONFIG_PVH is not set # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set CONFIG_PARAVIRT_CLOCK=y # CONFIG_JAILHOUSE_GUEST is not set # CONFIG_ACRN_GUEST is not set # CONFIG_MK8 is not set # CONFIG_MPSC is not set # CONFIG_MCORE2 is not set # CONFIG_MATOM is not set CONFIG_GENERIC_CPU=y CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_X86_TSC=y CONFIG_X86_CMPXCHG64=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_X86_DEBUGCTLMSR=y CONFIG_IA32_FEAT_CTL=y CONFIG_X86_VMX_FEATURE_NAMES=y CONFIG_PROCESSOR_SELECT=y # CONFIG_CPU_SUP_INTEL is not set # CONFIG_CPU_SUP_AMD is not set # CONFIG_CPU_SUP_HYGON is not set CONFIG_CPU_SUP_CENTAUR=y # CONFIG_CPU_SUP_ZHAOXIN is not set CONFIG_HPET_TIMER=y # CONFIG_DMI is not set CONFIG_NR_CPUS_RANGE_BEGIN=1 CONFIG_NR_CPUS_RANGE_END=1 CONFIG_NR_CPUS_DEFAULT=1 CONFIG_NR_CPUS=1 CONFIG_UP_LATE_INIT=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y # CONFIG_X86_MCE is not set # # Performance monitoring # # end of Performance monitoring CONFIG_X86_VSYSCALL_EMULATION=y # CONFIG_X86_IOPL_IOPERM is not set # CONFIG_I8K is not set CONFIG_X86_MSR=y # CONFIG_X86_CPUID is not set CONFIG_X86_5LEVEL=y CONFIG_X86_DIRECT_GBPAGES=y CONFIG_X86_CPA_STATISTICS=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_DEFAULT=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_X86_CHECK_BIOS_CORRUPTION=y # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set CONFIG_X86_RESERVE_LOW=64 # CONFIG_MTRR is not set # CONFIG_ARCH_RANDOM is not set # CONFIG_X86_SMAP is not set CONFIG_X86_UMIP=y # CONFIG_EFI is not set CONFIG_HZ_100=y # CONFIG_HZ_250 is not set # CONFIG_HZ_300 is not set # CONFIG_HZ_1000 is not set CONFIG_HZ=100 # CONFIG_KEXEC is not set # CONFIG_KEXEC_FILE is not set # CONFIG_CRASH_DUMP is not set CONFIG_PHYSICAL_START=0x1000000 CONFIG_RELOCATABLE=y CONFIG_RANDOMIZE_BASE=y CONFIG_X86_NEED_RELOCS=y CONFIG_PHYSICAL_ALIGN=0x200000 CONFIG_DYNAMIC_MEMORY_LAYOUT=y # CONFIG_RANDOMIZE_MEMORY is not set CONFIG_COMPAT_VDSO=y CONFIG_LEGACY_VSYSCALL_EMULATE=y # CONFIG_LEGACY_VSYSCALL_XONLY is not set # CONFIG_LEGACY_VSYSCALL_NONE is not set # CONFIG_CMDLINE_BOOL is not set # CONFIG_MODIFY_LDT_SYSCALL is not set CONFIG_HAVE_LIVEPATCH=y CONFIG_LIVEPATCH=y # end of Processor type and features CONFIG_ARCH_HAS_ADD_PAGES=y CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_ARCH_ENABLE_THP_MIGRATION=y # # Power management and ACPI options # # CONFIG_SUSPEND is not set CONFIG_PM=y CONFIG_PM_DEBUG=y CONFIG_PM_ADVANCED_DEBUG=y CONFIG_DPM_WATCHDOG=y CONFIG_DPM_WATCHDOG_TIMEOUT=120 CONFIG_PM_CLK=y CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y CONFIG_ARCH_SUPPORTS_ACPI=y CONFIG_ACPI=y CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y # CONFIG_ACPI_DEBUGGER is not set CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_LPIT=y CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y # CONFIG_ACPI_EC_DEBUGFS is not set CONFIG_ACPI_AC=y CONFIG_ACPI_BATTERY=y CONFIG_ACPI_BUTTON=y # CONFIG_ACPI_VIDEO is not set CONFIG_ACPI_FAN=y # CONFIG_ACPI_DOCK is not set CONFIG_ACPI_CPU_FREQ_PSS=y CONFIG_ACPI_PROCESSOR_CSTATE=y CONFIG_ACPI_PROCESSOR_IDLE=y CONFIG_ACPI_PROCESSOR=y # CONFIG_ACPI_IPMI is not set # CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set CONFIG_ACPI_THERMAL=y CONFIG_ACPI_CUSTOM_DSDT_FILE="" CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_TABLE_UPGRADE=y # CONFIG_ACPI_DEBUG is not set # CONFIG_ACPI_PCI_SLOT is not set # CONFIG_ACPI_CONTAINER is not set CONFIG_ACPI_HOTPLUG_IOAPIC=y # CONFIG_ACPI_SBS is not set # CONFIG_ACPI_HED is not set # CONFIG_ACPI_CUSTOM_METHOD is not set # CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set CONFIG_HAVE_ACPI_APEI=y CONFIG_HAVE_ACPI_APEI_NMI=y # CONFIG_ACPI_APEI is not set # CONFIG_ACPI_DPTF is not set # CONFIG_ACPI_CONFIGFS is not set # CONFIG_PMIC_OPREGION is not set CONFIG_X86_PM_TIMER=y CONFIG_SFI=y # # CPU Frequency scaling # # CONFIG_CPU_FREQ is not set # end of CPU Frequency scaling # # CPU Idle # CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y # CONFIG_CPU_IDLE_GOV_MENU is not set # CONFIG_CPU_IDLE_GOV_TEO is not set # CONFIG_CPU_IDLE_GOV_HALTPOLL is not set CONFIG_HALTPOLL_CPUIDLE=y # end of CPU Idle # end of Power management and ACPI options # # Bus options (PCI etc.) # CONFIG_PCI_DIRECT=y # CONFIG_PCI_MMCONFIG is not set CONFIG_PCI_CNB20LE_QUIRK=y # CONFIG_ISA_BUS is not set CONFIG_ISA_DMA_API=y CONFIG_X86_SYSFB=y # end of Bus options (PCI etc.) # # Binary Emulations # CONFIG_IA32_EMULATION=y CONFIG_X86_X32=y CONFIG_COMPAT_32=y CONFIG_COMPAT=y CONFIG_COMPAT_FOR_U64_ALIGNMENT=y # end of Binary Emulations # # Firmware Drivers # CONFIG_EDD=m # CONFIG_EDD_OFF is not set # CONFIG_FIRMWARE_MEMMAP is not set # CONFIG_FW_CFG_SYSFS is not set CONFIG_GOOGLE_FIRMWARE=y # CONFIG_GOOGLE_COREBOOT_TABLE is not set # # Tegra firmware driver # # end of Tegra firmware driver # end of Firmware Drivers CONFIG_HAVE_KVM=y CONFIG_VIRTUALIZATION=y CONFIG_AS_AVX512=y CONFIG_AS_SHA1_NI=y CONFIG_AS_SHA256_NI=y CONFIG_AS_TPAUSE=y # # General architecture-dependent options # CONFIG_GENERIC_ENTRY=y CONFIG_KPROBES=y # CONFIG_JUMP_LABEL is not set # CONFIG_STATIC_CALL_SELFTEST is not set CONFIG_OPTPROBES=y CONFIG_KPROBES_ON_FTRACE=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_ARCH_USE_BUILTIN_BSWAP=y CONFIG_KRETPROBES=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KRETPROBES=y CONFIG_HAVE_OPTPROBES=y CONFIG_HAVE_KPROBES_ON_FTRACE=y CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y CONFIG_HAVE_NMI=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_ARCH_HAS_FORTIFY_SOURCE=y CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_ARCH_HAS_SET_DIRECT_MAP=y CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y CONFIG_HAVE_ASM_MODVERSIONS=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_RSEQ=y CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y CONFIG_HAVE_HW_BREAKPOINT=y CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y CONFIG_HAVE_USER_RETURN_NOTIFIER=y CONFIG_HAVE_PERF_EVENTS_NMI=y CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y CONFIG_MMU_GATHER_TABLE_FREE=y CONFIG_MMU_GATHER_RCU_TABLE_FREE=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_HAVE_CMPXCHG_LOCAL=y CONFIG_HAVE_CMPXCHG_DOUBLE=y CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y CONFIG_HAVE_ARCH_SECCOMP=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP=y CONFIG_SECCOMP_FILTER=y # CONFIG_SECCOMP_CACHE_DEBUG is not set CONFIG_HAVE_ARCH_STACKLEAK=y CONFIG_HAVE_STACKPROTECTOR=y CONFIG_STACKPROTECTOR=y # CONFIG_STACKPROTECTOR_STRONG is not set CONFIG_LTO_NONE=y CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_MOVE_PUD=y CONFIG_HAVE_MOVE_PMD=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y CONFIG_HAVE_ARCH_HUGE_VMAP=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_MODULES_USE_ELF_RELA=y CONFIG_ARCH_HAS_ELF_RANDOMIZE=y CONFIG_HAVE_ARCH_MMAP_RND_BITS=y CONFIG_HAVE_EXIT_THREAD=y CONFIG_ARCH_MMAP_RND_BITS=28 CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y CONFIG_HAVE_STACK_VALIDATION=y CONFIG_ISA_BUS_API=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_COMPAT_OLD_SIGACTION=y CONFIG_COMPAT_32BIT_TIME=y CONFIG_HAVE_ARCH_VMAP_STACK=y # CONFIG_VMAP_STACK is not set CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y CONFIG_STRICT_MODULE_RWX=y CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y CONFIG_LOCK_EVENT_COUNTS=y CONFIG_ARCH_HAS_MEM_ENCRYPT=y CONFIG_HAVE_STATIC_CALL=y CONFIG_HAVE_STATIC_CALL_INLINE=y CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_ARCH_HAS_ELFCORE_COMPAT=y # # GCOV-based kernel profiling # # CONFIG_GCOV_KERNEL is not set CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y # end of GCOV-based kernel profiling CONFIG_HAVE_GCC_PLUGINS=y # end of General architecture-dependent options CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 CONFIG_MODULES=y # CONFIG_MODULE_FORCE_LOAD is not set # CONFIG_MODULE_UNLOAD is not set # CONFIG_MODVERSIONS is not set # CONFIG_MODULE_SRCVERSION_ALL is not set # CONFIG_MODULE_SIG is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_UNUSED_SYMBOLS is not set # CONFIG_TRIM_UNUSED_KSYMS is not set CONFIG_MODULES_TREE_LOOKUP=y # CONFIG_BLOCK is not set CONFIG_ASN1=y CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y CONFIG_ARCH_USE_QUEUED_RWLOCKS=y CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y CONFIG_FREEZER=y # # Executable file formats # CONFIG_BINFMT_ELF=y CONFIG_COMPAT_BINFMT_ELF=y CONFIG_ELFCORE=y CONFIG_BINFMT_SCRIPT=y CONFIG_BINFMT_MISC=m CONFIG_COREDUMP=y # end of Executable file formats # # Memory Management options # CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPARSEMEM=y CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_HAVE_FAST_GUP=y CONFIG_MEMORY_ISOLATION=y # CONFIG_MEMORY_HOTPLUG is not set CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_COMPACTION=y CONFIG_PAGE_REPORTING=y CONFIG_MIGRATION=y CONFIG_CONTIG_ALLOC=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_VIRT_TO_BUS=y CONFIG_MMU_NOTIFIER=y CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_TRANSPARENT_HUGEPAGE=y # CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y CONFIG_ARCH_WANTS_THP_SWAP=y CONFIG_NEED_PER_CPU_KM=y # CONFIG_CLEANCACHE is not set CONFIG_CMA=y # CONFIG_CMA_DEBUG is not set # CONFIG_CMA_DEBUGFS is not set CONFIG_CMA_AREAS=7 # CONFIG_MEM_SOFT_DIRTY is not set CONFIG_ZPOOL=m CONFIG_ZBUD=y # CONFIG_Z3FOLD is not set CONFIG_ZSMALLOC=m CONFIG_ZSMALLOC_STAT=y CONFIG_GENERIC_EARLY_IOREMAP=y # CONFIG_IDLE_PAGE_TRACKING is not set CONFIG_ARCH_HAS_PTE_DEVMAP=y CONFIG_HMM_MIRROR=y CONFIG_PERCPU_STATS=y # CONFIG_GUP_TEST is not set # CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_ARCH_HAS_PTE_SPECIAL=y # end of Memory Management options CONFIG_NET=y CONFIG_WANT_COMPAT_NETLINK_MESSAGES=y CONFIG_COMPAT_NETLINK_MESSAGES=y CONFIG_NET_INGRESS=y CONFIG_NET_EGRESS=y CONFIG_SKB_EXTENSIONS=y # # Networking options # CONFIG_PACKET=y CONFIG_PACKET_DIAG=y CONFIG_UNIX=y CONFIG_UNIX_SCM=y # CONFIG_UNIX_DIAG is not set CONFIG_TLS=y CONFIG_TLS_DEVICE=y # CONFIG_TLS_TOE is not set CONFIG_XFRM=y CONFIG_XFRM_OFFLOAD=y CONFIG_XFRM_ALGO=y CONFIG_XFRM_USER=y CONFIG_XFRM_USER_COMPAT=y CONFIG_XFRM_SUB_POLICY=y CONFIG_XFRM_MIGRATE=y # CONFIG_XFRM_STATISTICS is not set CONFIG_XFRM_ESP=m CONFIG_XFRM_IPCOMP=y CONFIG_NET_KEY=m # CONFIG_NET_KEY_MIGRATE is not set # CONFIG_SMC is not set # CONFIG_XDP_SOCKETS is not set CONFIG_INET=y # CONFIG_IP_MULTICAST is not set CONFIG_IP_ADVANCED_ROUTER=y # CONFIG_IP_FIB_TRIE_STATS is not set CONFIG_IP_MULTIPLE_TABLES=y CONFIG_IP_ROUTE_MULTIPATH=y # CONFIG_IP_ROUTE_VERBOSE is not set CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y # CONFIG_IP_PNP_BOOTP is not set # CONFIG_IP_PNP_RARP is not set CONFIG_NET_IPIP=m CONFIG_NET_IPGRE_DEMUX=y CONFIG_NET_IP_TUNNEL=y CONFIG_NET_IPGRE=y CONFIG_SYN_COOKIES=y CONFIG_NET_IPVTI=y CONFIG_NET_UDP_TUNNEL=m CONFIG_NET_FOU=m # CONFIG_NET_FOU_IP_TUNNELS is not set # CONFIG_INET_AH is not set CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m # CONFIG_INET_ESPINTCP is not set CONFIG_INET_IPCOMP=y CONFIG_INET_XFRM_TUNNEL=y CONFIG_INET_TUNNEL=y # CONFIG_INET_DIAG is not set # CONFIG_TCP_CONG_ADVANCED is not set CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic" CONFIG_TCP_MD5SIG=y # CONFIG_IPV6 is not set CONFIG_MPTCP=y # CONFIG_MPTCP_KUNIT_TESTS is not set CONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y CONFIG_NETWORK_PHY_TIMESTAMPING=y # CONFIG_NETFILTER is not set CONFIG_BPFILTER=y # CONFIG_BPFILTER_UMH is not set CONFIG_IP_DCCP=m # # DCCP CCIDs Configuration # CONFIG_IP_DCCP_CCID2_DEBUG=y # CONFIG_IP_DCCP_CCID3 is not set # end of DCCP CCIDs Configuration # # DCCP Kernel Hacking # CONFIG_IP_DCCP_DEBUG=y # end of DCCP Kernel Hacking CONFIG_IP_SCTP=m # CONFIG_SCTP_DBG_OBJCNT is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_COOKIE_HMAC_MD5=y # CONFIG_SCTP_COOKIE_HMAC_SHA1 is not set # CONFIG_RDS is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_UDP is not set CONFIG_TIPC_CRYPTO=y CONFIG_TIPC_DIAG=m CONFIG_ATM=m CONFIG_ATM_CLIP=m # CONFIG_ATM_CLIP_NO_ICMP is not set # CONFIG_ATM_LANE is not set # CONFIG_ATM_BR2684 is not set # CONFIG_L2TP is not set CONFIG_STP=y CONFIG_BRIDGE=y # CONFIG_BRIDGE_IGMP_SNOOPING is not set # CONFIG_BRIDGE_MRP is not set CONFIG_BRIDGE_CFM=y CONFIG_HAVE_NET_DSA=y # CONFIG_NET_DSA is not set # CONFIG_VLAN_8021Q is not set # CONFIG_DECNET is not set CONFIG_LLC=y # CONFIG_LLC2 is not set CONFIG_ATALK=m CONFIG_DEV_APPLETALK=m # CONFIG_IPDDP is not set CONFIG_X25=y CONFIG_LAPB=m # CONFIG_PHONET is not set CONFIG_IEEE802154=m # CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set # CONFIG_IEEE802154_SOCKET is not set CONFIG_MAC802154=m CONFIG_NET_SCHED=y # # Queueing/Scheduling # CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_HTB=m CONFIG_NET_SCH_HFSC=y CONFIG_NET_SCH_ATM=m # CONFIG_NET_SCH_PRIO is not set # CONFIG_NET_SCH_MULTIQ is not set # CONFIG_NET_SCH_RED is not set # CONFIG_NET_SCH_SFB is not set CONFIG_NET_SCH_SFQ=y CONFIG_NET_SCH_TEQL=m # CONFIG_NET_SCH_TBF is not set # CONFIG_NET_SCH_CBS is not set CONFIG_NET_SCH_ETF=y # CONFIG_NET_SCH_TAPRIO is not set CONFIG_NET_SCH_GRED=m # CONFIG_NET_SCH_DSMARK is not set CONFIG_NET_SCH_NETEM=y # CONFIG_NET_SCH_DRR is not set CONFIG_NET_SCH_MQPRIO=m CONFIG_NET_SCH_SKBPRIO=m CONFIG_NET_SCH_CHOKE=y # CONFIG_NET_SCH_QFQ is not set CONFIG_NET_SCH_CODEL=y # CONFIG_NET_SCH_FQ_CODEL is not set CONFIG_NET_SCH_CAKE=y CONFIG_NET_SCH_FQ=m CONFIG_NET_SCH_HHF=y CONFIG_NET_SCH_PIE=y CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_INGRESS=y CONFIG_NET_SCH_PLUG=y # CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_DEFAULT=y # CONFIG_DEFAULT_FQ is not set # CONFIG_DEFAULT_CODEL is not set # CONFIG_DEFAULT_FQ_PIE is not set # CONFIG_DEFAULT_SFQ is not set CONFIG_DEFAULT_PFIFO_FAST=y CONFIG_DEFAULT_NET_SCH="pfifo_fast" # # Classification # CONFIG_NET_CLS=y # CONFIG_NET_CLS_BASIC is not set CONFIG_NET_CLS_TCINDEX=m # CONFIG_NET_CLS_ROUTE4 is not set # CONFIG_NET_CLS_FW is not set # CONFIG_NET_CLS_U32 is not set CONFIG_NET_CLS_RSVP=m # CONFIG_NET_CLS_RSVP6 is not set CONFIG_NET_CLS_FLOW=m # CONFIG_NET_CLS_CGROUP is not set CONFIG_NET_CLS_BPF=y CONFIG_NET_CLS_FLOWER=y CONFIG_NET_CLS_MATCHALL=m CONFIG_NET_EMATCH=y CONFIG_NET_EMATCH_STACK=32 CONFIG_NET_EMATCH_CMP=m # CONFIG_NET_EMATCH_NBYTE is not set CONFIG_NET_EMATCH_U32=m # CONFIG_NET_EMATCH_META is not set CONFIG_NET_EMATCH_TEXT=y CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_POLICE=y # CONFIG_NET_ACT_GACT is not set CONFIG_NET_ACT_MIRRED=y # CONFIG_NET_ACT_SAMPLE is not set CONFIG_NET_ACT_NAT=y CONFIG_NET_ACT_PEDIT=m # CONFIG_NET_ACT_SIMP is not set CONFIG_NET_ACT_SKBEDIT=m CONFIG_NET_ACT_CSUM=y CONFIG_NET_ACT_MPLS=m CONFIG_NET_ACT_VLAN=y # CONFIG_NET_ACT_BPF is not set CONFIG_NET_ACT_SKBMOD=m # CONFIG_NET_ACT_IFE is not set CONFIG_NET_ACT_TUNNEL_KEY=m CONFIG_NET_ACT_GATE=y CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_SCH_FIFO=y CONFIG_DCB=y CONFIG_DNS_RESOLVER=y # CONFIG_BATMAN_ADV is not set # CONFIG_OPENVSWITCH is not set CONFIG_VSOCKETS=y CONFIG_VSOCKETS_DIAG=y CONFIG_VSOCKETS_LOOPBACK=m # CONFIG_VIRTIO_VSOCKETS is not set CONFIG_VIRTIO_VSOCKETS_COMMON=m # CONFIG_NETLINK_DIAG is not set # CONFIG_MPLS is not set CONFIG_NET_NSH=m CONFIG_HSR=y CONFIG_NET_SWITCHDEV=y # CONFIG_NET_L3_MASTER_DEV is not set CONFIG_QRTR=y CONFIG_QRTR_SMD=m CONFIG_QRTR_TUN=m # CONFIG_QRTR_MHI is not set CONFIG_NET_NCSI=y # CONFIG_NCSI_OEM_CMD_GET_MAC is not set # CONFIG_CGROUP_NET_PRIO is not set # CONFIG_CGROUP_NET_CLASSID is not set CONFIG_NET_RX_BUSY_POLL=y CONFIG_BQL=y # CONFIG_BPF_JIT is not set CONFIG_BPF_STREAM_PARSER=y # # Network testing # # CONFIG_NET_PKTGEN is not set # CONFIG_NET_DROP_MONITOR is not set # end of Network testing # end of Networking options CONFIG_HAMRADIO=y # # Packet Radio protocols # CONFIG_AX25=m # CONFIG_AX25_DAMA_SLAVE is not set CONFIG_NETROM=m CONFIG_ROSE=m # # AX.25 network device drivers # # CONFIG_MKISS is not set # CONFIG_6PACK is not set CONFIG_BPQETHER=m CONFIG_BAYCOM_SER_FDX=m # CONFIG_BAYCOM_SER_HDX is not set CONFIG_BAYCOM_PAR=m CONFIG_YAM=m # end of AX.25 network device drivers # CONFIG_CAN is not set # CONFIG_BT is not set CONFIG_AF_RXRPC=y # CONFIG_AF_RXRPC_INJECT_LOSS is not set # CONFIG_AF_RXRPC_DEBUG is not set # CONFIG_RXKAD is not set CONFIG_AF_KCM=y CONFIG_STREAM_PARSER=y CONFIG_FIB_RULES=y CONFIG_WIRELESS=y # CONFIG_CFG80211 is not set # # CFG80211 needs to be enabled for MAC80211 # CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 CONFIG_RFKILL=y # CONFIG_RFKILL_INPUT is not set CONFIG_RFKILL_GPIO=y CONFIG_NET_9P=y CONFIG_NET_9P_VIRTIO=y # CONFIG_NET_9P_RDMA is not set CONFIG_NET_9P_DEBUG=y CONFIG_CAIF=m CONFIG_CAIF_DEBUG=y CONFIG_CAIF_NETDEV=m CONFIG_CAIF_USB=m CONFIG_CEPH_LIB=m CONFIG_CEPH_LIB_PRETTYDEBUG=y CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y CONFIG_NFC=y CONFIG_NFC_DIGITAL=y CONFIG_NFC_NCI=y # CONFIG_NFC_NCI_UART is not set # CONFIG_NFC_HCI is not set # # Near Field Communication (NFC) devices # CONFIG_NFC_SIM=y # CONFIG_NFC_FDP is not set # CONFIG_NFC_PN533_I2C is not set CONFIG_NFC_ST_NCI=y CONFIG_NFC_ST_NCI_I2C=y # CONFIG_NFC_NXP_NCI is not set CONFIG_NFC_S3FWRN5=m CONFIG_NFC_S3FWRN5_I2C=m # end of Near Field Communication (NFC) devices # CONFIG_PSAMPLE is not set CONFIG_NET_IFE=y CONFIG_LWTUNNEL=y CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y CONFIG_SOCK_VALIDATE_XMIT=y CONFIG_NET_SOCK_MSG=y CONFIG_FAILOVER=m CONFIG_ETHTOOL_NETLINK=y CONFIG_HAVE_EBPF_JIT=y # # Device Drivers # CONFIG_HAVE_EISA=y # CONFIG_EISA is not set CONFIG_HAVE_PCI=y CONFIG_PCI=y CONFIG_PCI_DOMAINS=y CONFIG_PCIEPORTBUS=y CONFIG_PCIEAER=y CONFIG_PCIEAER_INJECT=y CONFIG_PCIE_ECRC=y CONFIG_PCIEASPM=y # CONFIG_PCIEASPM_DEFAULT is not set # CONFIG_PCIEASPM_POWERSAVE is not set # CONFIG_PCIEASPM_POWER_SUPERSAVE is not set CONFIG_PCIEASPM_PERFORMANCE=y CONFIG_PCIE_PME=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_PTM is not set # CONFIG_PCIE_BW is not set # CONFIG_PCIE_EDR is not set CONFIG_PCI_MSI=y CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_QUIRKS=y # CONFIG_PCI_DEBUG is not set CONFIG_PCI_STUB=y CONFIG_PCI_ATS=y CONFIG_PCI_LOCKLESS_CONFIG=y # CONFIG_PCI_IOV is not set # CONFIG_PCI_PRI is not set CONFIG_PCI_PASID=y CONFIG_PCI_LABEL=y # CONFIG_PCIE_BUS_TUNE_OFF is not set # CONFIG_PCIE_BUS_DEFAULT is not set # CONFIG_PCIE_BUS_SAFE is not set # CONFIG_PCIE_BUS_PERFORMANCE is not set CONFIG_PCIE_BUS_PEER2PEER=y # CONFIG_HOTPLUG_PCI is not set # # PCI controller drivers # CONFIG_VMD=m # # DesignWare PCI Core Support # CONFIG_PCIE_DW=y CONFIG_PCIE_DW_HOST=y CONFIG_PCIE_DW_EP=y CONFIG_PCIE_DW_PLAT=y # CONFIG_PCIE_DW_PLAT_HOST is not set CONFIG_PCIE_DW_PLAT_EP=y CONFIG_PCI_MESON=y # end of DesignWare PCI Core Support # # Mobiveil PCIe Core Support # # end of Mobiveil PCIe Core Support # # Cadence PCIe controllers support # # end of Cadence PCIe controllers support # end of PCI controller drivers # # PCI Endpoint # CONFIG_PCI_ENDPOINT=y CONFIG_PCI_ENDPOINT_CONFIGFS=y CONFIG_PCI_EPF_TEST=m # CONFIG_PCI_EPF_NTB is not set # end of PCI Endpoint # # PCI switch controller drivers # CONFIG_PCI_SW_SWITCHTEC=m # end of PCI switch controller drivers CONFIG_PCCARD=m CONFIG_PCMCIA=m # CONFIG_PCMCIA_LOAD_CIS is not set # CONFIG_CARDBUS is not set # # PC-card bridges # CONFIG_YENTA=m # CONFIG_YENTA_O2 is not set CONFIG_YENTA_RICOH=y CONFIG_YENTA_TI=y # CONFIG_YENTA_TOSHIBA is not set CONFIG_PD6729=m CONFIG_I82092=m CONFIG_PCCARD_NONSTATIC=y CONFIG_RAPIDIO=y CONFIG_RAPIDIO_TSI721=m CONFIG_RAPIDIO_DISC_TIMEOUT=30 CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS=y # CONFIG_RAPIDIO_DMA_ENGINE is not set CONFIG_RAPIDIO_DEBUG=y CONFIG_RAPIDIO_ENUM_BASIC=m CONFIG_RAPIDIO_CHMAN=m # CONFIG_RAPIDIO_MPORT_CDEV is not set # # RapidIO Switch drivers # CONFIG_RAPIDIO_TSI57X=y # CONFIG_RAPIDIO_CPS_XX is not set CONFIG_RAPIDIO_TSI568=m # CONFIG_RAPIDIO_CPS_GEN2 is not set CONFIG_RAPIDIO_RXS_GEN3=m # end of RapidIO Switch drivers # # Generic Driver Options # CONFIG_UEVENT_HELPER=y CONFIG_UEVENT_HELPER_PATH="" CONFIG_DEVTMPFS=y # CONFIG_DEVTMPFS_MOUNT is not set # CONFIG_STANDALONE is not set CONFIG_PREVENT_FIRMWARE_BUILD=y # # Firmware loader # CONFIG_FW_LOADER=y CONFIG_FW_LOADER_PAGED_BUF=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y CONFIG_FW_LOADER_COMPRESS=y # end of Firmware loader CONFIG_WANT_DEV_COREDUMP=y CONFIG_ALLOW_DEV_COREDUMP=y CONFIG_DEV_COREDUMP=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set CONFIG_PM_QOS_KUNIT_TEST=y CONFIG_TEST_ASYNC_DRIVER_PROBE=m CONFIG_KUNIT_DRIVER_PE_TEST=y CONFIG_GENERIC_CPU_AUTOPROBE=y CONFIG_GENERIC_CPU_VULNERABILITIES=y CONFIG_REGMAP=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_W1=m CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_IRQ=y CONFIG_REGMAP_SCCB=m CONFIG_REGMAP_I3C=m CONFIG_DMA_SHARED_BUFFER=y # CONFIG_DMA_FENCE_TRACE is not set # end of Generic Driver Options # # Bus devices # CONFIG_MHI_BUS=y # CONFIG_MHI_BUS_DEBUG is not set CONFIG_MHI_BUS_PCI_GENERIC=y # end of Bus devices CONFIG_CONNECTOR=y CONFIG_PROC_EVENTS=y CONFIG_GNSS=m CONFIG_MTD=m CONFIG_MTD_TESTS=m # # Partition parsers # CONFIG_MTD_AR7_PARTS=m CONFIG_MTD_CMDLINE_PARTS=m CONFIG_MTD_REDBOOT_PARTS=m CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set CONFIG_MTD_REDBOOT_PARTS_READONLY=y # end of Partition parsers # # User Modules And Translation Layers # CONFIG_MTD_OOPS=m # CONFIG_MTD_PARTITIONED_MASTER is not set # # RAM/ROM/Flash chip drivers # CONFIG_MTD_CFI=m CONFIG_MTD_JEDECPROBE=m CONFIG_MTD_GEN_PROBE=m CONFIG_MTD_CFI_ADV_OPTIONS=y CONFIG_MTD_CFI_NOSWAP=y # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set # CONFIG_MTD_CFI_GEOMETRY is not set CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y CONFIG_MTD_CFI_I1=y CONFIG_MTD_CFI_I2=y CONFIG_MTD_OTP=y # CONFIG_MTD_CFI_INTELEXT is not set CONFIG_MTD_CFI_AMDSTD=m # CONFIG_MTD_CFI_STAA is not set CONFIG_MTD_CFI_UTIL=m CONFIG_MTD_RAM=m CONFIG_MTD_ROM=m # CONFIG_MTD_ABSENT is not set # end of RAM/ROM/Flash chip drivers # # Mapping drivers for chip access # CONFIG_MTD_COMPLEX_MAPPINGS=y # CONFIG_MTD_PHYSMAP is not set CONFIG_MTD_AMD76XROM=m CONFIG_MTD_ICHXROM=m CONFIG_MTD_ESB2ROM=m CONFIG_MTD_CK804XROM=m CONFIG_MTD_SCB2_FLASH=m # CONFIG_MTD_NETtel is not set CONFIG_MTD_L440GX=m CONFIG_MTD_PCI=m CONFIG_MTD_PCMCIA=m # CONFIG_MTD_PCMCIA_ANONYMOUS is not set CONFIG_MTD_INTEL_VR_NOR=m # CONFIG_MTD_PLATRAM is not set # end of Mapping drivers for chip access # # Self-contained MTD device drivers # # CONFIG_MTD_PMC551 is not set CONFIG_MTD_SLRAM=m CONFIG_MTD_PHRAM=m # CONFIG_MTD_MTDRAM is not set # # Disk-On-Chip Device Drivers # CONFIG_MTD_DOCG3=m CONFIG_BCH_CONST_M=14 CONFIG_BCH_CONST_T=4 # end of Self-contained MTD device drivers # # NAND # CONFIG_MTD_NAND_CORE=m # CONFIG_MTD_ONENAND is not set CONFIG_MTD_RAW_NAND=m # # Raw/parallel NAND flash controllers # CONFIG_MTD_NAND_DENALI=m CONFIG_MTD_NAND_DENALI_PCI=m # CONFIG_MTD_NAND_CAFE is not set # CONFIG_MTD_NAND_MXIC is not set CONFIG_MTD_NAND_GPIO=m CONFIG_MTD_NAND_PLATFORM=m # CONFIG_MTD_NAND_ARASAN is not set # # Misc # CONFIG_MTD_NAND_NANDSIM=m # CONFIG_MTD_NAND_RICOH is not set CONFIG_MTD_NAND_DISKONCHIP=m CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y # # ECC engine support # CONFIG_MTD_NAND_ECC=y CONFIG_MTD_NAND_ECC_SW_HAMMING=y CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC=y CONFIG_MTD_NAND_ECC_SW_BCH=y # end of ECC engine support # end of NAND # # LPDDR & LPDDR2 PCM memory drivers # CONFIG_MTD_LPDDR=m CONFIG_MTD_QINFO_PROBE=m # end of LPDDR & LPDDR2 PCM memory drivers CONFIG_MTD_UBI=m CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MTD_UBI_BEB_LIMIT=20 CONFIG_MTD_UBI_FASTMAP=y CONFIG_MTD_UBI_GLUEBI=m CONFIG_MTD_HYPERBUS=m # CONFIG_OF is not set CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y CONFIG_PARPORT=y CONFIG_PARPORT_PC=y # CONFIG_PARPORT_SERIAL is not set CONFIG_PARPORT_PC_FIFO=y # CONFIG_PARPORT_PC_SUPERIO is not set CONFIG_PARPORT_PC_PCMCIA=m CONFIG_PARPORT_AX88796=m CONFIG_PARPORT_1284=y CONFIG_PARPORT_NOT_PC=y CONFIG_PNP=y CONFIG_PNP_DEBUG_MESSAGES=y # # Protocols # CONFIG_PNPACPI=y # # NVME Support # # end of NVME Support # # Misc devices # CONFIG_SENSORS_LIS3LV02D=m CONFIG_AD525X_DPOT=m # CONFIG_AD525X_DPOT_I2C is not set CONFIG_DUMMY_IRQ=y # CONFIG_IBM_ASM is not set CONFIG_PHANTOM=y # CONFIG_TIFM_CORE is not set CONFIG_ICS932S401=y # CONFIG_ENCLOSURE_SERVICES is not set CONFIG_HP_ILO=y # CONFIG_APDS9802ALS is not set CONFIG_ISL29003=y CONFIG_ISL29020=m CONFIG_SENSORS_TSL2550=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_APDS990X=y CONFIG_HMC6352=y CONFIG_DS1682=m CONFIG_SRAM=y CONFIG_PCI_ENDPOINT_TEST=m CONFIG_XILINX_SDFEC=y # CONFIG_PVPANIC is not set CONFIG_C2PORT=y CONFIG_C2PORT_DURAMAR_2150=y # # EEPROM support # CONFIG_EEPROM_AT24=m CONFIG_EEPROM_LEGACY=y CONFIG_EEPROM_MAX6875=m CONFIG_EEPROM_93CX6=m CONFIG_EEPROM_IDT_89HPESX=y CONFIG_EEPROM_EE1004=y # end of EEPROM support CONFIG_CB710_CORE=y # CONFIG_CB710_DEBUG is not set CONFIG_CB710_DEBUG_ASSUMPTIONS=y # # Texas Instruments shared transport line discipline # # CONFIG_TI_ST is not set # end of Texas Instruments shared transport line discipline CONFIG_SENSORS_LIS3_I2C=m # CONFIG_ALTERA_STAPL is not set CONFIG_INTEL_MEI=y CONFIG_INTEL_MEI_ME=m CONFIG_INTEL_MEI_TXE=y # CONFIG_VMWARE_VMCI is not set # CONFIG_GENWQE is not set CONFIG_ECHO=y CONFIG_MISC_ALCOR_PCI=y # CONFIG_MISC_RTSX_PCI is not set CONFIG_HABANA_AI=y # end of Misc devices CONFIG_HAVE_IDE=y # # SCSI device support # CONFIG_SCSI_MOD=y # end of SCSI device support CONFIG_FUSION=y CONFIG_FUSION_MAX_SGE=128 # CONFIG_FUSION_LOGGING is not set # # IEEE 1394 (FireWire) support # # CONFIG_FIREWIRE is not set # CONFIG_FIREWIRE_NOSY is not set # end of IEEE 1394 (FireWire) support # CONFIG_MACINTOSH_DRIVERS is not set CONFIG_NETDEVICES=y CONFIG_NET_CORE=y # CONFIG_BONDING is not set # CONFIG_DUMMY is not set # CONFIG_WIREGUARD is not set # CONFIG_EQUALIZER is not set # CONFIG_IFB is not set # CONFIG_NET_TEAM is not set # CONFIG_MACVLAN is not set # CONFIG_IPVLAN is not set # CONFIG_VXLAN is not set # CONFIG_GENEVE is not set # CONFIG_BAREUDP is not set # CONFIG_GTP is not set # CONFIG_MACSEC is not set # CONFIG_NETCONSOLE is not set # CONFIG_NTB_NETDEV is not set # CONFIG_RIONET is not set # CONFIG_TUN is not set # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_VETH is not set CONFIG_VIRTIO_NET=m # CONFIG_NLMON is not set # CONFIG_VSOCKMON is not set # CONFIG_MHI_NET is not set # CONFIG_ARCNET is not set CONFIG_ATM_DRIVERS=y # CONFIG_ATM_DUMMY is not set # CONFIG_ATM_TCP is not set # CONFIG_ATM_LANAI is not set # CONFIG_ATM_ENI is not set # CONFIG_ATM_FIRESTREAM is not set # CONFIG_ATM_ZATM is not set # CONFIG_ATM_NICSTAR is not set # CONFIG_ATM_IDT77252 is not set # CONFIG_ATM_AMBASSADOR is not set # CONFIG_ATM_HORIZON is not set # CONFIG_ATM_IA is not set # CONFIG_ATM_FORE200E is not set # CONFIG_ATM_HE is not set # CONFIG_ATM_SOLOS is not set # CONFIG_CAIF_DRIVERS is not set # # Distributed Switch Architecture drivers # # end of Distributed Switch Architecture drivers CONFIG_ETHERNET=y CONFIG_NET_VENDOR_3COM=y # CONFIG_PCMCIA_3C574 is not set # CONFIG_PCMCIA_3C589 is not set # CONFIG_VORTEX is not set # CONFIG_TYPHOON is not set CONFIG_NET_VENDOR_ADAPTEC=y # CONFIG_ADAPTEC_STARFIRE is not set CONFIG_NET_VENDOR_AGERE=y # CONFIG_ET131X is not set CONFIG_NET_VENDOR_ALACRITECH=y # CONFIG_SLICOSS is not set CONFIG_NET_VENDOR_ALTEON=y # CONFIG_ACENIC is not set # CONFIG_ALTERA_TSE is not set CONFIG_NET_VENDOR_AMAZON=y # CONFIG_ENA_ETHERNET is not set CONFIG_NET_VENDOR_AMD=y # CONFIG_AMD8111_ETH is not set # CONFIG_PCNET32 is not set # CONFIG_PCMCIA_NMCLAN is not set # CONFIG_AMD_XGBE is not set CONFIG_NET_VENDOR_AQUANTIA=y # CONFIG_AQTION is not set CONFIG_NET_VENDOR_ARC=y CONFIG_NET_VENDOR_ATHEROS=y # CONFIG_ATL2 is not set # CONFIG_ATL1 is not set # CONFIG_ATL1E is not set # CONFIG_ATL1C is not set # CONFIG_ALX is not set CONFIG_NET_VENDOR_BROADCOM=y # CONFIG_B44 is not set # CONFIG_BCMGENET is not set # CONFIG_BNX2 is not set # CONFIG_CNIC is not set # CONFIG_TIGON3 is not set # CONFIG_BNX2X is not set # CONFIG_SYSTEMPORT is not set # CONFIG_BNXT is not set CONFIG_NET_VENDOR_BROCADE=y # CONFIG_BNA is not set CONFIG_NET_VENDOR_CADENCE=y # CONFIG_MACB is not set CONFIG_NET_VENDOR_CAVIUM=y # CONFIG_THUNDER_NIC_PF is not set # CONFIG_THUNDER_NIC_VF is not set # CONFIG_THUNDER_NIC_BGX is not set # CONFIG_THUNDER_NIC_RGX is not set # CONFIG_LIQUIDIO is not set # CONFIG_LIQUIDIO_VF is not set CONFIG_NET_VENDOR_CHELSIO=y # CONFIG_CHELSIO_T1 is not set # CONFIG_CHELSIO_T3 is not set # CONFIG_CHELSIO_T4 is not set # CONFIG_CHELSIO_T4VF is not set CONFIG_NET_VENDOR_CISCO=y # CONFIG_ENIC is not set CONFIG_NET_VENDOR_CORTINA=y # CONFIG_CX_ECAT is not set # CONFIG_DNET is not set CONFIG_NET_VENDOR_DEC=y # CONFIG_NET_TULIP is not set CONFIG_NET_VENDOR_DLINK=y # CONFIG_DL2K is not set # CONFIG_SUNDANCE is not set CONFIG_NET_VENDOR_EMULEX=y # CONFIG_BE2NET is not set CONFIG_NET_VENDOR_EZCHIP=y CONFIG_NET_VENDOR_FUJITSU=y # CONFIG_PCMCIA_FMVJ18X is not set CONFIG_NET_VENDOR_GOOGLE=y # CONFIG_GVE is not set CONFIG_NET_VENDOR_HUAWEI=y # CONFIG_HINIC is not set CONFIG_NET_VENDOR_I825XX=y CONFIG_NET_VENDOR_INTEL=y # CONFIG_E100 is not set CONFIG_E1000=y # CONFIG_E1000E is not set # CONFIG_IGB is not set # CONFIG_IGBVF is not set # CONFIG_IXGB is not set # CONFIG_IXGBE is not set # CONFIG_IXGBEVF is not set # CONFIG_I40E is not set # CONFIG_I40EVF is not set # CONFIG_ICE is not set # CONFIG_FM10K is not set # CONFIG_IGC is not set # CONFIG_JME is not set CONFIG_NET_VENDOR_MARVELL=y # CONFIG_MVMDIO is not set # CONFIG_SKGE is not set # CONFIG_SKY2 is not set CONFIG_NET_VENDOR_MELLANOX=y # CONFIG_MLX4_EN is not set # CONFIG_MLX5_CORE is not set # CONFIG_MLXSW_CORE is not set # CONFIG_MLXFW is not set CONFIG_NET_VENDOR_MICREL=y # CONFIG_KS8842 is not set # CONFIG_KS8851_MLL is not set # CONFIG_KSZ884X_PCI is not set CONFIG_NET_VENDOR_MICROCHIP=y # CONFIG_LAN743X is not set CONFIG_NET_VENDOR_MICROSEMI=y CONFIG_NET_VENDOR_MYRI=y # CONFIG_MYRI10GE is not set # CONFIG_FEALNX is not set CONFIG_NET_VENDOR_NATSEMI=y # CONFIG_NATSEMI is not set # CONFIG_NS83820 is not set CONFIG_NET_VENDOR_NETERION=y # CONFIG_S2IO is not set # CONFIG_VXGE is not set CONFIG_NET_VENDOR_NETRONOME=y # CONFIG_NFP is not set CONFIG_NET_VENDOR_NI=y # CONFIG_NI_XGE_MANAGEMENT_ENET is not set CONFIG_NET_VENDOR_8390=y # CONFIG_PCMCIA_AXNET is not set # CONFIG_NE2K_PCI is not set # CONFIG_PCMCIA_PCNET is not set CONFIG_NET_VENDOR_NVIDIA=y # CONFIG_FORCEDETH is not set CONFIG_NET_VENDOR_OKI=y # CONFIG_ETHOC is not set CONFIG_NET_VENDOR_PACKET_ENGINES=y # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set CONFIG_NET_VENDOR_PENSANDO=y # CONFIG_IONIC is not set CONFIG_NET_VENDOR_QLOGIC=y # CONFIG_QLA3XXX is not set # CONFIG_QLCNIC is not set # CONFIG_NETXEN_NIC is not set # CONFIG_QED is not set CONFIG_NET_VENDOR_QUALCOMM=y # CONFIG_QCOM_EMAC is not set # CONFIG_RMNET is not set CONFIG_NET_VENDOR_RDC=y # CONFIG_R6040 is not set CONFIG_NET_VENDOR_REALTEK=y # CONFIG_ATP is not set # CONFIG_8139CP is not set # CONFIG_8139TOO is not set # CONFIG_R8169 is not set CONFIG_NET_VENDOR_RENESAS=y CONFIG_NET_VENDOR_ROCKER=y # CONFIG_ROCKER is not set CONFIG_NET_VENDOR_SAMSUNG=y # CONFIG_SXGBE_ETH is not set CONFIG_NET_VENDOR_SEEQ=y CONFIG_NET_VENDOR_SOLARFLARE=y # CONFIG_SFC is not set # CONFIG_SFC_FALCON is not set CONFIG_NET_VENDOR_SILAN=y # CONFIG_SC92031 is not set CONFIG_NET_VENDOR_SIS=y # CONFIG_SIS900 is not set # CONFIG_SIS190 is not set CONFIG_NET_VENDOR_SMSC=y # CONFIG_PCMCIA_SMC91C92 is not set # CONFIG_EPIC100 is not set # CONFIG_SMSC911X is not set # CONFIG_SMSC9420 is not set CONFIG_NET_VENDOR_SOCIONEXT=y CONFIG_NET_VENDOR_STMICRO=y # CONFIG_STMMAC_ETH is not set CONFIG_NET_VENDOR_SUN=y # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_CASSINI is not set # CONFIG_NIU is not set CONFIG_NET_VENDOR_SYNOPSYS=y # CONFIG_DWC_XLGMAC is not set CONFIG_NET_VENDOR_TEHUTI=y # CONFIG_TEHUTI is not set CONFIG_NET_VENDOR_TI=y # CONFIG_TI_CPSW_PHY_SEL is not set # CONFIG_TLAN is not set CONFIG_NET_VENDOR_VIA=y # CONFIG_VIA_RHINE is not set # CONFIG_VIA_VELOCITY is not set CONFIG_NET_VENDOR_WIZNET=y # CONFIG_WIZNET_W5100 is not set # CONFIG_WIZNET_W5300 is not set CONFIG_NET_VENDOR_XILINX=y # CONFIG_XILINX_AXI_EMAC is not set # CONFIG_XILINX_LL_TEMAC is not set CONFIG_NET_VENDOR_XIRCOM=y # CONFIG_PCMCIA_XIRC2PS is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set # CONFIG_NET_SB1000 is not set # CONFIG_PHYLIB is not set # CONFIG_MDIO_DEVICE is not set # # PCS device drivers # # end of PCS device drivers # CONFIG_PLIP is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set # # Host-side USB support is needed for USB Network Adapter support # CONFIG_WLAN=y CONFIG_WLAN_VENDOR_ADMTEK=y CONFIG_WLAN_VENDOR_ATH=y # CONFIG_ATH_DEBUG is not set # CONFIG_ATH5K_PCI is not set CONFIG_WLAN_VENDOR_ATMEL=y CONFIG_WLAN_VENDOR_BROADCOM=y CONFIG_WLAN_VENDOR_CISCO=y CONFIG_WLAN_VENDOR_INTEL=y CONFIG_WLAN_VENDOR_INTERSIL=y # CONFIG_HOSTAP is not set # CONFIG_PRISM54 is not set CONFIG_WLAN_VENDOR_MARVELL=y CONFIG_WLAN_VENDOR_MEDIATEK=y CONFIG_WLAN_VENDOR_MICROCHIP=y CONFIG_WLAN_VENDOR_RALINK=y CONFIG_WLAN_VENDOR_REALTEK=y CONFIG_WLAN_VENDOR_RSI=y CONFIG_WLAN_VENDOR_ST=y CONFIG_WLAN_VENDOR_TI=y CONFIG_WLAN_VENDOR_ZYDAS=y CONFIG_WLAN_VENDOR_QUANTENNA=y # CONFIG_PCMCIA_RAYCS is not set # CONFIG_WAN is not set CONFIG_IEEE802154_DRIVERS=m # CONFIG_IEEE802154_FAKELB is not set # CONFIG_IEEE802154_HWSIM is not set # CONFIG_VMXNET3 is not set # CONFIG_FUJITSU_ES is not set # CONFIG_USB4_NET is not set # CONFIG_NETDEVSIM is not set CONFIG_NET_FAILOVER=m # CONFIG_ISDN is not set # # Input device support # CONFIG_INPUT=y CONFIG_INPUT_LEDS=m CONFIG_INPUT_FF_MEMLESS=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_MATRIXKMAP=m # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=m # CONFIG_INPUT_MOUSEDEV_PSAUX is not set CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_JOYDEV=m CONFIG_INPUT_EVDEV=m CONFIG_INPUT_EVBUG=m # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_ADC is not set CONFIG_KEYBOARD_ADP5520=m CONFIG_KEYBOARD_ADP5588=m # CONFIG_KEYBOARD_ADP5589 is not set CONFIG_KEYBOARD_ATKBD=y # CONFIG_KEYBOARD_QT1050 is not set CONFIG_KEYBOARD_QT1070=m CONFIG_KEYBOARD_QT2160=m # CONFIG_KEYBOARD_DLINK_DIR685 is not set # CONFIG_KEYBOARD_LKKBD is not set CONFIG_KEYBOARD_GPIO=m CONFIG_KEYBOARD_GPIO_POLLED=m # CONFIG_KEYBOARD_TCA6416 is not set # CONFIG_KEYBOARD_TCA8418 is not set CONFIG_KEYBOARD_MATRIX=m CONFIG_KEYBOARD_LM8323=m # CONFIG_KEYBOARD_LM8333 is not set CONFIG_KEYBOARD_MAX7359=m CONFIG_KEYBOARD_MCS=m CONFIG_KEYBOARD_MPR121=m # CONFIG_KEYBOARD_NEWTON is not set CONFIG_KEYBOARD_OPENCORES=m CONFIG_KEYBOARD_SAMSUNG=m # CONFIG_KEYBOARD_GOLDFISH_EVENTS is not set CONFIG_KEYBOARD_STOWAWAY=m # CONFIG_KEYBOARD_SUNKBD is not set CONFIG_KEYBOARD_TM2_TOUCHKEY=m CONFIG_KEYBOARD_XTKBD=m CONFIG_KEYBOARD_MTK_PMIC=m CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=m CONFIG_MOUSE_PS2_ALPS=y # CONFIG_MOUSE_PS2_BYD is not set # CONFIG_MOUSE_PS2_LOGIPS2PP is not set CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y CONFIG_MOUSE_PS2_CYPRESS=y CONFIG_MOUSE_PS2_TRACKPOINT=y CONFIG_MOUSE_PS2_ELANTECH=y CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y # CONFIG_MOUSE_PS2_SENTELIC is not set # CONFIG_MOUSE_PS2_TOUCHKIT is not set # CONFIG_MOUSE_PS2_FOCALTECH is not set # CONFIG_MOUSE_PS2_VMMOUSE is not set CONFIG_MOUSE_PS2_SMBUS=y # CONFIG_MOUSE_SERIAL is not set # CONFIG_MOUSE_APPLETOUCH is not set # CONFIG_MOUSE_BCM5974 is not set # CONFIG_MOUSE_CYAPA is not set CONFIG_MOUSE_ELAN_I2C=m # CONFIG_MOUSE_ELAN_I2C_I2C is not set # CONFIG_MOUSE_ELAN_I2C_SMBUS is not set CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOUSE_GPIO is not set CONFIG_MOUSE_SYNAPTICS_I2C=m # CONFIG_MOUSE_SYNAPTICS_USB is not set # CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_TABLET is not set CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_PROPERTIES=y CONFIG_TOUCHSCREEN_AD7879=m # CONFIG_TOUCHSCREEN_AD7879_I2C is not set CONFIG_TOUCHSCREEN_ADC=m CONFIG_TOUCHSCREEN_ATMEL_MXT=m # CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set CONFIG_TOUCHSCREEN_AUO_PIXCIR=m # CONFIG_TOUCHSCREEN_BU21013 is not set CONFIG_TOUCHSCREEN_BU21029=m # CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 is not set # CONFIG_TOUCHSCREEN_CY8CTMA140 is not set CONFIG_TOUCHSCREEN_CY8CTMG110=m # CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set # CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set # CONFIG_TOUCHSCREEN_DA9034 is not set CONFIG_TOUCHSCREEN_DA9052=m CONFIG_TOUCHSCREEN_DYNAPRO=m CONFIG_TOUCHSCREEN_HAMPSHIRE=m # CONFIG_TOUCHSCREEN_EETI is not set CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m # CONFIG_TOUCHSCREEN_EXC3000 is not set CONFIG_TOUCHSCREEN_FUJITSU=m # CONFIG_TOUCHSCREEN_GOODIX is not set # CONFIG_TOUCHSCREEN_HIDEEP is not set CONFIG_TOUCHSCREEN_ILI210X=m CONFIG_TOUCHSCREEN_S6SY761=m # CONFIG_TOUCHSCREEN_GUNZE is not set CONFIG_TOUCHSCREEN_EKTF2127=m CONFIG_TOUCHSCREEN_ELAN=m CONFIG_TOUCHSCREEN_ELO=m # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set CONFIG_TOUCHSCREEN_WACOM_I2C=m CONFIG_TOUCHSCREEN_MAX11801=m CONFIG_TOUCHSCREEN_MCS5000=m CONFIG_TOUCHSCREEN_MMS114=m # CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set CONFIG_TOUCHSCREEN_MTOUCH=m CONFIG_TOUCHSCREEN_INEXIO=m CONFIG_TOUCHSCREEN_MK712=m CONFIG_TOUCHSCREEN_PENMOUNT=m # CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set CONFIG_TOUCHSCREEN_TOUCHRIGHT=m CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m CONFIG_TOUCHSCREEN_PIXCIR=m CONFIG_TOUCHSCREEN_WDT87XX_I2C=m # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set CONFIG_TOUCHSCREEN_MC13783=m # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set # CONFIG_TOUCHSCREEN_TSC_SERIO is not set CONFIG_TOUCHSCREEN_TSC200X_CORE=m CONFIG_TOUCHSCREEN_TSC2004=m # CONFIG_TOUCHSCREEN_TSC2007 is not set # CONFIG_TOUCHSCREEN_RM_TS is not set CONFIG_TOUCHSCREEN_SILEAD=m CONFIG_TOUCHSCREEN_SIS_I2C=m # CONFIG_TOUCHSCREEN_ST1232 is not set CONFIG_TOUCHSCREEN_STMFTS=m CONFIG_TOUCHSCREEN_SX8654=m CONFIG_TOUCHSCREEN_TPS6507X=m CONFIG_TOUCHSCREEN_ZET6223=m CONFIG_TOUCHSCREEN_ZFORCE=m # CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set # CONFIG_TOUCHSCREEN_IQS5XX is not set CONFIG_TOUCHSCREEN_ZINITIX=m # CONFIG_INPUT_MISC is not set CONFIG_RMI4_CORE=m CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_F03=y CONFIG_RMI4_F03_SERIO=m CONFIG_RMI4_2D_SENSOR=y CONFIG_RMI4_F11=y CONFIG_RMI4_F12=y CONFIG_RMI4_F30=y CONFIG_RMI4_F34=y # CONFIG_RMI4_F3A is not set CONFIG_RMI4_F54=y CONFIG_RMI4_F55=y # # Hardware I/O ports # CONFIG_SERIO=y CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_PARKBD is not set # CONFIG_SERIO_PCIPS2 is not set CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_RAW is not set CONFIG_SERIO_ALTERA_PS2=m CONFIG_SERIO_PS2MULT=m # CONFIG_SERIO_ARC_PS2 is not set CONFIG_SERIO_GPIO_PS2=m # CONFIG_USERIO is not set CONFIG_GAMEPORT=m CONFIG_GAMEPORT_NS558=m # CONFIG_GAMEPORT_L4 is not set CONFIG_GAMEPORT_EMU10K1=m CONFIG_GAMEPORT_FM801=m # end of Hardware I/O ports # end of Input device support # # Character devices # CONFIG_TTY=y # CONFIG_VT is not set CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LDISC_AUTOLOAD=y # # Serial drivers # CONFIG_SERIAL_EARLYCON=y CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y CONFIG_SERIAL_8250_PNP=y # CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_DMA=y CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_EXAR=y # CONFIG_SERIAL_8250_CS is not set CONFIG_SERIAL_8250_NR_UARTS=4 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 # CONFIG_SERIAL_8250_EXTENDED is not set CONFIG_SERIAL_8250_DWLIB=y # CONFIG_SERIAL_8250_DW is not set # CONFIG_SERIAL_8250_RT288X is not set CONFIG_SERIAL_8250_LPSS=y CONFIG_SERIAL_8250_MID=y # # Non-8250 serial port support # # CONFIG_SERIAL_UARTLITE is not set CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_JSM is not set # CONFIG_SERIAL_LANTIQ is not set # CONFIG_SERIAL_SCCNXP is not set # CONFIG_SERIAL_SC16IS7XX is not set # CONFIG_SERIAL_BCM63XX is not set # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set # CONFIG_SERIAL_ARC is not set # CONFIG_SERIAL_RP2 is not set # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_FSL_LINFLEXUART is not set # CONFIG_SERIAL_SPRD is not set # end of Serial drivers CONFIG_SERIAL_MCTRL_GPIO=y # CONFIG_SERIAL_NONSTANDARD is not set # CONFIG_GOLDFISH_TTY is not set # CONFIG_N_GSM is not set # CONFIG_NOZOMI is not set # CONFIG_NULL_TTY is not set # CONFIG_TRACE_SINK is not set # CONFIG_SERIAL_DEV_BUS is not set # CONFIG_TTY_PRINTK is not set CONFIG_PRINTER=y CONFIG_LP_CONSOLE=y # CONFIG_PPDEV is not set # CONFIG_VIRTIO_CONSOLE is not set CONFIG_IPMI_HANDLER=m CONFIG_IPMI_PLAT_DATA=y # CONFIG_IPMI_PANIC_EVENT is not set CONFIG_IPMI_DEVICE_INTERFACE=m CONFIG_IPMI_SI=m # CONFIG_IPMI_SSIF is not set CONFIG_IPMI_WATCHDOG=m CONFIG_IPMI_POWEROFF=m CONFIG_IPMB_DEVICE_INTERFACE=y CONFIG_HW_RANDOM=y # CONFIG_HW_RANDOM_TIMERIOMEM is not set CONFIG_HW_RANDOM_INTEL=y CONFIG_HW_RANDOM_AMD=m # CONFIG_HW_RANDOM_BA431 is not set CONFIG_HW_RANDOM_VIA=y CONFIG_HW_RANDOM_VIRTIO=m # CONFIG_HW_RANDOM_XIPHERA is not set CONFIG_APPLICOM=m # # PCMCIA character devices # # CONFIG_SYNCLINK_CS is not set CONFIG_CARDMAN_4000=m CONFIG_CARDMAN_4040=m CONFIG_SCR24X=m # CONFIG_IPWIRELESS is not set # end of PCMCIA character devices # CONFIG_MWAVE is not set # CONFIG_DEVMEM is not set # CONFIG_DEVKMEM is not set CONFIG_NVRAM=m CONFIG_DEVPORT=y # CONFIG_HPET is not set CONFIG_HANGCHECK_TIMER=y CONFIG_TCG_TPM=m CONFIG_HW_RANDOM_TPM=y CONFIG_TCG_TIS_CORE=m CONFIG_TCG_TIS=m # CONFIG_TCG_TIS_I2C_CR50 is not set # CONFIG_TCG_TIS_I2C_ATMEL is not set CONFIG_TCG_TIS_I2C_INFINEON=m CONFIG_TCG_TIS_I2C_NUVOTON=m CONFIG_TCG_NSC=m # CONFIG_TCG_ATMEL is not set # CONFIG_TCG_INFINEON is not set # CONFIG_TCG_CRB is not set CONFIG_TCG_VTPM_PROXY=m # CONFIG_TCG_TIS_ST33ZP24_I2C is not set CONFIG_TELCLOCK=y CONFIG_XILLYBUS=m CONFIG_XILLYBUS_PCIE=m # end of Character devices CONFIG_RANDOM_TRUST_BOOTLOADER=y # # I2C support # CONFIG_I2C=y CONFIG_ACPI_I2C_OPREGION=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=m CONFIG_I2C_MUX=y # # Multiplexer I2C Chip support # CONFIG_I2C_MUX_GPIO=y # CONFIG_I2C_MUX_LTC4306 is not set CONFIG_I2C_MUX_PCA9541=y CONFIG_I2C_MUX_PCA954x=m # CONFIG_I2C_MUX_REG is not set CONFIG_I2C_MUX_MLXCPLD=y # end of Multiplexer I2C Chip support # CONFIG_I2C_HELPER_AUTO is not set CONFIG_I2C_SMBUS=y # # I2C Algorithms # CONFIG_I2C_ALGOBIT=y CONFIG_I2C_ALGOPCF=m CONFIG_I2C_ALGOPCA=y # end of I2C Algorithms # # I2C Hardware Bus support # # # PC SMBus host controller drivers # CONFIG_I2C_ALI1535=m # CONFIG_I2C_ALI1563 is not set CONFIG_I2C_ALI15X3=m CONFIG_I2C_AMD756=y CONFIG_I2C_AMD756_S4882=y CONFIG_I2C_AMD8111=m # CONFIG_I2C_AMD_MP2 is not set # CONFIG_I2C_I801 is not set CONFIG_I2C_ISCH=y CONFIG_I2C_ISMT=y CONFIG_I2C_PIIX4=y CONFIG_I2C_NFORCE2=m CONFIG_I2C_NFORCE2_S4985=m CONFIG_I2C_NVIDIA_GPU=y CONFIG_I2C_SIS5595=y CONFIG_I2C_SIS630=y CONFIG_I2C_SIS96X=y # CONFIG_I2C_VIA is not set CONFIG_I2C_VIAPRO=y # # ACPI drivers # # CONFIG_I2C_SCMI is not set # # I2C system bus drivers (mostly embedded / system-on-chip) # # CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_DESIGNWARE_CORE=m CONFIG_I2C_DESIGNWARE_SLAVE=y CONFIG_I2C_DESIGNWARE_PLATFORM=m # CONFIG_I2C_DESIGNWARE_BAYTRAIL is not set # CONFIG_I2C_DESIGNWARE_PCI is not set CONFIG_I2C_EMEV2=m CONFIG_I2C_GPIO=y # CONFIG_I2C_GPIO_FAULT_INJECTOR is not set CONFIG_I2C_KEMPLD=m CONFIG_I2C_OCORES=y CONFIG_I2C_PCA_PLATFORM=y CONFIG_I2C_SIMTEC=m # CONFIG_I2C_XILINX is not set # # External I2C/SMBus adapter drivers # CONFIG_I2C_PARPORT=m # CONFIG_I2C_TAOS_EVM is not set # # Other I2C/SMBus bus drivers # # CONFIG_I2C_MLXCPLD is not set # end of I2C Hardware Bus support CONFIG_I2C_STUB=m CONFIG_I2C_SLAVE=y # CONFIG_I2C_SLAVE_EEPROM is not set CONFIG_I2C_SLAVE_TESTUNIT=y # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # end of I2C support CONFIG_I3C=y CONFIG_CDNS_I3C_MASTER=y # CONFIG_DW_I3C_MASTER is not set CONFIG_MIPI_I3C_HCI=y # CONFIG_SPI is not set # CONFIG_SPMI is not set CONFIG_HSI=m CONFIG_HSI_BOARDINFO=y # # HSI controllers # # # HSI clients # # CONFIG_HSI_CHAR is not set CONFIG_PPS=m # CONFIG_PPS_DEBUG is not set # CONFIG_NTP_PPS is not set # # PPS clients support # CONFIG_PPS_CLIENT_KTIMER=m # CONFIG_PPS_CLIENT_LDISC is not set # CONFIG_PPS_CLIENT_PARPORT is not set CONFIG_PPS_CLIENT_GPIO=m # # PPS generators support # # # PTP clock support # # # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. # # end of PTP clock support # CONFIG_PINCTRL is not set CONFIG_GPIOLIB=y CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIO_ACPI=y CONFIG_GPIOLIB_IRQCHIP=y CONFIG_DEBUG_GPIO=y # CONFIG_GPIO_SYSFS is not set CONFIG_GPIO_CDEV=y CONFIG_GPIO_CDEV_V1=y CONFIG_GPIO_GENERIC=m CONFIG_GPIO_MAX730X=m # # Memory mapped GPIO drivers # # CONFIG_GPIO_AMDPT is not set CONFIG_GPIO_DWAPB=m # CONFIG_GPIO_EXAR is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set CONFIG_GPIO_ICH=y CONFIG_GPIO_MB86S7X=m # CONFIG_GPIO_VX855 is not set CONFIG_GPIO_XILINX=m # CONFIG_GPIO_AMD_FCH is not set # end of Memory mapped GPIO drivers # # Port-mapped I/O GPIO drivers # CONFIG_GPIO_F7188X=y # CONFIG_GPIO_IT87 is not set CONFIG_GPIO_SCH=m CONFIG_GPIO_SCH311X=y CONFIG_GPIO_WINBOND=y CONFIG_GPIO_WS16C48=m # end of Port-mapped I/O GPIO drivers # # I2C GPIO expanders # CONFIG_GPIO_ADP5588=y CONFIG_GPIO_ADP5588_IRQ=y CONFIG_GPIO_MAX7300=m CONFIG_GPIO_MAX732X=y # CONFIG_GPIO_MAX732X_IRQ is not set CONFIG_GPIO_PCA953X=y # CONFIG_GPIO_PCA953X_IRQ is not set # CONFIG_GPIO_PCA9570 is not set CONFIG_GPIO_PCF857X=y # CONFIG_GPIO_TPIC2810 is not set # end of I2C GPIO expanders # # MFD GPIO expanders # CONFIG_GPIO_ADP5520=y CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_DA9052 is not set # CONFIG_GPIO_DA9055 is not set CONFIG_GPIO_KEMPLD=m CONFIG_GPIO_LP3943=m CONFIG_GPIO_LP873X=m CONFIG_GPIO_RC5T583=y CONFIG_GPIO_TPS65086=m CONFIG_GPIO_TPS65910=y CONFIG_GPIO_TQMX86=m # end of MFD GPIO expanders # # PCI GPIO expanders # CONFIG_GPIO_AMD8111=y # CONFIG_GPIO_ML_IOH is not set CONFIG_GPIO_PCI_IDIO_16=y CONFIG_GPIO_PCIE_IDIO_24=m # CONFIG_GPIO_RDC321X is not set # end of PCI GPIO expanders # # Virtual GPIO drivers # CONFIG_GPIO_AGGREGATOR=m CONFIG_GPIO_MOCKUP=m # end of Virtual GPIO drivers CONFIG_W1=y # CONFIG_W1_CON is not set # # 1-wire Bus Masters # CONFIG_W1_MASTER_MATROX=m CONFIG_W1_MASTER_DS2482=y CONFIG_W1_MASTER_DS1WM=y # CONFIG_W1_MASTER_GPIO is not set CONFIG_W1_MASTER_SGI=m # end of 1-wire Bus Masters # # 1-wire Slaves # # CONFIG_W1_SLAVE_THERM is not set CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2408=m CONFIG_W1_SLAVE_DS2408_READBACK=y CONFIG_W1_SLAVE_DS2413=m # CONFIG_W1_SLAVE_DS2406 is not set # CONFIG_W1_SLAVE_DS2423 is not set CONFIG_W1_SLAVE_DS2805=m # CONFIG_W1_SLAVE_DS2430 is not set CONFIG_W1_SLAVE_DS2431=m # CONFIG_W1_SLAVE_DS2433 is not set CONFIG_W1_SLAVE_DS2438=y CONFIG_W1_SLAVE_DS250X=m CONFIG_W1_SLAVE_DS2780=y CONFIG_W1_SLAVE_DS2781=y CONFIG_W1_SLAVE_DS28E04=y # CONFIG_W1_SLAVE_DS28E17 is not set # end of 1-wire Slaves # CONFIG_POWER_RESET is not set CONFIG_POWER_SUPPLY=y # CONFIG_POWER_SUPPLY_DEBUG is not set # CONFIG_POWER_SUPPLY_HWMON is not set CONFIG_PDA_POWER=m # CONFIG_GENERIC_ADC_BATTERY is not set # CONFIG_TEST_POWER is not set CONFIG_CHARGER_ADP5061=y CONFIG_BATTERY_CW2015=y CONFIG_BATTERY_DS2760=y # CONFIG_BATTERY_DS2780 is not set CONFIG_BATTERY_DS2781=y CONFIG_BATTERY_DS2782=y CONFIG_BATTERY_SBS=y # CONFIG_CHARGER_SBS is not set CONFIG_MANAGER_SBS=y CONFIG_BATTERY_BQ27XXX=m # CONFIG_BATTERY_BQ27XXX_I2C is not set CONFIG_BATTERY_BQ27XXX_HDQ=m CONFIG_BATTERY_DA9030=m CONFIG_BATTERY_DA9052=m CONFIG_BATTERY_MAX17040=m CONFIG_BATTERY_MAX17042=m CONFIG_BATTERY_MAX1721X=m # CONFIG_CHARGER_PCF50633 is not set CONFIG_CHARGER_MAX8903=y CONFIG_CHARGER_LP8727=m CONFIG_CHARGER_GPIO=y # CONFIG_CHARGER_LT3651 is not set # CONFIG_CHARGER_LTC4162L is not set CONFIG_CHARGER_MP2629=m CONFIG_CHARGER_BQ2415X=m # CONFIG_CHARGER_BQ24257 is not set CONFIG_CHARGER_BQ24735=y CONFIG_CHARGER_BQ2515X=m CONFIG_CHARGER_BQ25890=y CONFIG_CHARGER_BQ25980=y # CONFIG_CHARGER_BQ256XX is not set CONFIG_CHARGER_SMB347=m CONFIG_CHARGER_TPS65090=y CONFIG_BATTERY_GAUGE_LTC2941=m # CONFIG_BATTERY_GOLDFISH is not set CONFIG_CHARGER_RT9455=y # CONFIG_CHARGER_BD99954 is not set CONFIG_HWMON=y CONFIG_HWMON_VID=y CONFIG_HWMON_DEBUG_CHIP=y # # Native drivers # # CONFIG_SENSORS_AD7414 is not set CONFIG_SENSORS_AD7418=m # CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1025 is not set CONFIG_SENSORS_ADM1026=y CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1177=m CONFIG_SENSORS_ADM9240=y CONFIG_SENSORS_ADT7X10=m CONFIG_SENSORS_ADT7410=m CONFIG_SENSORS_ADT7411=y CONFIG_SENSORS_ADT7462=m CONFIG_SENSORS_ADT7470=m # CONFIG_SENSORS_ADT7475 is not set # CONFIG_SENSORS_AHT10 is not set CONFIG_SENSORS_AS370=y CONFIG_SENSORS_ASC7621=y CONFIG_SENSORS_AXI_FAN_CONTROL=m CONFIG_SENSORS_K8TEMP=y CONFIG_SENSORS_AMD_ENERGY=y CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m # CONFIG_SENSORS_CORSAIR_CPRO is not set CONFIG_SENSORS_CORSAIR_PSU=m CONFIG_SENSORS_DS620=y CONFIG_SENSORS_DS1621=y CONFIG_SENSORS_DELL_SMM=m # CONFIG_SENSORS_DA9052_ADC is not set # CONFIG_SENSORS_DA9055 is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_F71805F=m CONFIG_SENSORS_F71882FG=y CONFIG_SENSORS_F75375S=y # CONFIG_SENSORS_MC13783_ADC is not set CONFIG_SENSORS_FSCHMD=m # CONFIG_SENSORS_FTSTEUTATES is not set CONFIG_SENSORS_GL518SM=y CONFIG_SENSORS_GL520SM=y CONFIG_SENSORS_G760A=y CONFIG_SENSORS_G762=m CONFIG_SENSORS_HIH6130=y CONFIG_SENSORS_IBMAEM=m # CONFIG_SENSORS_IBMPEX is not set CONFIG_SENSORS_IIO_HWMON=m # CONFIG_SENSORS_I5500 is not set CONFIG_SENSORS_CORETEMP=m CONFIG_SENSORS_IT87=m CONFIG_SENSORS_JC42=y CONFIG_SENSORS_POWR1220=m CONFIG_SENSORS_LINEAGE=y CONFIG_SENSORS_LTC2945=m # CONFIG_SENSORS_LTC2947_I2C is not set # CONFIG_SENSORS_LTC2990 is not set CONFIG_SENSORS_LTC2992=y # CONFIG_SENSORS_LTC4151 is not set CONFIG_SENSORS_LTC4215=y # CONFIG_SENSORS_LTC4222 is not set CONFIG_SENSORS_LTC4245=m CONFIG_SENSORS_LTC4260=m # CONFIG_SENSORS_LTC4261 is not set CONFIG_SENSORS_MAX127=y CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m # CONFIG_SENSORS_MAX1668 is not set CONFIG_SENSORS_MAX197=m # CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX6621 is not set CONFIG_SENSORS_MAX6639=m # CONFIG_SENSORS_MAX6642 is not set # CONFIG_SENSORS_MAX6650 is not set CONFIG_SENSORS_MAX6697=m CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MCP3021=m CONFIG_SENSORS_MLXREG_FAN=m CONFIG_SENSORS_TC654=y CONFIG_SENSORS_MENF21BMC_HWMON=m CONFIG_SENSORS_MR75203=y # CONFIG_SENSORS_LM63 is not set CONFIG_SENSORS_LM73=y CONFIG_SENSORS_LM75=y CONFIG_SENSORS_LM77=y CONFIG_SENSORS_LM78=m CONFIG_SENSORS_LM80=m CONFIG_SENSORS_LM83=m # CONFIG_SENSORS_LM85 is not set # CONFIG_SENSORS_LM87 is not set # CONFIG_SENSORS_LM90 is not set # CONFIG_SENSORS_LM92 is not set CONFIG_SENSORS_LM93=y # CONFIG_SENSORS_LM95234 is not set # CONFIG_SENSORS_LM95241 is not set CONFIG_SENSORS_LM95245=y # CONFIG_SENSORS_PC87360 is not set CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_NTC_THERMISTOR=y # CONFIG_SENSORS_NCT6683 is not set # CONFIG_SENSORS_NCT6775 is not set CONFIG_SENSORS_NCT7802=y CONFIG_SENSORS_NCT7904=m # CONFIG_SENSORS_NPCM7XX is not set CONFIG_SENSORS_PCF8591=y CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_ADM1266=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_BEL_PFE=m CONFIG_SENSORS_IBM_CFFPS=m # CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set CONFIG_SENSORS_IR38064=m # CONFIG_SENSORS_IRPS5401 is not set CONFIG_SENSORS_ISL68137=m CONFIG_SENSORS_LM25066=m CONFIG_SENSORS_LTC2978=m # CONFIG_SENSORS_LTC3815 is not set CONFIG_SENSORS_MAX16064=m CONFIG_SENSORS_MAX16601=m CONFIG_SENSORS_MAX20730=m CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31785=m # CONFIG_SENSORS_MAX34440 is not set CONFIG_SENSORS_MAX8688=m CONFIG_SENSORS_MP2975=m CONFIG_SENSORS_PM6764TR=m CONFIG_SENSORS_PXE1610=m CONFIG_SENSORS_Q54SJ108A2=m CONFIG_SENSORS_TPS40422=m # CONFIG_SENSORS_TPS53679 is not set CONFIG_SENSORS_UCD9000=m CONFIG_SENSORS_UCD9200=m CONFIG_SENSORS_XDPE122=m # CONFIG_SENSORS_ZL6100 is not set CONFIG_SENSORS_SBTSI=y CONFIG_SENSORS_SHT15=y CONFIG_SENSORS_SHT21=m CONFIG_SENSORS_SHT3x=y # CONFIG_SENSORS_SHTC1 is not set CONFIG_SENSORS_SIS5595=y CONFIG_SENSORS_DME1737=m CONFIG_SENSORS_EMC1403=m CONFIG_SENSORS_EMC2103=m CONFIG_SENSORS_EMC6W201=m CONFIG_SENSORS_SMSC47M1=m # CONFIG_SENSORS_SMSC47M192 is not set CONFIG_SENSORS_SMSC47B397=m CONFIG_SENSORS_SCH56XX_COMMON=m CONFIG_SENSORS_SCH5627=m # CONFIG_SENSORS_SCH5636 is not set CONFIG_SENSORS_STTS751=m CONFIG_SENSORS_SMM665=m CONFIG_SENSORS_ADC128D818=m # CONFIG_SENSORS_ADS7828 is not set CONFIG_SENSORS_AMC6821=y CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=y # CONFIG_SENSORS_INA3221 is not set CONFIG_SENSORS_TC74=m # CONFIG_SENSORS_THMC50 is not set CONFIG_SENSORS_TMP102=y CONFIG_SENSORS_TMP103=m CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=y CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TMP513=y CONFIG_SENSORS_VIA_CPUTEMP=y CONFIG_SENSORS_VIA686A=m CONFIG_SENSORS_VT1211=m # CONFIG_SENSORS_VT8231 is not set CONFIG_SENSORS_W83773G=m # CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83791D is not set CONFIG_SENSORS_W83792D=m # CONFIG_SENSORS_W83793 is not set # CONFIG_SENSORS_W83795 is not set # CONFIG_SENSORS_W83L785TS is not set # CONFIG_SENSORS_W83L786NG is not set # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set # # ACPI drivers # # CONFIG_SENSORS_ACPI_POWER is not set # CONFIG_SENSORS_ATK0110 is not set CONFIG_THERMAL=y # CONFIG_THERMAL_NETLINK is not set # CONFIG_THERMAL_STATISTICS is not set CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_HWMON is not set CONFIG_THERMAL_WRITABLE_TRIPS=y # CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE is not set CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=y # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y # CONFIG_THERMAL_GOV_STEP_WISE is not set CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_USER_SPACE=y # CONFIG_THERMAL_EMULATION is not set # # Intel thermal drivers # # CONFIG_INTEL_SOC_DTS_THERMAL is not set # # ACPI INT340X thermal drivers # # CONFIG_INT340X_THERMAL is not set # end of ACPI INT340X thermal drivers CONFIG_INTEL_PCH_THERMAL=y # end of Intel thermal drivers CONFIG_GENERIC_ADC_THERMAL=y CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y # CONFIG_WATCHDOG_NOWAYOUT is not set CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y CONFIG_WATCHDOG_OPEN_TIMEOUT=0 CONFIG_WATCHDOG_SYSFS=y # # Watchdog Pretimeout Governors # CONFIG_WATCHDOG_PRETIMEOUT_GOV=y CONFIG_WATCHDOG_PRETIMEOUT_GOV_SEL=m # CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP is not set CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC=y CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC=y # # Watchdog Device Drivers # # CONFIG_SOFT_WATCHDOG is not set CONFIG_DA9052_WATCHDOG=m # CONFIG_DA9055_WATCHDOG is not set # CONFIG_DA9063_WATCHDOG is not set CONFIG_DA9062_WATCHDOG=m CONFIG_MENF21BMC_WATCHDOG=y # CONFIG_WDAT_WDT is not set CONFIG_XILINX_WATCHDOG=y CONFIG_ZIIRAVE_WATCHDOG=y # CONFIG_MLX_WDT is not set CONFIG_CADENCE_WATCHDOG=y CONFIG_DW_WATCHDOG=y CONFIG_MAX63XX_WATCHDOG=m CONFIG_RETU_WATCHDOG=m CONFIG_ACQUIRE_WDT=m # CONFIG_ADVANTECH_WDT is not set CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m CONFIG_EBC_C384_WDT=y # CONFIG_F71808E_WDT is not set CONFIG_SP5100_TCO=m CONFIG_SBC_FITPC2_WATCHDOG=y # CONFIG_EUROTECH_WDT is not set CONFIG_IB700_WDT=y CONFIG_IBMASR=m CONFIG_WAFER_WDT=m CONFIG_I6300ESB_WDT=y CONFIG_IE6XX_WDT=y CONFIG_ITCO_WDT=y # CONFIG_ITCO_VENDOR_SUPPORT is not set CONFIG_IT8712F_WDT=m # CONFIG_IT87_WDT is not set CONFIG_HP_WATCHDOG=y # CONFIG_HPWDT_NMI_DECODING is not set CONFIG_KEMPLD_WDT=m # CONFIG_SC1200_WDT is not set # CONFIG_PC87413_WDT is not set # CONFIG_NV_TCO is not set CONFIG_60XX_WDT=m # CONFIG_CPU5_WDT is not set CONFIG_SMSC_SCH311X_WDT=m # CONFIG_SMSC37B787_WDT is not set CONFIG_TQMX86_WDT=y CONFIG_VIA_WDT=y CONFIG_W83627HF_WDT=y CONFIG_W83877F_WDT=m # CONFIG_W83977F_WDT is not set CONFIG_MACHZ_WDT=m CONFIG_SBC_EPX_C3_WATCHDOG=y CONFIG_INTEL_MEI_WDT=y # CONFIG_NI903X_WDT is not set # CONFIG_NIC7018_WDT is not set CONFIG_MEN_A21_WDT=y # # PCI-based Watchdog Cards # # CONFIG_PCIPCWATCHDOG is not set # CONFIG_WDTPCI is not set CONFIG_SSB_POSSIBLE=y CONFIG_SSB=y CONFIG_SSB_PCIHOST_POSSIBLE=y # CONFIG_SSB_PCIHOST is not set CONFIG_SSB_DRIVER_GPIO=y CONFIG_BCMA_POSSIBLE=y CONFIG_BCMA=m CONFIG_BCMA_HOST_PCI_POSSIBLE=y # CONFIG_BCMA_HOST_PCI is not set CONFIG_BCMA_HOST_SOC=y CONFIG_BCMA_DRIVER_PCI=y CONFIG_BCMA_SFLASH=y # CONFIG_BCMA_DRIVER_GMAC_CMN is not set CONFIG_BCMA_DRIVER_GPIO=y # CONFIG_BCMA_DEBUG is not set # # Multifunction device drivers # CONFIG_MFD_CORE=y CONFIG_MFD_AS3711=y CONFIG_PMIC_ADP5520=y CONFIG_MFD_AAT2870_CORE=y CONFIG_MFD_BCM590XX=m CONFIG_MFD_BD9571MWV=y # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_MADERA is not set CONFIG_PMIC_DA903X=y CONFIG_PMIC_DA9052=y CONFIG_MFD_DA9052_I2C=y CONFIG_MFD_DA9055=y CONFIG_MFD_DA9062=m CONFIG_MFD_DA9063=m # CONFIG_MFD_DA9150 is not set CONFIG_MFD_MC13XXX=m CONFIG_MFD_MC13XXX_I2C=m CONFIG_MFD_MP2629=m # CONFIG_HTC_PASIC3 is not set CONFIG_HTC_I2CPLD=y # CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set CONFIG_LPC_ICH=y CONFIG_LPC_SCH=y # CONFIG_INTEL_SOC_PMIC_CHTDC_TI is not set CONFIG_MFD_INTEL_LPSS=m # CONFIG_MFD_INTEL_LPSS_ACPI is not set CONFIG_MFD_INTEL_LPSS_PCI=m # CONFIG_MFD_INTEL_PMT is not set # CONFIG_MFD_IQS62X is not set # CONFIG_MFD_JANZ_CMODIO is not set CONFIG_MFD_KEMPLD=m CONFIG_MFD_88PM800=y # CONFIG_MFD_88PM805 is not set # CONFIG_MFD_88PM860X is not set # CONFIG_MFD_MAX14577 is not set # CONFIG_MFD_MAX77693 is not set CONFIG_MFD_MAX77843=y CONFIG_MFD_MAX8907=m # CONFIG_MFD_MAX8925 is not set # CONFIG_MFD_MAX8997 is not set CONFIG_MFD_MAX8998=y CONFIG_MFD_MT6360=y CONFIG_MFD_MT6397=y CONFIG_MFD_MENF21BMC=y CONFIG_MFD_RETU=m CONFIG_MFD_PCF50633=m CONFIG_PCF50633_ADC=m # CONFIG_PCF50633_GPIO is not set CONFIG_MFD_RDC321X=y # CONFIG_MFD_RT5033 is not set CONFIG_MFD_RC5T583=y CONFIG_MFD_SEC_CORE=y CONFIG_MFD_SI476X_CORE=y # CONFIG_MFD_SM501 is not set CONFIG_MFD_SKY81452=m # CONFIG_ABX500_CORE is not set CONFIG_MFD_SYSCON=y CONFIG_MFD_TI_AM335X_TSCADC=m CONFIG_MFD_LP3943=m CONFIG_MFD_LP8788=y CONFIG_MFD_TI_LMU=y # CONFIG_MFD_PALMAS is not set # CONFIG_TPS6105X is not set # CONFIG_TPS65010 is not set CONFIG_TPS6507X=y CONFIG_MFD_TPS65086=m CONFIG_MFD_TPS65090=y CONFIG_MFD_TI_LP873X=y # CONFIG_MFD_TPS6586X is not set CONFIG_MFD_TPS65910=y # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS80031 is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set CONFIG_MFD_WL1273_CORE=m CONFIG_MFD_LM3533=y CONFIG_MFD_TQMX86=y # CONFIG_MFD_VX855 is not set # CONFIG_MFD_ARIZONA_I2C is not set # CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_WM8994 is not set # end of Multifunction device drivers # CONFIG_REGULATOR is not set CONFIG_RC_CORE=m CONFIG_RC_MAP=m # CONFIG_LIRC is not set CONFIG_RC_DECODERS=y CONFIG_IR_NEC_DECODER=m CONFIG_IR_RC5_DECODER=m CONFIG_IR_RC6_DECODER=m CONFIG_IR_JVC_DECODER=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SHARP_DECODER=m # CONFIG_IR_MCE_KBD_DECODER is not set # CONFIG_IR_XMP_DECODER is not set CONFIG_IR_IMON_DECODER=m CONFIG_IR_RCMM_DECODER=m # CONFIG_RC_DEVICES is not set CONFIG_CEC_CORE=y CONFIG_CEC_NOTIFIER=y CONFIG_CEC_PIN=y # CONFIG_CEC_PIN_ERROR_INJ is not set CONFIG_MEDIA_CEC_SUPPORT=y CONFIG_CEC_CH7322=m CONFIG_CEC_GPIO=y # CONFIG_USB_PULSE8_CEC is not set # CONFIG_USB_RAINSHADOW_CEC is not set CONFIG_MEDIA_SUPPORT=y # CONFIG_MEDIA_SUPPORT_FILTER is not set CONFIG_MEDIA_SUBDRV_AUTOSELECT=y # # Media device types # CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y CONFIG_MEDIA_RADIO_SUPPORT=y CONFIG_MEDIA_SDR_SUPPORT=y CONFIG_MEDIA_PLATFORM_SUPPORT=y CONFIG_MEDIA_TEST_SUPPORT=y # end of Media device types # # Media core support # CONFIG_VIDEO_DEV=y CONFIG_MEDIA_CONTROLLER=y CONFIG_DVB_CORE=y # end of Media core support # # Video4Linux options # CONFIG_VIDEO_V4L2=y CONFIG_VIDEO_V4L2_I2C=y CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_VIDEO_ADV_DEBUG=y CONFIG_VIDEO_FIXED_MINOR_RANGES=y CONFIG_VIDEO_TUNER=m CONFIG_V4L2_FLASH_LED_CLASS=m CONFIG_V4L2_FWNODE=y CONFIG_VIDEOBUF_GEN=y CONFIG_VIDEOBUF_DMA_SG=y CONFIG_VIDEOBUF_VMALLOC=m # end of Video4Linux options # # Media controller options # # CONFIG_MEDIA_CONTROLLER_DVB is not set # end of Media controller options # # Digital TV options # # CONFIG_DVB_MMAP is not set # CONFIG_DVB_NET is not set CONFIG_DVB_MAX_ADAPTERS=16 # CONFIG_DVB_DYNAMIC_MINORS is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set # CONFIG_DVB_ULE_DEBUG is not set # end of Digital TV options # # Media drivers # CONFIG_TTPCI_EEPROM=y CONFIG_MEDIA_PCI_SUPPORT=y # # Media capture support # # CONFIG_VIDEO_TW5864 is not set CONFIG_VIDEO_TW68=m # # Media capture/analog TV support # # CONFIG_VIDEO_IVTV is not set # CONFIG_VIDEO_HEXIUM_GEMINI is not set CONFIG_VIDEO_HEXIUM_ORION=y CONFIG_VIDEO_MXB=m CONFIG_VIDEO_DT3155=m # # Media capture/analog/hybrid TV support # CONFIG_VIDEO_CX18=m CONFIG_VIDEO_CX25821=y CONFIG_VIDEO_CX88=m CONFIG_VIDEO_CX88_BLACKBIRD=m CONFIG_VIDEO_CX88_DVB=m # CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set CONFIG_VIDEO_CX88_MPEG=m CONFIG_VIDEO_BT848=m CONFIG_DVB_BT8XX=m CONFIG_VIDEO_SAA7134=m CONFIG_VIDEO_SAA7134_RC=y CONFIG_VIDEO_SAA7134_DVB=m CONFIG_VIDEO_SAA7164=m # # Media digital TV PCI Adapters # CONFIG_DVB_AV7110=y CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_CORE=m CONFIG_DVB_BUDGET=m CONFIG_DVB_BUDGET_CI=m # CONFIG_DVB_BUDGET_AV is not set CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_B2C2_FLEXCOP_PCI=y CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG=y # CONFIG_DVB_PLUTO2 is not set CONFIG_DVB_DM1105=m # CONFIG_DVB_PT1 is not set CONFIG_DVB_PT3=m CONFIG_MANTIS_CORE=m # CONFIG_DVB_MANTIS is not set # CONFIG_DVB_HOPPER is not set CONFIG_DVB_NGENE=m # CONFIG_DVB_DDBRIDGE is not set CONFIG_DVB_SMIPCIE=m CONFIG_VIDEO_IPU3_CIO2=y # CONFIG_VIDEO_PCI_SKELETON is not set CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_TEA575X=m # CONFIG_RADIO_SI470X is not set CONFIG_RADIO_SI4713=y CONFIG_PLATFORM_SI4713=m CONFIG_I2C_SI4713=m CONFIG_RADIO_MAXIRADIO=m CONFIG_RADIO_TEA5764=y CONFIG_RADIO_TEA5764_XTAL=y # CONFIG_RADIO_SAA7706H is not set CONFIG_RADIO_TEF6862=y CONFIG_RADIO_WL1273=m CONFIG_VIDEO_CX2341X=m CONFIG_VIDEO_TVEEPROM=m CONFIG_VIDEOBUF2_CORE=y CONFIG_VIDEOBUF2_V4L2=y CONFIG_VIDEOBUF2_MEMOPS=y CONFIG_VIDEOBUF2_DMA_CONTIG=y CONFIG_VIDEOBUF2_VMALLOC=y CONFIG_VIDEOBUF2_DMA_SG=y CONFIG_VIDEOBUF2_DVB=m CONFIG_DVB_B2C2_FLEXCOP=y CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y CONFIG_VIDEO_SAA7146=y CONFIG_VIDEO_SAA7146_VV=y CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_VIDEO_CAFE_CCIC=m # CONFIG_VIDEO_VIA_CAMERA is not set CONFIG_VIDEO_CADENCE=y # CONFIG_VIDEO_CADENCE_CSI2RX is not set # CONFIG_VIDEO_CADENCE_CSI2TX is not set CONFIG_VIDEO_ASPEED=y # CONFIG_V4L_MEM2MEM_DRIVERS is not set # CONFIG_DVB_PLATFORM_DRIVERS is not set CONFIG_SDR_PLATFORM_DRIVERS=y # CONFIG_V4L_TEST_DRIVERS is not set # CONFIG_DVB_TEST_DRIVERS is not set # end of Media drivers # # Media ancillary drivers # CONFIG_MEDIA_ATTACH=y # # IR I2C driver auto-selected by 'Autoselect ancillary drivers' # CONFIG_VIDEO_IR_I2C=m # # Audio decoders, processors and mixers # CONFIG_VIDEO_TVAUDIO=y CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_TDA9840=y CONFIG_VIDEO_TEA6415C=m CONFIG_VIDEO_TEA6420=m CONFIG_VIDEO_MSP3400=m # CONFIG_VIDEO_CS3308 is not set CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_TLV320AIC23B=m CONFIG_VIDEO_UDA1342=y CONFIG_VIDEO_WM8775=m # CONFIG_VIDEO_WM8739 is not set # CONFIG_VIDEO_VP27SMPX is not set CONFIG_VIDEO_SONY_BTF_MPX=m # end of Audio decoders, processors and mixers # # RDS decoders # CONFIG_VIDEO_SAA6588=m # end of RDS decoders # # Video decoders # CONFIG_VIDEO_ADV7180=m # CONFIG_VIDEO_ADV7183 is not set CONFIG_VIDEO_ADV7604=m CONFIG_VIDEO_ADV7604_CEC=y CONFIG_VIDEO_ADV7842=y CONFIG_VIDEO_ADV7842_CEC=y CONFIG_VIDEO_BT819=y # CONFIG_VIDEO_BT856 is not set # CONFIG_VIDEO_BT866 is not set CONFIG_VIDEO_KS0127=y # CONFIG_VIDEO_ML86V7667 is not set CONFIG_VIDEO_SAA7110=y CONFIG_VIDEO_SAA711X=m # CONFIG_VIDEO_TC358743 is not set # CONFIG_VIDEO_TVP514X is not set CONFIG_VIDEO_TVP5150=y CONFIG_VIDEO_TVP7002=y CONFIG_VIDEO_TW2804=y # CONFIG_VIDEO_TW9903 is not set CONFIG_VIDEO_TW9906=m CONFIG_VIDEO_TW9910=y CONFIG_VIDEO_VPX3220=y # # Video and audio decoders # CONFIG_VIDEO_SAA717X=y # CONFIG_VIDEO_CX25840 is not set # end of Video decoders # # Video encoders # CONFIG_VIDEO_SAA7127=m # CONFIG_VIDEO_SAA7185 is not set # CONFIG_VIDEO_ADV7170 is not set CONFIG_VIDEO_ADV7175=y CONFIG_VIDEO_ADV7343=y # CONFIG_VIDEO_ADV7393 is not set CONFIG_VIDEO_ADV7511=m CONFIG_VIDEO_ADV7511_CEC=y # CONFIG_VIDEO_AD9389B is not set CONFIG_VIDEO_AK881X=m CONFIG_VIDEO_THS8200=m # end of Video encoders # # Video improvement chips # CONFIG_VIDEO_UPD64031A=m # CONFIG_VIDEO_UPD64083 is not set # end of Video improvement chips # # Audio/Video compression chips # CONFIG_VIDEO_SAA6752HS=y # end of Audio/Video compression chips # # SDR tuner chips # CONFIG_SDR_MAX2175=y # end of SDR tuner chips # # Miscellaneous helper chips # CONFIG_VIDEO_THS7303=y CONFIG_VIDEO_M52790=m CONFIG_VIDEO_I2C=y # CONFIG_VIDEO_ST_MIPID02 is not set # end of Miscellaneous helper chips # # Camera sensor devices # CONFIG_VIDEO_CCS_PLL=m CONFIG_VIDEO_HI556=y # CONFIG_VIDEO_IMX214 is not set # CONFIG_VIDEO_IMX219 is not set # CONFIG_VIDEO_IMX258 is not set # CONFIG_VIDEO_IMX274 is not set # CONFIG_VIDEO_IMX290 is not set CONFIG_VIDEO_IMX319=y CONFIG_VIDEO_IMX355=y # CONFIG_VIDEO_OV02A10 is not set CONFIG_VIDEO_OV2640=y CONFIG_VIDEO_OV2659=m CONFIG_VIDEO_OV2680=y CONFIG_VIDEO_OV2685=y CONFIG_VIDEO_OV2740=y CONFIG_VIDEO_OV5647=y # CONFIG_VIDEO_OV5648 is not set # CONFIG_VIDEO_OV6650 is not set # CONFIG_VIDEO_OV5670 is not set CONFIG_VIDEO_OV5675=m # CONFIG_VIDEO_OV5695 is not set CONFIG_VIDEO_OV7251=m # CONFIG_VIDEO_OV772X is not set # CONFIG_VIDEO_OV7640 is not set CONFIG_VIDEO_OV7670=y # CONFIG_VIDEO_OV7740 is not set CONFIG_VIDEO_OV8856=m # CONFIG_VIDEO_OV8865 is not set CONFIG_VIDEO_OV9640=y CONFIG_VIDEO_OV9650=m CONFIG_VIDEO_OV9734=y CONFIG_VIDEO_OV13858=y # CONFIG_VIDEO_VS6624 is not set CONFIG_VIDEO_MT9M001=y # CONFIG_VIDEO_MT9M032 is not set # CONFIG_VIDEO_MT9M111 is not set # CONFIG_VIDEO_MT9P031 is not set CONFIG_VIDEO_MT9T001=y CONFIG_VIDEO_MT9T112=m CONFIG_VIDEO_MT9V011=y CONFIG_VIDEO_MT9V032=m # CONFIG_VIDEO_MT9V111 is not set CONFIG_VIDEO_SR030PC30=m CONFIG_VIDEO_NOON010PC30=y # CONFIG_VIDEO_M5MOLS is not set # CONFIG_VIDEO_RDACM20 is not set CONFIG_VIDEO_RJ54N1=y CONFIG_VIDEO_S5K6AA=m CONFIG_VIDEO_S5K6A3=m CONFIG_VIDEO_S5K4ECGX=y CONFIG_VIDEO_S5K5BAF=y CONFIG_VIDEO_CCS=m CONFIG_VIDEO_ET8EK8=m # end of Camera sensor devices # # Lens drivers # # CONFIG_VIDEO_AD5820 is not set CONFIG_VIDEO_AK7375=y CONFIG_VIDEO_DW9714=m CONFIG_VIDEO_DW9768=y CONFIG_VIDEO_DW9807_VCM=y # end of Lens drivers # # Flash devices # CONFIG_VIDEO_ADP1653=m # CONFIG_VIDEO_LM3560 is not set CONFIG_VIDEO_LM3646=m # end of Flash devices # # SPI helper chips # # end of SPI helper chips CONFIG_MEDIA_TUNER=y # # Customize TV tuners # CONFIG_MEDIA_TUNER_SIMPLE=y # CONFIG_MEDIA_TUNER_TDA18250 is not set CONFIG_MEDIA_TUNER_TDA8290=y CONFIG_MEDIA_TUNER_TDA827X=y CONFIG_MEDIA_TUNER_TDA18271=y CONFIG_MEDIA_TUNER_TDA9887=y CONFIG_MEDIA_TUNER_TEA5761=y CONFIG_MEDIA_TUNER_TEA5767=y CONFIG_MEDIA_TUNER_MT20XX=y CONFIG_MEDIA_TUNER_MT2060=m CONFIG_MEDIA_TUNER_MT2063=y CONFIG_MEDIA_TUNER_MT2266=m CONFIG_MEDIA_TUNER_MT2131=y CONFIG_MEDIA_TUNER_QT1010=m CONFIG_MEDIA_TUNER_XC2028=y CONFIG_MEDIA_TUNER_XC5000=y CONFIG_MEDIA_TUNER_XC4000=y CONFIG_MEDIA_TUNER_MXL5005S=y CONFIG_MEDIA_TUNER_MXL5007T=m CONFIG_MEDIA_TUNER_MC44S803=y # CONFIG_MEDIA_TUNER_MAX2165 is not set CONFIG_MEDIA_TUNER_TDA18218=m # CONFIG_MEDIA_TUNER_FC0011 is not set CONFIG_MEDIA_TUNER_FC0012=m CONFIG_MEDIA_TUNER_FC0013=y CONFIG_MEDIA_TUNER_TDA18212=m CONFIG_MEDIA_TUNER_E4000=y # CONFIG_MEDIA_TUNER_FC2580 is not set CONFIG_MEDIA_TUNER_M88RS6000T=m CONFIG_MEDIA_TUNER_TUA9001=y CONFIG_MEDIA_TUNER_SI2157=y CONFIG_MEDIA_TUNER_IT913X=y # CONFIG_MEDIA_TUNER_R820T is not set CONFIG_MEDIA_TUNER_MXL301RF=m CONFIG_MEDIA_TUNER_QM1D1C0042=y CONFIG_MEDIA_TUNER_QM1D1B0004=m # end of Customize TV tuners # # Customise DVB Frontends # # # Multistandard (satellite) frontends # CONFIG_DVB_STB0899=y CONFIG_DVB_STB6100=m CONFIG_DVB_STV090x=m CONFIG_DVB_STV0910=m CONFIG_DVB_STV6110x=y CONFIG_DVB_STV6111=y CONFIG_DVB_MXL5XX=y CONFIG_DVB_M88DS3103=m # # Multistandard (cable + terrestrial) frontends # CONFIG_DVB_DRXK=y CONFIG_DVB_TDA18271C2DD=y CONFIG_DVB_SI2165=m CONFIG_DVB_MN88472=y CONFIG_DVB_MN88473=y # # DVB-S (satellite) frontends # CONFIG_DVB_CX24110=m CONFIG_DVB_CX24123=y CONFIG_DVB_MT312=y CONFIG_DVB_ZL10036=m CONFIG_DVB_ZL10039=m CONFIG_DVB_S5H1420=y CONFIG_DVB_STV0288=m CONFIG_DVB_STB6000=m CONFIG_DVB_STV0299=y CONFIG_DVB_STV6110=y CONFIG_DVB_STV0900=y CONFIG_DVB_TDA8083=y CONFIG_DVB_TDA10086=y CONFIG_DVB_TDA8261=y CONFIG_DVB_VES1X93=y CONFIG_DVB_TUNER_ITD1000=y CONFIG_DVB_TUNER_CX24113=y CONFIG_DVB_TDA826X=m CONFIG_DVB_TUA6100=y CONFIG_DVB_CX24116=m CONFIG_DVB_CX24117=y CONFIG_DVB_CX24120=y CONFIG_DVB_SI21XX=m CONFIG_DVB_TS2020=m CONFIG_DVB_DS3000=y CONFIG_DVB_MB86A16=y # CONFIG_DVB_TDA10071 is not set # # DVB-T (terrestrial) frontends # CONFIG_DVB_SP8870=y CONFIG_DVB_SP887X=y # CONFIG_DVB_CX22700 is not set CONFIG_DVB_CX22702=y CONFIG_DVB_S5H1432=m CONFIG_DVB_DRXD=y CONFIG_DVB_L64781=y CONFIG_DVB_TDA1004X=m CONFIG_DVB_NXT6000=y CONFIG_DVB_MT352=y CONFIG_DVB_ZL10353=m # CONFIG_DVB_DIB3000MB is not set CONFIG_DVB_DIB3000MC=y CONFIG_DVB_DIB7000M=m CONFIG_DVB_DIB7000P=y # CONFIG_DVB_DIB9000 is not set CONFIG_DVB_TDA10048=y CONFIG_DVB_AF9013=y CONFIG_DVB_EC100=m CONFIG_DVB_STV0367=m # CONFIG_DVB_CXD2820R is not set CONFIG_DVB_CXD2841ER=m # CONFIG_DVB_RTL2830 is not set CONFIG_DVB_RTL2832=m CONFIG_DVB_SI2168=y # CONFIG_DVB_ZD1301_DEMOD is not set # # DVB-C (cable) frontends # CONFIG_DVB_VES1820=y CONFIG_DVB_TDA10021=y CONFIG_DVB_TDA10023=m CONFIG_DVB_STV0297=y # # ATSC (North American/Korean Terrestrial/Cable DTV) frontends # CONFIG_DVB_NXT200X=y CONFIG_DVB_OR51211=m CONFIG_DVB_OR51132=m CONFIG_DVB_BCM3510=y CONFIG_DVB_LGDT330X=y CONFIG_DVB_LGDT3305=y CONFIG_DVB_LGDT3306A=y CONFIG_DVB_LG2160=m CONFIG_DVB_S5H1409=y CONFIG_DVB_AU8522=y CONFIG_DVB_AU8522_DTV=y # CONFIG_DVB_AU8522_V4L is not set CONFIG_DVB_S5H1411=y # # ISDB-T (terrestrial) frontends # # CONFIG_DVB_S921 is not set CONFIG_DVB_DIB8000=m CONFIG_DVB_MB86A20S=y # # ISDB-S (satellite) & ISDB-T (terrestrial) frontends # CONFIG_DVB_TC90522=m # CONFIG_DVB_MN88443X is not set # # Digital terrestrial only tuners/PLL # CONFIG_DVB_PLL=y CONFIG_DVB_TUNER_DIB0070=y CONFIG_DVB_TUNER_DIB0090=m # # SEC control devices for DVB-S # CONFIG_DVB_DRX39XYJ=m CONFIG_DVB_LNBH25=y CONFIG_DVB_LNBH29=y CONFIG_DVB_LNBP21=y # CONFIG_DVB_LNBP22 is not set CONFIG_DVB_ISL6405=y CONFIG_DVB_ISL6421=y CONFIG_DVB_ISL6423=m # CONFIG_DVB_A8293 is not set # CONFIG_DVB_LGS8GL5 is not set # CONFIG_DVB_LGS8GXX is not set # CONFIG_DVB_ATBM8830 is not set CONFIG_DVB_TDA665x=m # CONFIG_DVB_IX2505V is not set # CONFIG_DVB_M88RS2000 is not set # CONFIG_DVB_AF9033 is not set # CONFIG_DVB_HORUS3A is not set CONFIG_DVB_ASCOT2E=y CONFIG_DVB_HELENE=y # # Common Interface (EN50221) controller drivers # CONFIG_DVB_CXD2099=y # CONFIG_DVB_SP2 is not set # end of Customise DVB Frontends # # Tools to develop new frontends # CONFIG_DVB_DUMMY_FE=y # end of Media ancillary drivers # # Graphics support # CONFIG_AGP=y # CONFIG_AGP_INTEL is not set CONFIG_AGP_SIS=y CONFIG_AGP_VIA=y CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=16 # CONFIG_VGA_SWITCHEROO is not set # CONFIG_DRM is not set # # ARM devices # # end of ARM devices # # Frame buffer Devices # CONFIG_FB_CMDLINE=y CONFIG_FB_NOTIFY=y CONFIG_FB=m CONFIG_FIRMWARE_EDID=y CONFIG_FB_DDC=m CONFIG_FB_CFB_FILLRECT=m CONFIG_FB_CFB_COPYAREA=m CONFIG_FB_CFB_IMAGEBLIT=m CONFIG_FB_SYS_FILLRECT=m CONFIG_FB_SYS_COPYAREA=m CONFIG_FB_SYS_IMAGEBLIT=m # CONFIG_FB_FOREIGN_ENDIAN is not set CONFIG_FB_SYS_FOPS=m CONFIG_FB_DEFERRED_IO=y CONFIG_FB_SVGALIB=m CONFIG_FB_BACKLIGHT=m CONFIG_FB_MODE_HELPERS=y CONFIG_FB_TILEBLITTING=y # # Frame buffer hardware drivers # CONFIG_FB_CIRRUS=m CONFIG_FB_PM2=m CONFIG_FB_PM2_FIFO_DISCONNECT=y CONFIG_FB_CYBER2000=m CONFIG_FB_CYBER2000_DDC=y CONFIG_FB_ARC=m # CONFIG_FB_VGA16 is not set # CONFIG_FB_UVESA is not set # CONFIG_FB_N411 is not set CONFIG_FB_HGA=m # CONFIG_FB_OPENCORES is not set CONFIG_FB_S1D13XXX=m CONFIG_FB_NVIDIA=m # CONFIG_FB_NVIDIA_I2C is not set CONFIG_FB_NVIDIA_DEBUG=y # CONFIG_FB_NVIDIA_BACKLIGHT is not set CONFIG_FB_RIVA=m # CONFIG_FB_RIVA_I2C is not set # CONFIG_FB_RIVA_DEBUG is not set CONFIG_FB_RIVA_BACKLIGHT=y # CONFIG_FB_I740 is not set CONFIG_FB_LE80578=m CONFIG_FB_CARILLO_RANCH=m CONFIG_FB_MATROX=m # CONFIG_FB_MATROX_MILLENIUM is not set # CONFIG_FB_MATROX_MYSTIQUE is not set CONFIG_FB_MATROX_G=y CONFIG_FB_MATROX_I2C=m CONFIG_FB_MATROX_MAVEN=m CONFIG_FB_RADEON=m CONFIG_FB_RADEON_I2C=y CONFIG_FB_RADEON_BACKLIGHT=y # CONFIG_FB_RADEON_DEBUG is not set CONFIG_FB_ATY128=m # CONFIG_FB_ATY128_BACKLIGHT is not set CONFIG_FB_ATY=m # CONFIG_FB_ATY_CT is not set # CONFIG_FB_ATY_GX is not set CONFIG_FB_ATY_BACKLIGHT=y CONFIG_FB_S3=m CONFIG_FB_S3_DDC=y CONFIG_FB_SAVAGE=m # CONFIG_FB_SAVAGE_I2C is not set # CONFIG_FB_SAVAGE_ACCEL is not set # CONFIG_FB_SIS is not set CONFIG_FB_VIA=m # CONFIG_FB_VIA_DIRECT_PROCFS is not set # CONFIG_FB_VIA_X_COMPATIBILITY is not set # CONFIG_FB_NEOMAGIC is not set CONFIG_FB_KYRO=m CONFIG_FB_3DFX=m CONFIG_FB_3DFX_ACCEL=y CONFIG_FB_3DFX_I2C=y CONFIG_FB_VOODOO1=m # CONFIG_FB_VT8623 is not set CONFIG_FB_TRIDENT=m # CONFIG_FB_ARK is not set # CONFIG_FB_PM3 is not set CONFIG_FB_CARMINE=m CONFIG_FB_CARMINE_DRAM_EVAL=y # CONFIG_CARMINE_DRAM_CUSTOM is not set # CONFIG_FB_IBM_GXT4500 is not set CONFIG_FB_GOLDFISH=m CONFIG_FB_VIRTUAL=m CONFIG_FB_METRONOME=m # CONFIG_FB_MB862XX is not set CONFIG_FB_SM712=m # end of Frame buffer Devices # # Backlight & LCD device support # CONFIG_LCD_CLASS_DEVICE=m CONFIG_LCD_PLATFORM=m CONFIG_BACKLIGHT_CLASS_DEVICE=m # CONFIG_BACKLIGHT_KTD253 is not set # CONFIG_BACKLIGHT_LM3533 is not set CONFIG_BACKLIGHT_CARILLO_RANCH=m CONFIG_BACKLIGHT_PWM=m CONFIG_BACKLIGHT_DA903X=m CONFIG_BACKLIGHT_DA9052=m # CONFIG_BACKLIGHT_APPLE is not set CONFIG_BACKLIGHT_QCOM_WLED=m CONFIG_BACKLIGHT_SAHARA=m # CONFIG_BACKLIGHT_ADP5520 is not set CONFIG_BACKLIGHT_ADP8860=m # CONFIG_BACKLIGHT_ADP8870 is not set # CONFIG_BACKLIGHT_PCF50633 is not set CONFIG_BACKLIGHT_AAT2870=m CONFIG_BACKLIGHT_LM3630A=m # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m CONFIG_BACKLIGHT_LP8788=m # CONFIG_BACKLIGHT_SKY81452 is not set CONFIG_BACKLIGHT_AS3711=m CONFIG_BACKLIGHT_GPIO=m CONFIG_BACKLIGHT_LV5207LP=m CONFIG_BACKLIGHT_BD6107=m CONFIG_BACKLIGHT_ARCXCNN=m # end of Backlight & LCD device support CONFIG_VGASTATE=m CONFIG_HDMI=y # CONFIG_LOGO is not set # end of Graphics support # CONFIG_SOUND is not set # # HID support # CONFIG_HID=m CONFIG_HID_BATTERY_STRENGTH=y CONFIG_HIDRAW=y CONFIG_UHID=m CONFIG_HID_GENERIC=m # # Special HID drivers # CONFIG_HID_A4TECH=m CONFIG_HID_ACRUX=m # CONFIG_HID_ACRUX_FF is not set CONFIG_HID_APPLE=m # CONFIG_HID_AUREAL is not set CONFIG_HID_BELKIN=m # CONFIG_HID_CHERRY is not set CONFIG_HID_CHICONY=m # CONFIG_HID_COUGAR is not set # CONFIG_HID_MACALLY is not set CONFIG_HID_CMEDIA=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_DRAGONRISE_FF=y CONFIG_HID_EMS_FF=m CONFIG_HID_ELECOM=m CONFIG_HID_EZKEY=m CONFIG_HID_GEMBIRD=m CONFIG_HID_GFRM=m # CONFIG_HID_GLORIOUS is not set CONFIG_HID_VIVALDI=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m CONFIG_HID_WALTOP=m # CONFIG_HID_VIEWSONIC is not set CONFIG_HID_GYRATION=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m # CONFIG_HID_JABRA is not set # CONFIG_HID_TWINHAN is not set CONFIG_HID_KENSINGTON=m CONFIG_HID_LCPOWER=m CONFIG_HID_LED=m CONFIG_HID_LENOVO=m CONFIG_HID_LOGITECH=m CONFIG_HID_LOGITECH_HIDPP=m CONFIG_LOGITECH_FF=y # CONFIG_LOGIRUMBLEPAD2_FF is not set # CONFIG_LOGIG940_FF is not set # CONFIG_LOGIWHEELS_FF is not set CONFIG_HID_MAGICMOUSE=m # CONFIG_HID_MALTRON is not set CONFIG_HID_MAYFLASH=m # CONFIG_HID_REDRAGON is not set CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m # CONFIG_HID_MULTITOUCH is not set CONFIG_HID_NTI=m # CONFIG_HID_ORTEK is not set # CONFIG_HID_PANTHERLORD is not set CONFIG_HID_PETALYNX=m CONFIG_HID_PICOLCD=m CONFIG_HID_PICOLCD_FB=y CONFIG_HID_PICOLCD_BACKLIGHT=y CONFIG_HID_PICOLCD_LCD=y # CONFIG_HID_PICOLCD_LEDS is not set CONFIG_HID_PICOLCD_CIR=y CONFIG_HID_PLANTRONICS=m CONFIG_HID_PRIMAX=m CONFIG_HID_SAITEK=m CONFIG_HID_SAMSUNG=m # CONFIG_HID_SPEEDLINK is not set # CONFIG_HID_STEAM is not set # CONFIG_HID_STEELSERIES is not set # CONFIG_HID_SUNPLUS is not set CONFIG_HID_RMI=m CONFIG_HID_GREENASIA=m # CONFIG_GREENASIA_FF is not set # CONFIG_HID_SMARTJOYPLUS is not set CONFIG_HID_TIVO=m CONFIG_HID_TOPSEED=m CONFIG_HID_THINGM=m # CONFIG_HID_THRUSTMASTER is not set CONFIG_HID_UDRAW_PS3=m CONFIG_HID_WIIMOTE=m # CONFIG_HID_XINMO is not set # CONFIG_HID_ZEROPLUS is not set CONFIG_HID_ZYDACRON=m CONFIG_HID_SENSOR_HUB=m CONFIG_HID_SENSOR_CUSTOM_SENSOR=m CONFIG_HID_ALPS=m # end of Special HID drivers # # I2C HID support # # CONFIG_I2C_HID_ACPI is not set # end of I2C HID support # # Intel ISH HID support # CONFIG_INTEL_ISH_HID=m CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER=m # end of Intel ISH HID support # # AMD SFH HID Support # # CONFIG_AMD_SFH_HID is not set # end of AMD SFH HID Support # end of HID support CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_SUPPORT=y # CONFIG_USB_ULPI_BUS is not set # CONFIG_USB_CONN_GPIO is not set CONFIG_USB_ARCH_HAS_HCD=y # CONFIG_USB is not set CONFIG_USB_PCI=y # # USB port drivers # # # USB Physical Layer drivers # # CONFIG_NOP_USB_XCEIV is not set # CONFIG_USB_GPIO_VBUS is not set # CONFIG_TAHVO_USB is not set # end of USB Physical Layer drivers # CONFIG_USB_GADGET is not set # CONFIG_TYPEC is not set # CONFIG_USB_ROLE_SWITCH is not set # CONFIG_MMC is not set CONFIG_MEMSTICK=m # CONFIG_MEMSTICK_DEBUG is not set # # MemoryStick drivers # CONFIG_MEMSTICK_UNSAFE_RESUME=y # # MemoryStick Host Controller Drivers # # CONFIG_MEMSTICK_TIFM_MS is not set # CONFIG_MEMSTICK_JMICRON_38X is not set CONFIG_MEMSTICK_R592=m CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=m CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_CLASS_MULTICOLOR=m # CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set # # LED drivers # # CONFIG_LEDS_AS3645A is not set CONFIG_LEDS_LM3530=m CONFIG_LEDS_LM3532=m # CONFIG_LEDS_LM3533 is not set # CONFIG_LEDS_LM3642 is not set # CONFIG_LEDS_LM3601X is not set CONFIG_LEDS_MT6323=m CONFIG_LEDS_PCA9532=m CONFIG_LEDS_PCA9532_GPIO=y # CONFIG_LEDS_GPIO is not set # CONFIG_LEDS_LP3944 is not set CONFIG_LEDS_LP3952=m CONFIG_LEDS_LP50XX=m # CONFIG_LEDS_LP8788 is not set # CONFIG_LEDS_PCA955X is not set CONFIG_LEDS_PCA963X=m CONFIG_LEDS_DA903X=m CONFIG_LEDS_DA9052=m CONFIG_LEDS_PWM=m CONFIG_LEDS_BD2802=m # CONFIG_LEDS_ADP5520 is not set # CONFIG_LEDS_MC13783 is not set CONFIG_LEDS_TCA6507=m CONFIG_LEDS_TLC591XX=m # CONFIG_LEDS_LM355x is not set CONFIG_LEDS_MENF21BMC=m # # LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) # CONFIG_LEDS_BLINKM=m CONFIG_LEDS_MLXREG=m CONFIG_LEDS_USER=m # CONFIG_LEDS_NIC78BX is not set CONFIG_LEDS_TI_LMU_COMMON=m CONFIG_LEDS_LM36274=m CONFIG_LEDS_SGM3140=m # # LED Triggers # # CONFIG_LEDS_TRIGGERS is not set # CONFIG_ACCESSIBILITY is not set CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_MAD=m CONFIG_INFINIBAND_USER_ACCESS=m CONFIG_INFINIBAND_USER_MEM=y CONFIG_INFINIBAND_ON_DEMAND_PAGING=y CONFIG_INFINIBAND_ADDR_TRANS=y CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y CONFIG_INFINIBAND_VIRT_DMA=y CONFIG_INFINIBAND_MTHCA=m CONFIG_INFINIBAND_MTHCA_DEBUG=y # CONFIG_INFINIBAND_QIB is not set CONFIG_INFINIBAND_EFA=m # CONFIG_MLX4_INFINIBAND is not set # CONFIG_INFINIBAND_OCRDMA is not set # CONFIG_INFINIBAND_BNXT_RE is not set CONFIG_INFINIBAND_HFI1=m CONFIG_HFI1_DEBUG_SDMA_ORDER=y CONFIG_SDMA_VERBOSITY=y CONFIG_INFINIBAND_RDMAVT=m CONFIG_RDMA_RXE=m # CONFIG_RDMA_SIW is not set # CONFIG_INFINIBAND_IPOIB is not set CONFIG_INFINIBAND_RTRS=m # CONFIG_INFINIBAND_RTRS_CLIENT is not set CONFIG_INFINIBAND_RTRS_SERVER=m # CONFIG_INFINIBAND_OPA_VNIC is not set CONFIG_EDAC_ATOMIC_SCRUB=y CONFIG_EDAC_SUPPORT=y # CONFIG_EDAC is not set CONFIG_RTC_LIB=y CONFIG_RTC_MC146818_LIB=y # CONFIG_RTC_CLASS is not set CONFIG_DMADEVICES=y CONFIG_DMADEVICES_DEBUG=y # CONFIG_DMADEVICES_VDEBUG is not set # # DMA Devices # CONFIG_DMA_ENGINE=y CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DMA_ACPI=y CONFIG_ALTERA_MSGDMA=m # CONFIG_INTEL_IDMA64 is not set CONFIG_INTEL_IOATDMA=m CONFIG_PLX_DMA=y # CONFIG_XILINX_ZYNQMP_DPDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QCOM_HIDMA=m CONFIG_DW_DMAC_CORE=y # CONFIG_DW_DMAC is not set # CONFIG_DW_DMAC_PCI is not set CONFIG_DW_EDMA=y CONFIG_DW_EDMA_PCIE=y CONFIG_HSU_DMA=y CONFIG_SF_PDMA=m # CONFIG_INTEL_LDMA is not set # # DMA Clients # CONFIG_ASYNC_TX_DMA=y CONFIG_DMATEST=m CONFIG_DMA_ENGINE_RAID=y # # DMABUF options # CONFIG_SYNC_FILE=y # CONFIG_SW_SYNC is not set # CONFIG_UDMABUF is not set CONFIG_DMABUF_MOVE_NOTIFY=y # CONFIG_DMABUF_DEBUG is not set # CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMABUF_HEAPS=y CONFIG_DMABUF_HEAPS_SYSTEM=y # end of DMABUF options CONFIG_DCA=m CONFIG_AUXDISPLAY=y CONFIG_CHARLCD=y CONFIG_HD44780_COMMON=y CONFIG_HD44780=y # CONFIG_KS0108 is not set CONFIG_IMG_ASCII_LCD=m # CONFIG_LCD2S is not set CONFIG_PARPORT_PANEL=y CONFIG_PANEL_PARPORT=0 CONFIG_PANEL_PROFILE=5 # CONFIG_PANEL_CHANGE_MESSAGE is not set CONFIG_CHARLCD_BL_OFF=y # CONFIG_CHARLCD_BL_ON is not set # CONFIG_CHARLCD_BL_FLASH is not set CONFIG_PANEL=y CONFIG_UIO=m CONFIG_UIO_CIF=m CONFIG_UIO_PDRV_GENIRQ=m CONFIG_UIO_DMEM_GENIRQ=m CONFIG_UIO_AEC=m CONFIG_UIO_SERCOS3=m CONFIG_UIO_PCI_GENERIC=m CONFIG_UIO_NETX=m CONFIG_UIO_PRUSS=m CONFIG_UIO_MF624=m CONFIG_VIRT_DRIVERS=y CONFIG_VBOXGUEST=m CONFIG_VIRTIO=y # CONFIG_VIRTIO_MENU is not set # CONFIG_VDPA is not set CONFIG_VHOST_IOTLB=m CONFIG_VHOST=m CONFIG_VHOST_MENU=y CONFIG_VHOST_NET=m CONFIG_VHOST_VSOCK=m CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y # # Microsoft Hyper-V guest support # # CONFIG_HYPERV is not set # end of Microsoft Hyper-V guest support # CONFIG_GREYBUS is not set CONFIG_STAGING=y # CONFIG_COMEDI is not set # CONFIG_RTLLIB is not set # # IIO staging drivers # # # Accelerometers # # end of Accelerometers # # Analog to digital converters # # end of Analog to digital converters # # Analog digital bi-direction converters # CONFIG_ADT7316=m CONFIG_ADT7316_I2C=m # end of Analog digital bi-direction converters # # Capacitance to digital converters # # CONFIG_AD7150 is not set CONFIG_AD7746=m # end of Capacitance to digital converters # # Direct Digital Synthesis # # end of Direct Digital Synthesis # # Network Analyzer, Impedance Converters # CONFIG_AD5933=y # end of Network Analyzer, Impedance Converters # # Active energy metering IC # CONFIG_ADE7854=y CONFIG_ADE7854_I2C=m # end of Active energy metering IC # # Resolver to digital converters # # end of Resolver to digital converters # end of IIO staging drivers CONFIG_FB_SM750=m # CONFIG_STAGING_MEDIA is not set # # Android # CONFIG_ASHMEM=y # end of Android CONFIG_GS_FPGABOOT=m CONFIG_UNISYSSPAR=y # # Gasket devices # CONFIG_STAGING_GASKET_FRAMEWORK=m # CONFIG_STAGING_APEX_DRIVER is not set # end of Gasket devices CONFIG_FIELDBUS_DEV=m # CONFIG_KPC2000 is not set # CONFIG_QLGE is not set # CONFIG_WIMAX is not set # CONFIG_X86_PLATFORM_DEVICES is not set CONFIG_PMC_ATOM=y # CONFIG_GOLDFISH_PIPE is not set # CONFIG_CHROME_PLATFORMS is not set CONFIG_MELLANOX_PLATFORM=y CONFIG_MLXREG_HOTPLUG=y # CONFIG_MLXREG_IO is not set # CONFIG_SURFACE_PLATFORMS is not set CONFIG_HAVE_CLK=y CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_MAX9485=m # CONFIG_COMMON_CLK_SI5341 is not set CONFIG_COMMON_CLK_SI5351=y CONFIG_COMMON_CLK_SI544=y CONFIG_COMMON_CLK_CDCE706=y # CONFIG_COMMON_CLK_CS2000_CP is not set CONFIG_COMMON_CLK_S2MPS11=m CONFIG_COMMON_CLK_PWM=y # CONFIG_HWSPINLOCK is not set # # Clock Source drivers # CONFIG_CLKEVT_I8253=y CONFIG_I8253_LOCK=y CONFIG_CLKBLD_I8253=y # end of Clock Source drivers CONFIG_MAILBOX=y # CONFIG_PCC is not set CONFIG_ALTERA_MBOX=y CONFIG_IOMMU_SUPPORT=y # # Generic IOMMU Pagetable Support # # end of Generic IOMMU Pagetable Support # CONFIG_IOMMU_DEBUGFS is not set # CONFIG_AMD_IOMMU is not set # CONFIG_INTEL_IOMMU is not set # CONFIG_IRQ_REMAP is not set # # Remoteproc drivers # CONFIG_REMOTEPROC=y # CONFIG_REMOTEPROC_CDEV is not set # end of Remoteproc drivers # # Rpmsg drivers # CONFIG_RPMSG=y CONFIG_RPMSG_CHAR=m CONFIG_RPMSG_NS=y CONFIG_RPMSG_QCOM_GLINK=m CONFIG_RPMSG_QCOM_GLINK_RPM=m CONFIG_RPMSG_VIRTIO=y # end of Rpmsg drivers # CONFIG_SOUNDWIRE is not set # # SOC (System On Chip) specific Drivers # # # Amlogic SoC drivers # # end of Amlogic SoC drivers # # Broadcom SoC drivers # # end of Broadcom SoC drivers # # NXP/Freescale QorIQ SoC drivers # # end of NXP/Freescale QorIQ SoC drivers # # i.MX SoC drivers # # end of i.MX SoC drivers # # Enable LiteX SoC Builder specific drivers # # end of Enable LiteX SoC Builder specific drivers # # Qualcomm SoC drivers # # end of Qualcomm SoC drivers # CONFIG_SOC_TI is not set # # Xilinx SoC drivers # # CONFIG_XILINX_VCU is not set # end of Xilinx SoC drivers # end of SOC (System On Chip) specific Drivers # CONFIG_PM_DEVFREQ is not set # CONFIG_EXTCON is not set CONFIG_MEMORY=y # CONFIG_FPGA_DFL_EMIF is not set CONFIG_IIO=y CONFIG_IIO_BUFFER=y CONFIG_IIO_BUFFER_CB=m CONFIG_IIO_BUFFER_DMA=y CONFIG_IIO_BUFFER_DMAENGINE=y CONFIG_IIO_BUFFER_HW_CONSUMER=y CONFIG_IIO_KFIFO_BUF=y CONFIG_IIO_TRIGGERED_BUFFER=y CONFIG_IIO_CONFIGFS=y CONFIG_IIO_TRIGGER=y CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 CONFIG_IIO_SW_DEVICE=y CONFIG_IIO_SW_TRIGGER=m # CONFIG_IIO_TRIGGERED_EVENT is not set # # Accelerometers # CONFIG_ADXL345=m CONFIG_ADXL345_I2C=m # CONFIG_ADXL372_I2C is not set CONFIG_BMA180=m # CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m CONFIG_BMC150_ACCEL_I2C=m CONFIG_DA280=y CONFIG_DA311=y CONFIG_DMARD09=m CONFIG_DMARD10=m CONFIG_HID_SENSOR_ACCEL_3D=m CONFIG_IIO_ST_ACCEL_3AXIS=m CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m CONFIG_KXSD9=y # CONFIG_KXSD9_I2C is not set # CONFIG_KXCJK1013 is not set # CONFIG_MC3230 is not set CONFIG_MMA7455=m CONFIG_MMA7455_I2C=m # CONFIG_MMA7660 is not set CONFIG_MMA8452=m CONFIG_MMA9551_CORE=y CONFIG_MMA9551=y CONFIG_MMA9553=y CONFIG_MXC4005=m CONFIG_MXC6255=m CONFIG_STK8312=m CONFIG_STK8BA50=y # end of Accelerometers # # Analog to digital converters # # CONFIG_AD7091R5 is not set # CONFIG_AD7291 is not set # CONFIG_AD7606_IFACE_PARALLEL is not set CONFIG_AD799X=m CONFIG_ADI_AXI_ADC=y CONFIG_HX711=m # CONFIG_LP8788_ADC is not set CONFIG_LTC2471=m CONFIG_LTC2485=m CONFIG_LTC2497=y CONFIG_MAX1363=y CONFIG_MAX9611=m CONFIG_MCP3422=m # CONFIG_MEDIATEK_MT6360_ADC is not set CONFIG_MP2629_ADC=m CONFIG_NAU7802=y CONFIG_TI_ADC081C=y # CONFIG_TI_ADS1015 is not set CONFIG_TI_AM335X_ADC=m CONFIG_XILINX_XADC=y # end of Analog to digital converters # # Analog Front Ends # # end of Analog Front Ends # # Amplifiers # # CONFIG_HMC425 is not set # end of Amplifiers # # Chemical Sensors # CONFIG_ATLAS_PH_SENSOR=m CONFIG_ATLAS_EZO_SENSOR=m CONFIG_BME680=y CONFIG_BME680_I2C=y CONFIG_CCS811=y CONFIG_IAQCORE=m CONFIG_SCD30_CORE=m CONFIG_SCD30_I2C=m CONFIG_SENSIRION_SGP30=m CONFIG_SPS30=y # CONFIG_VZ89X is not set # end of Chemical Sensors # # Hid Sensor IIO Common # CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m # end of Hid Sensor IIO Common CONFIG_IIO_MS_SENSORS_I2C=m # # SSP Sensor Common # # end of SSP Sensor Common CONFIG_IIO_ST_SENSORS_I2C=y CONFIG_IIO_ST_SENSORS_CORE=y # # Digital to analog converters # # CONFIG_AD5064 is not set # CONFIG_AD5380 is not set CONFIG_AD5446=y # CONFIG_AD5593R is not set # CONFIG_AD5696_I2C is not set CONFIG_DS4424=y CONFIG_M62332=m CONFIG_MAX517=m # CONFIG_MCP4725 is not set CONFIG_TI_DAC5571=m # end of Digital to analog converters # # IIO dummy driver # # CONFIG_IIO_SIMPLE_DUMMY is not set # end of IIO dummy driver # # Frequency Synthesizers DDS/PLL # # # Clock Generator/Distribution # # end of Clock Generator/Distribution # # Phase-Locked Loop (PLL) frequency synthesizers # # end of Phase-Locked Loop (PLL) frequency synthesizers # end of Frequency Synthesizers DDS/PLL # # Digital gyroscope sensors # CONFIG_BMG160=m CONFIG_BMG160_I2C=m CONFIG_FXAS21002C=y CONFIG_FXAS21002C_I2C=y # CONFIG_HID_SENSOR_GYRO_3D is not set CONFIG_MPU3050=m CONFIG_MPU3050_I2C=m CONFIG_IIO_ST_GYRO_3AXIS=y CONFIG_IIO_ST_GYRO_I2C_3AXIS=y CONFIG_ITG3200=y # end of Digital gyroscope sensors # # Health Sensors # # # Heart Rate Monitors # # CONFIG_AFE4404 is not set CONFIG_MAX30100=m # CONFIG_MAX30102 is not set # end of Heart Rate Monitors # end of Health Sensors # # Humidity sensors # CONFIG_AM2315=m CONFIG_DHT11=m CONFIG_HDC100X=m CONFIG_HDC2010=y CONFIG_HID_SENSOR_HUMIDITY=m CONFIG_HTS221=y CONFIG_HTS221_I2C=y # CONFIG_HTU21 is not set CONFIG_SI7005=m CONFIG_SI7020=y # end of Humidity sensors # # Inertial measurement units # CONFIG_BMI160=y CONFIG_BMI160_I2C=y CONFIG_FXOS8700=y CONFIG_FXOS8700_I2C=y CONFIG_KMX61=m CONFIG_INV_ICM42600=y CONFIG_INV_ICM42600_I2C=y CONFIG_INV_MPU6050_IIO=y CONFIG_INV_MPU6050_I2C=y CONFIG_IIO_ST_LSM6DSX=m CONFIG_IIO_ST_LSM6DSX_I2C=m CONFIG_IIO_ST_LSM6DSX_I3C=m # end of Inertial measurement units # # Light sensors # # CONFIG_ACPI_ALS is not set CONFIG_ADJD_S311=m # CONFIG_ADUX1020 is not set # CONFIG_AL3010 is not set # CONFIG_AL3320A is not set CONFIG_APDS9300=m CONFIG_APDS9960=y CONFIG_AS73211=m CONFIG_BH1750=m CONFIG_BH1780=y CONFIG_CM32181=m CONFIG_CM3232=m # CONFIG_CM3323 is not set # CONFIG_CM36651 is not set # CONFIG_GP2AP002 is not set CONFIG_GP2AP020A00F=y # CONFIG_SENSORS_ISL29018 is not set CONFIG_SENSORS_ISL29028=y CONFIG_ISL29125=m CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_PROX=m # CONFIG_JSA1212 is not set CONFIG_RPR0521=y CONFIG_SENSORS_LM3533=y CONFIG_LTR501=y CONFIG_LV0104CS=m CONFIG_MAX44000=y CONFIG_MAX44009=m # CONFIG_NOA1305 is not set CONFIG_OPT3001=y CONFIG_PA12203001=y CONFIG_SI1133=y CONFIG_SI1145=y CONFIG_STK3310=m CONFIG_ST_UVIS25=m CONFIG_ST_UVIS25_I2C=m CONFIG_TCS3414=m CONFIG_TCS3472=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_TSL2583=m CONFIG_TSL2772=y CONFIG_TSL4531=y CONFIG_US5182D=m # CONFIG_VCNL4000 is not set CONFIG_VCNL4035=m CONFIG_VEML6030=y CONFIG_VEML6070=y CONFIG_VL6180=y CONFIG_ZOPT2201=y # end of Light sensors # # Magnetometer sensors # CONFIG_AK8975=y CONFIG_AK09911=y CONFIG_BMC150_MAGN=y CONFIG_BMC150_MAGN_I2C=y CONFIG_MAG3110=y # CONFIG_HID_SENSOR_MAGNETOMETER_3D is not set # CONFIG_MMC35240 is not set # CONFIG_IIO_ST_MAGN_3AXIS is not set CONFIG_SENSORS_HMC5843=y CONFIG_SENSORS_HMC5843_I2C=y # CONFIG_SENSORS_RM3100_I2C is not set # CONFIG_YAMAHA_YAS530 is not set # end of Magnetometer sensors # # Multiplexers # # end of Multiplexers # # Inclinometer sensors # CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m # end of Inclinometer sensors # # Triggers - standalone # CONFIG_IIO_HRTIMER_TRIGGER=m CONFIG_IIO_INTERRUPT_TRIGGER=m CONFIG_IIO_TIGHTLOOP_TRIGGER=m CONFIG_IIO_SYSFS_TRIGGER=m # end of Triggers - standalone # # Linear and angular position sensors # # CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE is not set # end of Linear and angular position sensors # # Digital potentiometers # CONFIG_AD5272=y CONFIG_DS1803=y CONFIG_MAX5432=y CONFIG_MCP4018=m # CONFIG_MCP4531 is not set CONFIG_TPL0102=y # end of Digital potentiometers # # Digital potentiostats # # CONFIG_LMP91000 is not set # end of Digital potentiostats # # Pressure sensors # CONFIG_ABP060MG=m CONFIG_BMP280=y CONFIG_BMP280_I2C=y CONFIG_DLHL60D=y # CONFIG_DPS310 is not set # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HP03 is not set CONFIG_ICP10100=m CONFIG_MPL115=y CONFIG_MPL115_I2C=y CONFIG_MPL3115=m # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_IIO_ST_PRESS is not set # CONFIG_T5403 is not set # CONFIG_HP206C is not set CONFIG_ZPA2326=m CONFIG_ZPA2326_I2C=m # end of Pressure sensors # # Lightning sensors # # end of Lightning sensors # # Proximity and distance sensors # # CONFIG_ISL29501 is not set # CONFIG_LIDAR_LITE_V2 is not set CONFIG_MB1232=m CONFIG_PING=y # CONFIG_RFD77402 is not set CONFIG_SRF04=m CONFIG_SX9310=m # CONFIG_SX9500 is not set CONFIG_SRF08=m # CONFIG_VCNL3020 is not set CONFIG_VL53L0X_I2C=y # end of Proximity and distance sensors # # Resolver to digital converters # # end of Resolver to digital converters # # Temperature sensors # CONFIG_HID_SENSOR_TEMP=m CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_TMP006=y # CONFIG_TMP007 is not set # CONFIG_TSYS01 is not set CONFIG_TSYS02D=m # end of Temperature sensors CONFIG_NTB=m CONFIG_NTB_MSI=y # CONFIG_NTB_AMD is not set # CONFIG_NTB_IDT is not set # CONFIG_NTB_INTEL is not set # CONFIG_NTB_EPF is not set CONFIG_NTB_SWITCHTEC=m # CONFIG_NTB_PINGPONG is not set CONFIG_NTB_TOOL=m CONFIG_NTB_PERF=m CONFIG_NTB_MSI_TEST=m CONFIG_NTB_TRANSPORT=m # CONFIG_VME_BUS is not set CONFIG_PWM=y CONFIG_PWM_SYSFS=y # CONFIG_PWM_DEBUG is not set CONFIG_PWM_DWC=y CONFIG_PWM_LP3943=m CONFIG_PWM_LPSS=y CONFIG_PWM_LPSS_PCI=y # CONFIG_PWM_LPSS_PLATFORM is not set CONFIG_PWM_PCA9685=m # # IRQ chip support # # end of IRQ chip support CONFIG_IPACK_BUS=m CONFIG_BOARD_TPCI200=m # CONFIG_SERIAL_IPOCTAL is not set CONFIG_RESET_CONTROLLER=y CONFIG_RESET_BRCMSTB_RESCAL=y CONFIG_RESET_TI_SYSCON=m # # PHY Subsystem # CONFIG_GENERIC_PHY=y # CONFIG_USB_LGM_PHY is not set CONFIG_BCM_KONA_USB2_PHY=y CONFIG_PHY_PXA_28NM_HSIC=y # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHY_INTEL_LGM_EMMC=m # end of PHY Subsystem # CONFIG_POWERCAP is not set # CONFIG_MCB is not set # # Performance monitor support # # end of Performance monitor support CONFIG_RAS=y CONFIG_USB4=m # CONFIG_USB4_DEBUGFS_WRITE is not set # CONFIG_USB4_KUNIT_TEST is not set # CONFIG_USB4_DMA_TEST is not set # # Android # CONFIG_ANDROID=y CONFIG_ANDROID_BINDER_IPC=y CONFIG_ANDROID_BINDERFS=y CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder" CONFIG_ANDROID_BINDER_IPC_SELFTEST=y # end of Android CONFIG_DAX=y CONFIG_DEV_DAX=m CONFIG_NVMEM=y CONFIG_NVMEM_SYSFS=y # CONFIG_NVMEM_RMEM is not set # # HW tracing support # CONFIG_STM=m # CONFIG_STM_PROTO_BASIC is not set # CONFIG_STM_PROTO_SYS_T is not set # CONFIG_STM_DUMMY is not set CONFIG_STM_SOURCE_CONSOLE=m # CONFIG_STM_SOURCE_HEARTBEAT is not set CONFIG_STM_SOURCE_FTRACE=m CONFIG_INTEL_TH=y # CONFIG_INTEL_TH_PCI is not set # CONFIG_INTEL_TH_ACPI is not set CONFIG_INTEL_TH_GTH=m CONFIG_INTEL_TH_STH=m # CONFIG_INTEL_TH_MSU is not set CONFIG_INTEL_TH_PTI=m # CONFIG_INTEL_TH_DEBUG is not set # end of HW tracing support CONFIG_FPGA=m CONFIG_ALTERA_PR_IP_CORE=m # CONFIG_FPGA_MGR_ALTERA_CVP is not set CONFIG_FPGA_BRIDGE=m CONFIG_ALTERA_FREEZE_BRIDGE=m # CONFIG_XILINX_PR_DECOUPLER is not set CONFIG_FPGA_REGION=m CONFIG_FPGA_DFL=m CONFIG_FPGA_DFL_FME=m CONFIG_FPGA_DFL_FME_MGR=m CONFIG_FPGA_DFL_FME_BRIDGE=m # CONFIG_FPGA_DFL_FME_REGION is not set CONFIG_FPGA_DFL_AFU=m # CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000 is not set CONFIG_FPGA_DFL_PCI=m # CONFIG_UNISYS_VISORBUS is not set # CONFIG_SIOX is not set # CONFIG_SLIMBUS is not set # CONFIG_INTERCONNECT is not set # CONFIG_COUNTER is not set # CONFIG_MOST is not set # end of Device Drivers # # File systems # CONFIG_DCACHE_WORD_ACCESS=y # CONFIG_VALIDATE_FS_PARSER is not set CONFIG_FS_POSIX_ACL=y CONFIG_EXPORTFS=y # CONFIG_EXPORTFS_BLOCK_OPS is not set CONFIG_FILE_LOCKING=y CONFIG_MANDATORY_FILE_LOCKING=y # CONFIG_FS_ENCRYPTION is not set CONFIG_FS_VERITY=y # CONFIG_FS_VERITY_DEBUG is not set # CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set CONFIG_FSNOTIFY=y CONFIG_DNOTIFY=y CONFIG_INOTIFY_USER=y # CONFIG_FANOTIFY is not set # CONFIG_MOUNT_NOTIFICATIONS is not set CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y CONFIG_PRINT_QUOTA_WARNING=y CONFIG_QUOTA_DEBUG=y CONFIG_QUOTA_TREE=y CONFIG_QFMT_V1=y CONFIG_QFMT_V2=y CONFIG_QUOTACTL=y CONFIG_AUTOFS4_FS=y CONFIG_AUTOFS_FS=y CONFIG_FUSE_FS=y # CONFIG_CUSE is not set # CONFIG_VIRTIO_FS is not set # CONFIG_OVERLAY_FS is not set # # Caches # # CONFIG_FSCACHE is not set # end of Caches # # Pseudo filesystems # CONFIG_PROC_FS=y # CONFIG_PROC_KCORE is not set CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_PROC_CHILDREN=y CONFIG_PROC_PID_ARCH_STATUS=y CONFIG_KERNFS=y CONFIG_SYSFS=y CONFIG_TMPFS=y # CONFIG_TMPFS_POSIX_ACL is not set CONFIG_TMPFS_XATTR=y CONFIG_TMPFS_INODE64=y # CONFIG_HUGETLBFS is not set CONFIG_MEMFD_CREATE=y CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=y # end of Pseudo filesystems CONFIG_MISC_FILESYSTEMS=y # CONFIG_ORANGEFS_FS is not set CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set CONFIG_JFFS2_FS=m CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y # CONFIG_JFFS2_FS_WBUF_VERIFY is not set CONFIG_JFFS2_SUMMARY=y # CONFIG_JFFS2_FS_XATTR is not set CONFIG_JFFS2_COMPRESSION_OPTIONS=y # CONFIG_JFFS2_ZLIB is not set CONFIG_JFFS2_LZO=y CONFIG_JFFS2_RTIME=y # CONFIG_JFFS2_RUBIN is not set # CONFIG_JFFS2_CMODE_NONE is not set # CONFIG_JFFS2_CMODE_PRIORITY is not set CONFIG_JFFS2_CMODE_SIZE=y # CONFIG_JFFS2_CMODE_FAVOURLZO is not set CONFIG_UBIFS_FS=m CONFIG_UBIFS_FS_ADVANCED_COMPR=y # CONFIG_UBIFS_FS_LZO is not set CONFIG_UBIFS_FS_ZLIB=y CONFIG_UBIFS_FS_ZSTD=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_XATTR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y # CONFIG_CRAMFS is not set CONFIG_ROMFS_FS=m CONFIG_ROMFS_BACKED_BY_MTD=y CONFIG_ROMFS_ON_MTD=y CONFIG_PSTORE=m CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240 CONFIG_PSTORE_DEFLATE_COMPRESS=m CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_LZ4_COMPRESS=m CONFIG_PSTORE_LZ4HC_COMPRESS=m CONFIG_PSTORE_842_COMPRESS=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set CONFIG_PSTORE_COMPRESS=y # CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT is not set # CONFIG_PSTORE_LZO_COMPRESS_DEFAULT is not set CONFIG_PSTORE_LZ4_COMPRESS_DEFAULT=y # CONFIG_PSTORE_LZ4HC_COMPRESS_DEFAULT is not set # CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set CONFIG_PSTORE_COMPRESS_DEFAULT="lz4" CONFIG_PSTORE_CONSOLE=y # CONFIG_PSTORE_PMSG is not set CONFIG_PSTORE_FTRACE=y CONFIG_PSTORE_RAM=m # CONFIG_VBOXSF_FS is not set # CONFIG_NETWORK_FILESYSTEMS is not set CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_CODEPAGE_437 is not set # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set # CONFIG_NLS_CODEPAGE_852 is not set # CONFIG_NLS_CODEPAGE_855 is not set # CONFIG_NLS_CODEPAGE_857 is not set # CONFIG_NLS_CODEPAGE_860 is not set # CONFIG_NLS_CODEPAGE_861 is not set # CONFIG_NLS_CODEPAGE_862 is not set # CONFIG_NLS_CODEPAGE_863 is not set # CONFIG_NLS_CODEPAGE_864 is not set # CONFIG_NLS_CODEPAGE_865 is not set # CONFIG_NLS_CODEPAGE_866 is not set # CONFIG_NLS_CODEPAGE_869 is not set # CONFIG_NLS_CODEPAGE_936 is not set # CONFIG_NLS_CODEPAGE_950 is not set # CONFIG_NLS_CODEPAGE_932 is not set # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1250 is not set # CONFIG_NLS_CODEPAGE_1251 is not set # CONFIG_NLS_ASCII is not set # CONFIG_NLS_ISO8859_1 is not set # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set # CONFIG_NLS_ISO8859_5 is not set # CONFIG_NLS_ISO8859_6 is not set # CONFIG_NLS_ISO8859_7 is not set # CONFIG_NLS_ISO8859_9 is not set # CONFIG_NLS_ISO8859_13 is not set # CONFIG_NLS_ISO8859_14 is not set # CONFIG_NLS_ISO8859_15 is not set # CONFIG_NLS_KOI8_R is not set # CONFIG_NLS_KOI8_U is not set # CONFIG_NLS_MAC_ROMAN is not set # CONFIG_NLS_MAC_CELTIC is not set # CONFIG_NLS_MAC_CENTEURO is not set # CONFIG_NLS_MAC_CROATIAN is not set # CONFIG_NLS_MAC_CYRILLIC is not set # CONFIG_NLS_MAC_GAELIC is not set # CONFIG_NLS_MAC_GREEK is not set # CONFIG_NLS_MAC_ICELAND is not set # CONFIG_NLS_MAC_INUIT is not set # CONFIG_NLS_MAC_ROMANIAN is not set # CONFIG_NLS_MAC_TURKISH is not set # CONFIG_NLS_UTF8 is not set # CONFIG_DLM is not set # CONFIG_UNICODE is not set # end of File systems # # Security options # CONFIG_KEYS=y # CONFIG_KEYS_REQUEST_CACHE is not set CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_BIG_KEYS is not set CONFIG_TRUSTED_KEYS=m # CONFIG_ENCRYPTED_KEYS is not set CONFIG_KEY_DH_OPERATIONS=y # CONFIG_SECURITY_DMESG_RESTRICT is not set # CONFIG_SECURITY is not set # CONFIG_SECURITYFS is not set CONFIG_PAGE_TABLE_ISOLATION=y # CONFIG_FORTIFY_SOURCE is not set CONFIG_STATIC_USERMODEHELPER=y CONFIG_STATIC_USERMODEHELPER_PATH="/sbin/usermode-helper" CONFIG_DEFAULT_SECURITY_DAC=y CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf" # # Kernel hardening options # # # Memory initialization # CONFIG_INIT_STACK_NONE=y CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y CONFIG_INIT_ON_FREE_DEFAULT_ON=y # end of Memory initialization # end of Kernel hardening options # end of Security options CONFIG_CRYPTO=y # # Crypto core or helper # CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_SKCIPHER=y CONFIG_CRYPTO_SKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_RNG_DEFAULT=y CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_AKCIPHER=y CONFIG_CRYPTO_KPP2=y CONFIG_CRYPTO_KPP=y CONFIG_CRYPTO_ACOMP2=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y # CONFIG_CRYPTO_USER is not set CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y CONFIG_CRYPTO_CRYPTD=y CONFIG_CRYPTO_AUTHENC=y CONFIG_CRYPTO_TEST=y CONFIG_CRYPTO_SIMD=y # # Public-key cryptography # CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_DH=y # CONFIG_CRYPTO_ECDH is not set # CONFIG_CRYPTO_ECRDSA is not set # CONFIG_CRYPTO_SM2 is not set CONFIG_CRYPTO_CURVE25519=y # CONFIG_CRYPTO_CURVE25519_X86 is not set # # Authenticated Encryption with Associated Data # CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=y # CONFIG_CRYPTO_CHACHA20POLY1305 is not set CONFIG_CRYPTO_AEGIS128=y CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_ECHAINIV=m # # Block modes # CONFIG_CRYPTO_CBC=m # CONFIG_CRYPTO_CFB is not set CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_OFB=m CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=y CONFIG_CRYPTO_KEYWRAP=y CONFIG_CRYPTO_NHPOLY1305=y CONFIG_CRYPTO_NHPOLY1305_SSE2=y CONFIG_CRYPTO_NHPOLY1305_AVX2=y CONFIG_CRYPTO_ADIANTUM=m # CONFIG_CRYPTO_ESSIV is not set # # Hash modes # # CONFIG_CRYPTO_CMAC is not set CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=y # CONFIG_CRYPTO_VMAC is not set # # Digest # CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32C_INTEL=m CONFIG_CRYPTO_CRC32=m CONFIG_CRYPTO_CRC32_PCLMUL=y CONFIG_CRYPTO_XXHASH=m # CONFIG_CRYPTO_BLAKE2B is not set # CONFIG_CRYPTO_BLAKE2S is not set # CONFIG_CRYPTO_BLAKE2S_X86 is not set CONFIG_CRYPTO_CRCT10DIF=m # CONFIG_CRYPTO_CRCT10DIF_PCLMUL is not set CONFIG_CRYPTO_GHASH=y # CONFIG_CRYPTO_POLY1305 is not set CONFIG_CRYPTO_POLY1305_X86_64=y # CONFIG_CRYPTO_MD4 is not set CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=y CONFIG_CRYPTO_RMD128=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RMD256=m # CONFIG_CRYPTO_RMD320 is not set CONFIG_CRYPTO_SHA1=y # CONFIG_CRYPTO_SHA1_SSSE3 is not set CONFIG_CRYPTO_SHA256_SSSE3=y CONFIG_CRYPTO_SHA512_SSSE3=m CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_SHA3=m # CONFIG_CRYPTO_SM3 is not set CONFIG_CRYPTO_STREEBOG=m # CONFIG_CRYPTO_TGR192 is not set CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m # # Ciphers # CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_AES_TI=m CONFIG_CRYPTO_AES_NI_INTEL=y CONFIG_CRYPTO_ANUBIS=y CONFIG_CRYPTO_ARC4=y # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_BLOWFISH_X86_64 is not set CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAMELLIA_X86_64=y CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=y CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=y CONFIG_CRYPTO_CAST_COMMON=y CONFIG_CRYPTO_CAST5=y # CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set CONFIG_CRYPTO_CAST6=y # CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set # CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_DES3_EDE_X86_64 is not set CONFIG_CRYPTO_FCRYPT=y CONFIG_CRYPTO_KHAZAD=y # CONFIG_CRYPTO_SALSA20 is not set CONFIG_CRYPTO_CHACHA20=y CONFIG_CRYPTO_CHACHA20_X86_64=y # CONFIG_CRYPTO_SEED is not set CONFIG_CRYPTO_SERPENT=y CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m CONFIG_CRYPTO_SERPENT_AVX_X86_64=y # CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set # CONFIG_CRYPTO_SM4 is not set CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_TWOFISH_COMMON=y CONFIG_CRYPTO_TWOFISH_X86_64=y CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=y # CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set # # Compression # CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_LZO=m CONFIG_CRYPTO_842=m CONFIG_CRYPTO_LZ4=y CONFIG_CRYPTO_LZ4HC=y CONFIG_CRYPTO_ZSTD=m # # Random Number Generation # CONFIG_CRYPTO_ANSI_CPRNG=m CONFIG_CRYPTO_DRBG_MENU=y CONFIG_CRYPTO_DRBG_HMAC=y CONFIG_CRYPTO_DRBG_HASH=y # CONFIG_CRYPTO_DRBG_CTR is not set CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_USER_API=y # CONFIG_CRYPTO_USER_API_HASH is not set # CONFIG_CRYPTO_USER_API_SKCIPHER is not set # CONFIG_CRYPTO_USER_API_RNG is not set CONFIG_CRYPTO_USER_API_AEAD=y CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y CONFIG_CRYPTO_HASH_INFO=y # # Crypto library routines # CONFIG_CRYPTO_LIB_AES=y CONFIG_CRYPTO_LIB_ARC4=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_BLAKE2S=y CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y CONFIG_CRYPTO_LIB_CHACHA=y CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y # CONFIG_CRYPTO_LIB_CURVE25519 is not set CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y CONFIG_CRYPTO_LIB_POLY1305_GENERIC=y CONFIG_CRYPTO_LIB_POLY1305=y CONFIG_CRYPTO_LIB_CHACHA20POLY1305=y CONFIG_CRYPTO_LIB_SHA256=y # CONFIG_CRYPTO_HW is not set CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE=m CONFIG_X509_CERTIFICATE_PARSER=y CONFIG_PKCS8_PRIVATE_KEY_PARSER=y CONFIG_TPM_KEY_PARSER=m CONFIG_PKCS7_MESSAGE_PARSER=y CONFIG_PKCS7_TEST_KEY=m # CONFIG_SIGNED_PE_FILE_VERIFICATION is not set # # Certificates for signature checking # CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set CONFIG_SECONDARY_TRUSTED_KEYRING=y CONFIG_SYSTEM_BLACKLIST_KEYRING=y CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" # end of Certificates for signature checking CONFIG_BINARY_PRINTF=y # # Library routines # CONFIG_PACKING=y CONFIG_BITREVERSE=y CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GENERIC_NET_UTILS=y CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_CORDIC=y # CONFIG_PRIME_NUMBERS is not set CONFIG_RATIONAL=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_GENERIC_IOMAP=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_ARCH_HAS_FAST_MULTIPLIER=y CONFIG_ARCH_USE_SYM_ANNOTATIONS=y CONFIG_CRC_CCITT=y CONFIG_CRC16=y CONFIG_CRC_T10DIF=m CONFIG_CRC_ITU_T=y CONFIG_CRC32=y CONFIG_CRC32_SELFTEST=y # CONFIG_CRC32_SLICEBY8 is not set # CONFIG_CRC32_SLICEBY4 is not set # CONFIG_CRC32_SARWATE is not set CONFIG_CRC32_BIT=y # CONFIG_CRC64 is not set # CONFIG_CRC4 is not set CONFIG_CRC7=y CONFIG_LIBCRC32C=y CONFIG_CRC8=y CONFIG_XXHASH=y CONFIG_RANDOM32_SELFTEST=y CONFIG_842_COMPRESS=m CONFIG_842_DECOMPRESS=m CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_LZO_COMPRESS=m CONFIG_LZO_DECOMPRESS=m CONFIG_LZ4_COMPRESS=y CONFIG_LZ4HC_COMPRESS=y CONFIG_LZ4_DECOMPRESS=y CONFIG_ZSTD_COMPRESS=m CONFIG_ZSTD_DECOMPRESS=m CONFIG_XZ_DEC=y # CONFIG_XZ_DEC_X86 is not set CONFIG_XZ_DEC_POWERPC=y # CONFIG_XZ_DEC_IA64 is not set # CONFIG_XZ_DEC_ARM is not set # CONFIG_XZ_DEC_ARMTHUMB is not set # CONFIG_XZ_DEC_SPARC is not set CONFIG_XZ_DEC_BCJ=y # CONFIG_XZ_DEC_TEST is not set CONFIG_DECOMPRESS_GZIP=y CONFIG_DECOMPRESS_BZIP2=y CONFIG_DECOMPRESS_XZ=y CONFIG_DECOMPRESS_LZ4=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_REED_SOLOMON=m CONFIG_REED_SOLOMON_ENC8=y CONFIG_REED_SOLOMON_DEC8=y CONFIG_REED_SOLOMON_DEC16=y CONFIG_BCH=m CONFIG_TEXTSEARCH=y CONFIG_TEXTSEARCH_KMP=y CONFIG_TEXTSEARCH_BM=y CONFIG_TEXTSEARCH_FSM=y CONFIG_INTERVAL_TREE=y CONFIG_XARRAY_MULTI=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_DMA=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_SWIOTLB=y # CONFIG_DMA_CMA is not set # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_MAP_BENCHMARK is not set CONFIG_SGL_ALLOC=y CONFIG_DQL=y CONFIG_GLOB=y CONFIG_GLOB_SELFTEST=m CONFIG_NLATTR=y CONFIG_CLZ_TAB=y CONFIG_IRQ_POLL=y CONFIG_MPILIB=y CONFIG_DIMLIB=y CONFIG_OID_REGISTRY=y CONFIG_HAVE_GENERIC_VDSO=y CONFIG_GENERIC_GETTIMEOFDAY=y CONFIG_GENERIC_VDSO_TIME_NS=y CONFIG_ARCH_HAS_PMEM_API=y CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y CONFIG_ARCH_HAS_COPY_MC=y CONFIG_ARCH_STACKWALK=y CONFIG_STRING_SELFTEST=m # end of Library routines # # Kernel hacking # # # printk and dmesg options # CONFIG_PRINTK_TIME=y # CONFIG_PRINTK_CALLER is not set CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 CONFIG_CONSOLE_LOGLEVEL_QUIET=4 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 CONFIG_BOOT_PRINTK_DELAY=y CONFIG_DYNAMIC_DEBUG=y CONFIG_DYNAMIC_DEBUG_CORE=y CONFIG_SYMBOLIC_ERRNAME=y CONFIG_DEBUG_BUGVERBOSE=y # end of printk and dmesg options # # Compile-time checks and compiler options # CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO_REDUCED=y # CONFIG_DEBUG_INFO_COMPRESSED is not set # CONFIG_DEBUG_INFO_SPLIT is not set # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_GDB_SCRIPTS is not set CONFIG_FRAME_WARN=2048 # CONFIG_STRIP_ASM_SYMS is not set # CONFIG_READABLE_ASM is not set # CONFIG_HEADERS_INSTALL is not set CONFIG_DEBUG_SECTION_MISMATCH=y CONFIG_SECTION_MISMATCH_WARN_ONLY=y # CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set CONFIG_STACK_VALIDATION=y CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y # end of Compile-time checks and compiler options # # Generic Kernel Debugging Instruments # CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE="" CONFIG_DEBUG_FS=y # CONFIG_DEBUG_FS_ALLOW_ALL is not set # CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set CONFIG_DEBUG_FS_ALLOW_NONE=y CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y # CONFIG_UBSAN is not set CONFIG_HAVE_ARCH_KCSAN=y # end of Generic Kernel Debugging Instruments CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_MISC is not set # # Memory Debugging # # CONFIG_PAGE_EXTENSION is not set # CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_PAGE_OWNER is not set # CONFIG_PAGE_POISONING is not set CONFIG_DEBUG_PAGE_REF=y CONFIG_DEBUG_RODATA_TEST=y CONFIG_ARCH_HAS_DEBUG_WX=y # CONFIG_DEBUG_WX is not set CONFIG_GENERIC_PTDUMP=y CONFIG_PTDUMP_CORE=y CONFIG_PTDUMP_DEBUGFS=y # CONFIG_DEBUG_OBJECTS is not set CONFIG_HAVE_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KMEMLEAK is not set CONFIG_DEBUG_STACK_USAGE=y # CONFIG_SCHED_STACK_END_CHECK is not set CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y CONFIG_DEBUG_VM=y CONFIG_DEBUG_VM_VMACACHE=y # CONFIG_DEBUG_VM_RB is not set # CONFIG_DEBUG_VM_PGFLAGS is not set CONFIG_DEBUG_VM_PGTABLE=y CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y # CONFIG_DEBUG_VIRTUAL is not set # CONFIG_DEBUG_MEMORY_INIT is not set CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y # CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP is not set CONFIG_HAVE_ARCH_KASAN=y CONFIG_HAVE_ARCH_KASAN_VMALLOC=y CONFIG_CC_HAS_KASAN_GENERIC=y CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y CONFIG_HAVE_ARCH_KFENCE=y # end of Memory Debugging CONFIG_DEBUG_SHIRQ=y # # Debug Oops, Lockups and Hangs # # CONFIG_PANIC_ON_OOPS is not set CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 # CONFIG_SOFTLOCKUP_DETECTOR is not set CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y # CONFIG_HARDLOCKUP_DETECTOR is not set # CONFIG_DETECT_HUNG_TASK is not set # CONFIG_WQ_WATCHDOG is not set CONFIG_TEST_LOCKUP=m # end of Debug Oops, Lockups and Hangs # # Scheduler Debugging # CONFIG_SCHED_DEBUG=y CONFIG_SCHED_INFO=y CONFIG_SCHEDSTATS=y # end of Scheduler Debugging CONFIG_DEBUG_TIMEKEEPING=y CONFIG_DEBUG_PREEMPT=y # # Lock Debugging (spinlocks, mutexes, etc...) # CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_PROVE_LOCKING=y # CONFIG_PROVE_RAW_LOCK_NESTING is not set # CONFIG_LOCK_STAT is not set CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y CONFIG_DEBUG_RWSEMS=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_LOCKDEP=y # CONFIG_DEBUG_LOCKDEP is not set CONFIG_DEBUG_ATOMIC_SLEEP=y # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set CONFIG_LOCK_TORTURE_TEST=m CONFIG_WW_MUTEX_SELFTEST=y # CONFIG_SCF_TORTURE_TEST is not set # CONFIG_CSD_LOCK_WAIT_DEBUG is not set # end of Lock Debugging (spinlocks, mutexes, etc...) CONFIG_TRACE_IRQFLAGS=y CONFIG_TRACE_IRQFLAGS_NMI=y # CONFIG_DEBUG_IRQFLAGS is not set CONFIG_STACKTRACE=y CONFIG_WARN_ALL_UNSEEDED_RANDOM=y # CONFIG_DEBUG_KOBJECT is not set # # Debug kernel data structures # # CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_PLIST is not set # CONFIG_DEBUG_SG is not set CONFIG_DEBUG_NOTIFIERS=y # CONFIG_BUG_ON_DATA_CORRUPTION is not set # end of Debug kernel data structures # CONFIG_DEBUG_CREDENTIALS is not set # # RCU Debugging # CONFIG_PROVE_RCU=y CONFIG_TORTURE_TEST=m CONFIG_RCU_SCALE_TEST=m CONFIG_RCU_TORTURE_TEST=m # CONFIG_RCU_REF_SCALE_TEST is not set CONFIG_RCU_CPU_STALL_TIMEOUT=21 CONFIG_RCU_TRACE=y CONFIG_RCU_EQS_DEBUG=y # end of RCU Debugging # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set CONFIG_LATENCYTOP=y CONFIG_USER_STACKTRACE_SUPPORT=y CONFIG_NOP_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_FENTRY=y CONFIG_HAVE_C_RECORDMCOUNT=y CONFIG_TRACER_MAX_TRACE=y CONFIG_TRACE_CLOCK=y CONFIG_RING_BUFFER=y CONFIG_EVENT_TRACING=y CONFIG_CONTEXT_SWITCH_TRACER=y CONFIG_RING_BUFFER_ALLOW_SWAP=y CONFIG_PREEMPTIRQ_TRACEPOINTS=y CONFIG_TRACING=y CONFIG_GENERIC_TRACER=y CONFIG_TRACING_SUPPORT=y CONFIG_FTRACE=y CONFIG_BOOTTIME_TRACING=y CONFIG_FUNCTION_TRACER=y # CONFIG_FUNCTION_GRAPH_TRACER is not set CONFIG_DYNAMIC_FTRACE=y CONFIG_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y # CONFIG_FUNCTION_PROFILER is not set CONFIG_STACK_TRACER=y CONFIG_TRACE_PREEMPT_TOGGLE=y # CONFIG_IRQSOFF_TRACER is not set CONFIG_PREEMPT_TRACER=y CONFIG_SCHED_TRACER=y # CONFIG_HWLAT_TRACER is not set # CONFIG_MMIOTRACE is not set # CONFIG_FTRACE_SYSCALLS is not set CONFIG_TRACER_SNAPSHOT=y CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP=y CONFIG_TRACE_BRANCH_PROFILING=y # CONFIG_BRANCH_PROFILE_NONE is not set # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set CONFIG_PROFILE_ALL_BRANCHES=y # CONFIG_BRANCH_TRACER is not set CONFIG_KPROBE_EVENTS=y CONFIG_KPROBE_EVENTS_ON_NOTRACE=y # CONFIG_UPROBE_EVENTS is not set CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y CONFIG_PROBE_EVENTS=y # CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_FTRACE_MCOUNT_RECORD=y CONFIG_FTRACE_MCOUNT_USE_CC=y CONFIG_SYNTH_EVENTS=y # CONFIG_HIST_TRIGGERS is not set CONFIG_TRACE_EVENT_INJECT=y # CONFIG_TRACEPOINT_BENCHMARK is not set CONFIG_RING_BUFFER_BENCHMARK=y # CONFIG_TRACE_EVAL_MAP_FILE is not set CONFIG_FTRACE_RECORD_RECURSION=y CONFIG_FTRACE_RECORD_RECURSION_SIZE=128 CONFIG_RING_BUFFER_RECORD_RECURSION=y # CONFIG_FTRACE_STARTUP_TEST is not set # CONFIG_RING_BUFFER_STARTUP_TEST is not set CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS=y # CONFIG_PREEMPTIRQ_DELAY_TEST is not set CONFIG_SYNTH_EVENT_GEN_TEST=m CONFIG_KPROBE_EVENT_GEN_TEST=m # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set CONFIG_SAMPLES=y # CONFIG_SAMPLE_AUXDISPLAY is not set CONFIG_SAMPLE_TRACE_EVENTS=m CONFIG_SAMPLE_TRACE_PRINTK=m CONFIG_SAMPLE_FTRACE_DIRECT=m # CONFIG_SAMPLE_TRACE_ARRAY is not set CONFIG_SAMPLE_KOBJECT=y CONFIG_SAMPLE_KPROBES=m CONFIG_SAMPLE_KRETPROBES=m CONFIG_SAMPLE_HW_BREAKPOINT=m CONFIG_SAMPLE_KFIFO=m CONFIG_SAMPLE_RPMSG_CLIENT=m CONFIG_SAMPLE_LIVEPATCH=m # CONFIG_SAMPLE_CONFIGFS is not set # CONFIG_SAMPLE_VFIO_MDEV_MDPY_FB is not set CONFIG_SAMPLE_WATCHDOG=y CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y # # x86 Debugging # # CONFIG_DEBUG_AID_FOR_SYZBOT is not set CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y CONFIG_EARLY_PRINTK_USB=y CONFIG_X86_VERBOSE_BOOTUP=y CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_DEBUG_TLBFLUSH is not set CONFIG_HAVE_MMIOTRACE_SUPPORT=y # CONFIG_X86_DECODER_SELFTEST is not set # CONFIG_IO_DELAY_0X80 is not set # CONFIG_IO_DELAY_0XED is not set CONFIG_IO_DELAY_UDELAY=y # CONFIG_IO_DELAY_NONE is not set # CONFIG_DEBUG_BOOT_PARAMS is not set # CONFIG_CPA_DEBUG is not set # CONFIG_DEBUG_ENTRY is not set # CONFIG_DEBUG_NMI_SELFTEST is not set CONFIG_X86_DEBUG_FPU=y CONFIG_PUNIT_ATOM_DEBUG=y # CONFIG_UNWINDER_ORC is not set # CONFIG_UNWINDER_FRAME_POINTER is not set CONFIG_UNWINDER_GUESS=y # end of x86 Debugging # # Kernel Testing and Coverage # CONFIG_KUNIT=y # CONFIG_KUNIT_DEBUGFS is not set # CONFIG_KUNIT_TEST is not set CONFIG_KUNIT_EXAMPLE_TEST=m # CONFIG_KUNIT_ALL_TESTS is not set CONFIG_NOTIFIER_ERROR_INJECTION=m CONFIG_PM_NOTIFIER_ERROR_INJECT=m # CONFIG_NETDEV_NOTIFIER_ERROR_INJECT is not set CONFIG_FUNCTION_ERROR_INJECTION=y CONFIG_FAULT_INJECTION=y # CONFIG_FAIL_PAGE_ALLOC is not set # CONFIG_FAULT_INJECTION_USERCOPY is not set CONFIG_FAIL_FUTEX=y # CONFIG_FAULT_INJECTION_DEBUG_FS is not set CONFIG_ARCH_HAS_KCOV=y CONFIG_CC_HAS_SANCOV_TRACE_PC=y CONFIG_KCOV=y # CONFIG_KCOV_ENABLE_COMPARISONS is not set CONFIG_KCOV_INSTRUMENT_ALL=y CONFIG_KCOV_IRQ_AREA_SIZE=0x40000 # CONFIG_RUNTIME_TESTING_MENU is not set # CONFIG_MEMTEST is not set # end of Kernel Testing and Coverage # end of Kernel hacking #!/bin/sh export_top_env() { export suite='rcutorture' export testcase='rcutorture' export category='functional' export need_memory='300MB' export runtime=300 export job_origin='/db/releases/20210203155931/lkp-src/allot/rand/vm-snb/rcutorture.yaml' export queue_cmdline_keys='branch commit queue_at_least_once' export queue='validate' export testbox='vm-snb-45' export tbox_group='vm-snb' export branch='linux-review/Yang-Shi/Make-shrinker-s-nr_deferred-memcg-aware/20210204-012207' export commit='3510a44e0edaff61742421af22300d489765f018' export kconfig='x86_64-randconfig-a012-20210202' export repeat_to=4 export nr_vm=160 export submit_id='601bb9805706067a7e4125b2' export job_file='/lkp/jobs/scheduled/vm-snb-45/rcutorture-300s-default-srcu-debian-10.4-x86_64-20200603.cgz-3510a44e0edaff61742421af22300d489765f018-20210204-31358-1dzzy3d-2.yaml' export id='4e0f94c6a9d85c41fa4ac53fb0010b527a4d8eb4' export queuer_version='/lkp-src' export model='qemu-system-x86_64 -enable-kvm -cpu SandyBridge' export nr_cpu=2 export memory='8G' export need_kconfig='CONFIG_RCU_TORTURE_TEST=m CONFIG_SECURITY_LOADPIN_ENABLED=n ~ "<= v4.19" CONFIG_SECURITY_LOADPIN_ENFORCE=n ~ ">= v4.20" CONFIG_KVM_GUEST=y' export ssh_base_port=23032 export kernel_cmdline='vmalloc=512M' export rootfs='debian-10.4-x86_64-20200603.cgz' export compiler='gcc-9' export enqueue_time='2021-02-04 17:08:17 +0800' export _id='601bb9805706067a7e4125b2' export _rt='/result/rcutorture/300s-default-srcu/vm-snb/debian-10.4-x86_64-20200603.cgz/x86_64-randconfig-a012-20210202/gcc-9/3510a44e0edaff61742421af22300d489765f018' export user='lkp' export LKP_SERVER='internal-lkp-server' export result_root='/result/rcutorture/300s-default-srcu/vm-snb/debian-10.4-x86_64-20200603.cgz/x86_64-randconfig-a012-20210202/gcc-9/3510a44e0edaff61742421af22300d489765f018/3' export scheduler_version='/lkp/lkp/src' export arch='x86_64' export max_uptime=2100 export initrd='/osimage/debian/debian-10.4-x86_64-20200603.cgz' export bootloader_append='root=/dev/ram0 user=lkp job=/lkp/jobs/scheduled/vm-snb-45/rcutorture-300s-default-srcu-debian-10.4-x86_64-20200603.cgz-3510a44e0edaff61742421af22300d489765f018-20210204-31358-1dzzy3d-2.yaml ARCH=x86_64 kconfig=x86_64-randconfig-a012-20210202 branch=linux-review/Yang-Shi/Make-shrinker-s-nr_deferred-memcg-aware/20210204-012207 commit=3510a44e0edaff61742421af22300d489765f018 BOOT_IMAGE=/pkg/linux/x86_64-randconfig-a012-20210202/gcc-9/3510a44e0edaff61742421af22300d489765f018/vmlinuz-5.11.0-rc4-next-20210125-00008-g3510a44e0eda vmalloc=512M max_uptime=2100 RESULT_ROOT=/result/rcutorture/300s-default-srcu/vm-snb/debian-10.4-x86_64-20200603.cgz/x86_64-randconfig-a012-20210202/gcc-9/3510a44e0edaff61742421af22300d489765f018/3 LKP_SERVER=internal-lkp-server selinux=0 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 net.ifnames=0 printk.devkmsg=on panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 drbd.minor_count=8 systemd.log_level=err ignore_loglevel console=tty0 earlyprintk=ttyS0,115200 console=ttyS0,115200 vga=normal rw' export modules_initrd='/pkg/linux/x86_64-randconfig-a012-20210202/gcc-9/3510a44e0edaff61742421af22300d489765f018/modules.cgz' export bm_initrd='/osimage/deps/debian-10.4-x86_64-20200603.cgz/lkp_20201211.cgz,/osimage/deps/debian-10.4-x86_64-20200603.cgz/run-ipconfig_20200608.cgz,/osimage/deps/debian-10.4-x86_64-20200603.cgz/rsync-rootfs_20200608.cgz' export lkp_initrd='/osimage/user/lkp/lkp-x86_64.cgz' export site='1c28919a70af' export queue_at_least_once=1 export kernel='/pkg/linux/x86_64-randconfig-a012-20210202/gcc-9/3510a44e0edaff61742421af22300d489765f018/vmlinuz-5.11.0-rc4-next-20210125-00008-g3510a44e0eda' export dequeue_time='2021-02-04 17:08:32 +0800' export job_initrd='/lkp/jobs/scheduled/vm-snb-45/rcutorture-300s-default-srcu-debian-10.4-x86_64-20200603.cgz-3510a44e0edaff61742421af22300d489765f018-20210204-31358-1dzzy3d-2.cgz' [ -n "$LKP_SRC" ] || export LKP_SRC=/lkp/${user:-lkp}/src } run_job() { echo $$ > $TMP/run-job.pid . $LKP_SRC/lib/http.sh . $LKP_SRC/lib/job.sh . $LKP_SRC/lib/env.sh export_top_env run_monitor $LKP_SRC/monitors/wrapper kmsg run_monitor $LKP_SRC/monitors/wrapper heartbeat run_monitor $LKP_SRC/monitors/wrapper meminfo run_test test='default' torture_type='srcu' $LKP_SRC/tests/wrapper rcutorture } extract_stats() { export stats_part_begin= export stats_part_end= env test='default' torture_type='srcu' $LKP_SRC/stats/wrapper rcutorture $LKP_SRC/stats/wrapper kmsg $LKP_SRC/stats/wrapper meminfo $LKP_SRC/stats/wrapper time rcutorture.time $LKP_SRC/stats/wrapper dmesg $LKP_SRC/stats/wrapper kmsg $LKP_SRC/stats/wrapper last_state $LKP_SRC/stats/wrapper stderr $LKP_SRC/stats/wrapper time } "$@" 2021-02-04 09:24:01 modprobe rcutorture torture_type=srcu 2021-02-04 09:24:11 sleep 300 2021-02-04 09:29:12 rmmod rcutorture [ 887.435293] srcu-torture:--- Start of test: nreaders=1 nfakewriters=4 stat_interval=60 verbose=1 test_no_idle_hz=1 shuffle_interval=3 stutter=5 irqreader=1 fqs_duration=0 fqs_holdoff=0 fqs_stutter=3 test_boost=1/0 test_boost_interval=7 test_boost_duration=4 shutdown_secs=0 stall_cpu=0 stall_cpu_holdoff=10 stall_cpu_irqsoff=0 stall_cpu_block=0 n_barrier_cbs=0 onoff_interval=0 onoff_holdoff=0 read_exit_delay=13 read_exit_burst=16 nocbs_nthreads=0 nocbs_toggle=1000 [ 888.902086] srcu-torture: Creating rcu_torture_writer task [ 889.196529] srcu-torture: rcu_torture_writer task started [ 889.259342] srcu-torture: Creating rcu_torture_fakewriter task [ 889.581940] srcu-torture: Creating rcu_torture_fakewriter task [ 889.594950] srcu-torture: rcu_torture_fakewriter task started [ 889.813507] srcu-torture: Creating rcu_torture_fakewriter task [ 889.832287] srcu-torture: rcu_torture_fakewriter task started [ 890.065220] srcu-torture: Creating rcu_torture_fakewriter task [ 890.079063] srcu-torture: rcu_torture_fakewriter task started [ 890.266002] srcu-torture: Creating rcu_torture_reader task [ 890.291727] srcu-torture: rcu_torture_fakewriter task started [ 890.470196] srcu-torture: Creating rcu_torture_stats task [ 890.483626] srcu-torture: rcu_torture_reader task started [ 890.691826] srcu-torture: Creating torture_shuffle task [ 890.702219] srcu-torture: rcu_torture_stats task started [ 890.763201] srcu-torture: Creating torture_stutter task [ 890.773840] srcu-torture: torture_shuffle task started [ 890.851379] srcu-torture: torture_stutter task started [ 890.860264] srcu-torture: rcu_torture_fwd_prog_init: Disabled, unsupported by RCU flavor under test [ 891.125783] srcu-torture: Creating rcu_torture_read_exit task [ 891.397529] srcu-torture: rcu_torture_read_exit: Start of test [ 897.811315] srcu-torture: rcu_torture_read_exit: End of episode [ 914.731574] srcu-torture: rcu_torture_read_exit: Start of episode [ 920.371502] srcu-torture: rcu_torture_read_exit: End of episode [ 935.851066] srcu-torture: rcu_torture_read_exit: Start of episode [ 938.892169] srcu-torture: rcu_torture_read_exit: End of episode [ 954.091389] srcu-torture: rcu_torture_read_exit: Start of episode [ 955.931421] srcu-torture: rtc: 00000000fd628c57 ver: 277 tfle: 0 rta: 277 rtaf: 0 rtf: 268 rtmbe: 0 rtmbkf: 0/0 rtbe: 0 rtbke: 0 rtbre: 0 rtbf: 0 rtb: 0 nt: 29 barrier: 0/0:0 read-exits: 50 nocb-toggles: 0:0 [ 956.111456] srcu-torture: Reader Pipe: 5384 0 0 0 0 0 0 0 0 0 0 [ 956.171314] srcu-torture: Reader Batch: 5380 4 0 0 0 0 0 0 0 0 0 [ 956.178360] srcu-torture: Free-Block Circulation: 279 277 276 275 274 273 272 271 270 269 0 [ 956.291625] rcu: srcu-torture: Tree SRCU g2914 per-CPU(idx=1): 0(1,0 C) T(1,0) [ 957.891206] srcu-torture: rcu_torture_read_exit: End of episode [ 973.851737] srcu-torture: rcu_torture_read_exit: Start of episode [ 979.032736] srcu-torture: rcu_torture_read_exit: End of episode [ 994.171238] srcu-torture: rcu_torture_read_exit: Start of episode [ 998.171441] srcu-torture: rcu_torture_read_exit: End of episode [ 1013.932086] srcu-torture: rcu_torture_read_exit: Start of episode [ 1017.372669] srcu-torture: rtc: 0000000078917644 ver: 440 tfle: 0 rta: 441 rtaf: 0 rtf: 431 rtmbe: 0 rtmbkf: 0/0 rtbe: 0 rtbke: 0 rtbre: 0 rtbf: 0 rtb: 0 nt: 54 barrier: 0/0:0 read-exits: 114 nocb-toggles: 0:0 [ 1017.491996] srcu-torture: Reader Pipe: 11100 2 0 0 0 0 0 0 0 0 0 [ 1017.554259] srcu-torture: Reader Batch: 11094 8 0 0 0 0 0 0 0 0 0 [ 1017.641599] srcu-torture: Free-Block Circulation: 443 442 441 440 439 438 437 436 435 434 0 [ 1017.721135] rcu: srcu-torture: Tree SRCU g4682 per-CPU(idx=1): 0(0,0 C) T(0,0) [ 1017.982446] srcu-torture: rcu_torture_read_exit: End of episode [ 1034.811218] srcu-torture: rcu_torture_read_exit: Start of episode [ 1038.631416] srcu-torture: rcu_torture_read_exit: End of episode [ 1053.932251] srcu-torture: rcu_torture_read_exit: Start of episode [ 1058.181300] srcu-torture: rcu_torture_read_exit: End of episode [ 1074.571803] srcu-torture: rcu_torture_read_exit: Start of episode [ 1077.731661] srcu-torture: rcu_torture_read_exit: End of episode [ 1078.811859] srcu-torture: rtc: 00000000187eb42b ver: 765 tfle: 0 rta: 766 rtaf: 0 rtf: 756 rtmbe: 0 rtmbkf: 0/0 rtbe: 0 rtbke: 0 rtbre: 0 rtbf: 0 rtb: 0 nt: 80 barrier: 0/0:0 read-exits: 169 nocb-toggles: 0:0 [ 1078.961619] srcu-torture: Reader Pipe: 16630 3 0 0 0 0 0 0 0 0 0 [ 1079.031260] srcu-torture: Reader Batch: 16619 14 0 0 0 0 0 0 0 0 0 [ 1079.091022] srcu-torture: Free-Block Circulation: 765 764 763 762 761 760 759 758 757 756 0 [ 1079.151659] rcu: srcu-torture: Tree SRCU g7754 per-CPU(idx=1): 0(1,0 C) T(1,0) [ 1093.478324] srcu-torture: rcu_torture_read_exit: Start of episode [ 1099.281390] srcu-torture: rcu_torture_read_exit: End of episode [ 1114.491942] srcu-torture: rcu_torture_read_exit: Start of episode [ 1117.638727] srcu-torture: rcu_torture_read_exit: End of episode [ 1132.172162] srcu-torture: rcu_torture_read_exit: Start of episode [ 1138.031882] srcu-torture: rcu_torture_read_exit: End of episode [ 1140.251586] srcu-torture: rtc: 00000000807eff5c ver: 969 tfle: 0 rta: 970 rtaf: 0 rtf: 955 rtmbe: 0 rtmbkf: 0/0 rtbe: 0 rtbke: 0 rtbre: 0 rtbf: 0 rtb: 0 nt: 114 barrier: 0/0:0 read-exits: 220 nocb-toggles: 0:0 [ 1140.411113] srcu-torture: Reader Pipe: 24322 6 0 0 0 0 0 0 0 0 0 [ 1140.491153] srcu-torture: Reader Batch: 24308 20 0 0 0 0 0 0 0 0 0 [ 1140.561790] srcu-torture: Free-Block Circulation: 969 968 966 965 964 963 962 960 956 955 0 [ 1140.651058] rcu: srcu-torture: Tree SRCU g9914 per-CPU(idx=1): 0(1,0 C) T(1,0) [ 1153.221642] srcu-torture: rcu_torture_read_exit: Start of episode [ 1158.613122] srcu-torture: rcu_torture_read_exit: End of episode [ 1172.981782] srcu-torture: rcu_torture_read_exit: Start of episode [ 1177.543368] srcu-torture: rcu_torture_read_exit: End of episode [ 1192.011342] srcu-torture: rcu_torture_read_exit: Start of episode
On 04.02.2021 20:23, Yang Shi wrote: > On Thu, Feb 4, 2021 at 12:42 AM Kirill Tkhai <ktkhai@virtuozzo.com> wrote: >> >> On 03.02.2021 20:20, Yang Shi wrote: >>> Use per memcg's nr_deferred for memcg aware shrinkers. The shrinker's nr_deferred >>> will be used in the following cases: >>> 1. Non memcg aware shrinkers >>> 2. !CONFIG_MEMCG >>> 3. memcg is disabled by boot parameter >>> >>> Signed-off-by: Yang Shi <shy828301@gmail.com> >>> --- >>> mm/vmscan.c | 94 +++++++++++++++++++++++++++++++++++++++++++---------- >>> 1 file changed, 77 insertions(+), 17 deletions(-) >>> >>> diff --git a/mm/vmscan.c b/mm/vmscan.c >>> index d9126f12890f..545422d2aeec 100644 >>> --- a/mm/vmscan.c >>> +++ b/mm/vmscan.c >>> @@ -190,6 +190,13 @@ static int shrinker_nr_max; >>> #define NR_MAX_TO_SHR_MAP_SIZE(nr_max) \ >>> (DIV_ROUND_UP(nr_max, BITS_PER_LONG) * sizeof(unsigned long)) >>> >>> +static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg, >>> + int nid) >>> +{ >>> + return rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info, >>> + lockdep_is_held(&shrinker_rwsem)); >>> +} >> >> Thanks for the helper. Why not to introduce and become to use it in old places >> in a separate patch? > > What do you mean about "old places"? Where was it introduced in v5 (in > patch #10)? I mean existing places touched by this patch, which became to use the new helper in this patch: free_shrinker_info(), expand_one_shrinker_info(), shrink_slab_memcg(). >> >>> + >>> static void free_shrinker_info_rcu(struct rcu_head *head) >>> { >>> kvfree(container_of(head, struct shrinker_info, rcu)); >>> @@ -204,8 +211,7 @@ static int expand_one_shrinker_info(struct mem_cgroup *memcg, >>> int size = m_size + d_size; >>> >>> for_each_node(nid) { >>> - old = rcu_dereference_protected( >>> - mem_cgroup_nodeinfo(memcg, nid)->shrinker_info, true); >>> + old = shrinker_info_protected(memcg, nid); >>> /* Not yet online memcg */ >>> if (!old) >>> return 0; >>> @@ -239,7 +245,7 @@ void free_shrinker_info(struct mem_cgroup *memcg) >>> >>> for_each_node(nid) { >>> pn = mem_cgroup_nodeinfo(memcg, nid); >>> - info = rcu_dereference_protected(pn->shrinker_info, true); >>> + info = shrinker_info_protected(memcg, nid); >>> kvfree(info); >>> rcu_assign_pointer(pn->shrinker_info, NULL); >>> } >>> @@ -358,6 +364,25 @@ static void unregister_memcg_shrinker(struct shrinker *shrinker) >>> up_write(&shrinker_rwsem); >>> } >>> >>> + >>> +static long count_nr_deferred_memcg(int nid, struct shrinker *shrinker, >>> + struct mem_cgroup *memcg) >>> +{ >>> + struct shrinker_info *info; >>> + >>> + info = shrinker_info_protected(memcg, nid); >>> + return atomic_long_xchg(&info->nr_deferred[shrinker->id], 0); >>> +} >>> + >>> +static long set_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker, >>> + struct mem_cgroup *memcg) >>> +{ >>> + struct shrinker_info *info; >>> + >>> + info = shrinker_info_protected(memcg, nid); >>> + return atomic_long_add_return(nr, &info->nr_deferred[shrinker->id]); >>> +} >> >> Names confuse me a little bit. What about xchg_nr_deferred_memcg() and add_nr_deferred_memcg()? > > add_nr_deferred_memcg() sounds more self-explained to me. > >> >>> static bool cgroup_reclaim(struct scan_control *sc) >>> { >>> return sc->target_mem_cgroup; >>> @@ -396,6 +421,18 @@ static void unregister_memcg_shrinker(struct shrinker *shrinker) >>> { >>> } >>> >>> +static long count_nr_deferred_memcg(int nid, struct shrinker *shrinker, >>> + struct mem_cgroup *memcg) >>> +{ >>> + return 0; >>> +} >>> + >>> +static long set_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker, >>> + struct mem_cgroup *memcg) >>> +{ >>> + return 0; >>> +} >>> + >>> static bool cgroup_reclaim(struct scan_control *sc) >>> { >>> return false; >>> @@ -407,6 +444,39 @@ static bool writeback_throttling_sane(struct scan_control *sc) >>> } >>> #endif >>> >>> +static long count_nr_deferred(struct shrinker *shrinker, >>> + struct shrink_control *sc) >>> +{ >>> + int nid = sc->nid; >>> + >>> + if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) >>> + nid = 0; >>> + >>> + if (sc->memcg && >>> + (shrinker->flags & SHRINKER_MEMCG_AWARE)) >>> + return count_nr_deferred_memcg(nid, shrinker, >>> + sc->memcg); >>> + >>> + return atomic_long_xchg(&shrinker->nr_deferred[nid], 0); >>> +} >>> + >>> + >>> +static long set_nr_deferred(long nr, struct shrinker *shrinker, >>> + struct shrink_control *sc) >>> +{ >>> + int nid = sc->nid; >>> + >>> + if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) >>> + nid = 0; >>> + >>> + if (sc->memcg && >>> + (shrinker->flags & SHRINKER_MEMCG_AWARE)) >>> + return set_nr_deferred_memcg(nr, nid, shrinker, >>> + sc->memcg); >>> + >>> + return atomic_long_add_return(nr, &shrinker->nr_deferred[nid]); >>> +} >>> + >>> /* >>> * This misses isolated pages which are not accounted for to save counters. >>> * As the data only determines if reclaim or compaction continues, it is >>> @@ -539,14 +609,10 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, >>> long freeable; >>> long nr; >>> long new_nr; >>> - int nid = shrinkctl->nid; >>> long batch_size = shrinker->batch ? shrinker->batch >>> : SHRINK_BATCH; >>> long scanned = 0, next_deferred; >>> >>> - if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) >>> - nid = 0; >>> - >>> freeable = shrinker->count_objects(shrinker, shrinkctl); >>> if (freeable == 0 || freeable == SHRINK_EMPTY) >>> return freeable; >>> @@ -556,7 +622,7 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, >>> * and zero it so that other concurrent shrinker invocations >>> * don't also do this scanning work. >>> */ >>> - nr = atomic_long_xchg(&shrinker->nr_deferred[nid], 0); >>> + nr = count_nr_deferred(shrinker, shrinkctl); >>> >>> total_scan = nr; >>> if (shrinker->seeks) { >>> @@ -647,14 +713,9 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, >>> next_deferred = 0; >>> /* >>> * move the unused scan count back into the shrinker in a >>> - * manner that handles concurrent updates. If we exhausted the >>> - * scan, there is no need to do an update. >>> + * manner that handles concurrent updates. >>> */ >>> - if (next_deferred > 0) >>> - new_nr = atomic_long_add_return(next_deferred, >>> - &shrinker->nr_deferred[nid]); >>> - else >>> - new_nr = atomic_long_read(&shrinker->nr_deferred[nid]); >>> + new_nr = set_nr_deferred(next_deferred, shrinker, shrinkctl); >>> >>> trace_mm_shrink_slab_end(shrinker, shrinkctl->nid, freed, nr, new_nr, total_scan); >>> return freed; >>> @@ -674,8 +735,7 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid, >>> if (!down_read_trylock(&shrinker_rwsem)) >>> return 0; >>> >>> - info = rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info, >>> - true); >>> + info = shrinker_info_protected(memcg, nid); >>> if (unlikely(!info)) >>> goto unlock; >>> >>> >> >>
On Fri, Feb 5, 2021 at 6:42 AM Kirill Tkhai <ktkhai@virtuozzo.com> wrote: > > On 04.02.2021 20:23, Yang Shi wrote: > > On Thu, Feb 4, 2021 at 12:42 AM Kirill Tkhai <ktkhai@virtuozzo.com> wrote: > >> > >> On 03.02.2021 20:20, Yang Shi wrote: > >>> Use per memcg's nr_deferred for memcg aware shrinkers. The shrinker's nr_deferred > >>> will be used in the following cases: > >>> 1. Non memcg aware shrinkers > >>> 2. !CONFIG_MEMCG > >>> 3. memcg is disabled by boot parameter > >>> > >>> Signed-off-by: Yang Shi <shy828301@gmail.com> > >>> --- > >>> mm/vmscan.c | 94 +++++++++++++++++++++++++++++++++++++++++++---------- > >>> 1 file changed, 77 insertions(+), 17 deletions(-) > >>> > >>> diff --git a/mm/vmscan.c b/mm/vmscan.c > >>> index d9126f12890f..545422d2aeec 100644 > >>> --- a/mm/vmscan.c > >>> +++ b/mm/vmscan.c > >>> @@ -190,6 +190,13 @@ static int shrinker_nr_max; > >>> #define NR_MAX_TO_SHR_MAP_SIZE(nr_max) \ > >>> (DIV_ROUND_UP(nr_max, BITS_PER_LONG) * sizeof(unsigned long)) > >>> > >>> +static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg, > >>> + int nid) > >>> +{ > >>> + return rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info, > >>> + lockdep_is_held(&shrinker_rwsem)); > >>> +} > >> > >> Thanks for the helper. Why not to introduce and become to use it in old places > >> in a separate patch? > > > > What do you mean about "old places"? Where was it introduced in v5 (in > > patch #10)? > > I mean existing places touched by this patch, which became to use the new helper > in this patch: free_shrinker_info(), expand_one_shrinker_info(), shrink_slab_memcg(). Aha, I see. So, you mean add the helper before in a separate patch. Right after patch #5 (which rename shrinker_map to shrinker_info) should be a good place. > > >> > >>> + > >>> static void free_shrinker_info_rcu(struct rcu_head *head) > >>> { > >>> kvfree(container_of(head, struct shrinker_info, rcu)); > >>> @@ -204,8 +211,7 @@ static int expand_one_shrinker_info(struct mem_cgroup *memcg, > >>> int size = m_size + d_size; > >>> > >>> for_each_node(nid) { > >>> - old = rcu_dereference_protected( > >>> - mem_cgroup_nodeinfo(memcg, nid)->shrinker_info, true); > >>> + old = shrinker_info_protected(memcg, nid); > >>> /* Not yet online memcg */ > >>> if (!old) > >>> return 0; > >>> @@ -239,7 +245,7 @@ void free_shrinker_info(struct mem_cgroup *memcg) > >>> > >>> for_each_node(nid) { > >>> pn = mem_cgroup_nodeinfo(memcg, nid); > >>> - info = rcu_dereference_protected(pn->shrinker_info, true); > >>> + info = shrinker_info_protected(memcg, nid); > >>> kvfree(info); > >>> rcu_assign_pointer(pn->shrinker_info, NULL); > >>> } > >>> @@ -358,6 +364,25 @@ static void unregister_memcg_shrinker(struct shrinker *shrinker) > >>> up_write(&shrinker_rwsem); > >>> } > >>> > >>> + > >>> +static long count_nr_deferred_memcg(int nid, struct shrinker *shrinker, > >>> + struct mem_cgroup *memcg) > >>> +{ > >>> + struct shrinker_info *info; > >>> + > >>> + info = shrinker_info_protected(memcg, nid); > >>> + return atomic_long_xchg(&info->nr_deferred[shrinker->id], 0); > >>> +} > >>> + > >>> +static long set_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker, > >>> + struct mem_cgroup *memcg) > >>> +{ > >>> + struct shrinker_info *info; > >>> + > >>> + info = shrinker_info_protected(memcg, nid); > >>> + return atomic_long_add_return(nr, &info->nr_deferred[shrinker->id]); > >>> +} > >> > >> Names confuse me a little bit. What about xchg_nr_deferred_memcg() and add_nr_deferred_memcg()? > > > > add_nr_deferred_memcg() sounds more self-explained to me. > > > >> > >>> static bool cgroup_reclaim(struct scan_control *sc) > >>> { > >>> return sc->target_mem_cgroup; > >>> @@ -396,6 +421,18 @@ static void unregister_memcg_shrinker(struct shrinker *shrinker) > >>> { > >>> } > >>> > >>> +static long count_nr_deferred_memcg(int nid, struct shrinker *shrinker, > >>> + struct mem_cgroup *memcg) > >>> +{ > >>> + return 0; > >>> +} > >>> + > >>> +static long set_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker, > >>> + struct mem_cgroup *memcg) > >>> +{ > >>> + return 0; > >>> +} > >>> + > >>> static bool cgroup_reclaim(struct scan_control *sc) > >>> { > >>> return false; > >>> @@ -407,6 +444,39 @@ static bool writeback_throttling_sane(struct scan_control *sc) > >>> } > >>> #endif > >>> > >>> +static long count_nr_deferred(struct shrinker *shrinker, > >>> + struct shrink_control *sc) > >>> +{ > >>> + int nid = sc->nid; > >>> + > >>> + if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) > >>> + nid = 0; > >>> + > >>> + if (sc->memcg && > >>> + (shrinker->flags & SHRINKER_MEMCG_AWARE)) > >>> + return count_nr_deferred_memcg(nid, shrinker, > >>> + sc->memcg); > >>> + > >>> + return atomic_long_xchg(&shrinker->nr_deferred[nid], 0); > >>> +} > >>> + > >>> + > >>> +static long set_nr_deferred(long nr, struct shrinker *shrinker, > >>> + struct shrink_control *sc) > >>> +{ > >>> + int nid = sc->nid; > >>> + > >>> + if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) > >>> + nid = 0; > >>> + > >>> + if (sc->memcg && > >>> + (shrinker->flags & SHRINKER_MEMCG_AWARE)) > >>> + return set_nr_deferred_memcg(nr, nid, shrinker, > >>> + sc->memcg); > >>> + > >>> + return atomic_long_add_return(nr, &shrinker->nr_deferred[nid]); > >>> +} > >>> + > >>> /* > >>> * This misses isolated pages which are not accounted for to save counters. > >>> * As the data only determines if reclaim or compaction continues, it is > >>> @@ -539,14 +609,10 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, > >>> long freeable; > >>> long nr; > >>> long new_nr; > >>> - int nid = shrinkctl->nid; > >>> long batch_size = shrinker->batch ? shrinker->batch > >>> : SHRINK_BATCH; > >>> long scanned = 0, next_deferred; > >>> > >>> - if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) > >>> - nid = 0; > >>> - > >>> freeable = shrinker->count_objects(shrinker, shrinkctl); > >>> if (freeable == 0 || freeable == SHRINK_EMPTY) > >>> return freeable; > >>> @@ -556,7 +622,7 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, > >>> * and zero it so that other concurrent shrinker invocations > >>> * don't also do this scanning work. > >>> */ > >>> - nr = atomic_long_xchg(&shrinker->nr_deferred[nid], 0); > >>> + nr = count_nr_deferred(shrinker, shrinkctl); > >>> > >>> total_scan = nr; > >>> if (shrinker->seeks) { > >>> @@ -647,14 +713,9 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, > >>> next_deferred = 0; > >>> /* > >>> * move the unused scan count back into the shrinker in a > >>> - * manner that handles concurrent updates. If we exhausted the > >>> - * scan, there is no need to do an update. > >>> + * manner that handles concurrent updates. > >>> */ > >>> - if (next_deferred > 0) > >>> - new_nr = atomic_long_add_return(next_deferred, > >>> - &shrinker->nr_deferred[nid]); > >>> - else > >>> - new_nr = atomic_long_read(&shrinker->nr_deferred[nid]); > >>> + new_nr = set_nr_deferred(next_deferred, shrinker, shrinkctl); > >>> > >>> trace_mm_shrink_slab_end(shrinker, shrinkctl->nid, freed, nr, new_nr, total_scan); > >>> return freed; > >>> @@ -674,8 +735,7 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid, > >>> if (!down_read_trylock(&shrinker_rwsem)) > >>> return 0; > >>> > >>> - info = rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info, > >>> - true); > >>> + info = shrinker_info_protected(memcg, nid); > >>> if (unlikely(!info)) > >>> goto unlock; > >>> > >>> > >> > >> > >
diff --git a/mm/vmscan.c b/mm/vmscan.c index d9126f12890f..545422d2aeec 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -190,6 +190,13 @@ static int shrinker_nr_max; #define NR_MAX_TO_SHR_MAP_SIZE(nr_max) \ (DIV_ROUND_UP(nr_max, BITS_PER_LONG) * sizeof(unsigned long)) +static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg, + int nid) +{ + return rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info, + lockdep_is_held(&shrinker_rwsem)); +} + static void free_shrinker_info_rcu(struct rcu_head *head) { kvfree(container_of(head, struct shrinker_info, rcu)); @@ -204,8 +211,7 @@ static int expand_one_shrinker_info(struct mem_cgroup *memcg, int size = m_size + d_size; for_each_node(nid) { - old = rcu_dereference_protected( - mem_cgroup_nodeinfo(memcg, nid)->shrinker_info, true); + old = shrinker_info_protected(memcg, nid); /* Not yet online memcg */ if (!old) return 0; @@ -239,7 +245,7 @@ void free_shrinker_info(struct mem_cgroup *memcg) for_each_node(nid) { pn = mem_cgroup_nodeinfo(memcg, nid); - info = rcu_dereference_protected(pn->shrinker_info, true); + info = shrinker_info_protected(memcg, nid); kvfree(info); rcu_assign_pointer(pn->shrinker_info, NULL); } @@ -358,6 +364,25 @@ static void unregister_memcg_shrinker(struct shrinker *shrinker) up_write(&shrinker_rwsem); } + +static long count_nr_deferred_memcg(int nid, struct shrinker *shrinker, + struct mem_cgroup *memcg) +{ + struct shrinker_info *info; + + info = shrinker_info_protected(memcg, nid); + return atomic_long_xchg(&info->nr_deferred[shrinker->id], 0); +} + +static long set_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker, + struct mem_cgroup *memcg) +{ + struct shrinker_info *info; + + info = shrinker_info_protected(memcg, nid); + return atomic_long_add_return(nr, &info->nr_deferred[shrinker->id]); +} + static bool cgroup_reclaim(struct scan_control *sc) { return sc->target_mem_cgroup; @@ -396,6 +421,18 @@ static void unregister_memcg_shrinker(struct shrinker *shrinker) { } +static long count_nr_deferred_memcg(int nid, struct shrinker *shrinker, + struct mem_cgroup *memcg) +{ + return 0; +} + +static long set_nr_deferred_memcg(long nr, int nid, struct shrinker *shrinker, + struct mem_cgroup *memcg) +{ + return 0; +} + static bool cgroup_reclaim(struct scan_control *sc) { return false; @@ -407,6 +444,39 @@ static bool writeback_throttling_sane(struct scan_control *sc) } #endif +static long count_nr_deferred(struct shrinker *shrinker, + struct shrink_control *sc) +{ + int nid = sc->nid; + + if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) + nid = 0; + + if (sc->memcg && + (shrinker->flags & SHRINKER_MEMCG_AWARE)) + return count_nr_deferred_memcg(nid, shrinker, + sc->memcg); + + return atomic_long_xchg(&shrinker->nr_deferred[nid], 0); +} + + +static long set_nr_deferred(long nr, struct shrinker *shrinker, + struct shrink_control *sc) +{ + int nid = sc->nid; + + if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) + nid = 0; + + if (sc->memcg && + (shrinker->flags & SHRINKER_MEMCG_AWARE)) + return set_nr_deferred_memcg(nr, nid, shrinker, + sc->memcg); + + return atomic_long_add_return(nr, &shrinker->nr_deferred[nid]); +} + /* * This misses isolated pages which are not accounted for to save counters. * As the data only determines if reclaim or compaction continues, it is @@ -539,14 +609,10 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, long freeable; long nr; long new_nr; - int nid = shrinkctl->nid; long batch_size = shrinker->batch ? shrinker->batch : SHRINK_BATCH; long scanned = 0, next_deferred; - if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) - nid = 0; - freeable = shrinker->count_objects(shrinker, shrinkctl); if (freeable == 0 || freeable == SHRINK_EMPTY) return freeable; @@ -556,7 +622,7 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, * and zero it so that other concurrent shrinker invocations * don't also do this scanning work. */ - nr = atomic_long_xchg(&shrinker->nr_deferred[nid], 0); + nr = count_nr_deferred(shrinker, shrinkctl); total_scan = nr; if (shrinker->seeks) { @@ -647,14 +713,9 @@ static unsigned long do_shrink_slab(struct shrink_control *shrinkctl, next_deferred = 0; /* * move the unused scan count back into the shrinker in a - * manner that handles concurrent updates. If we exhausted the - * scan, there is no need to do an update. + * manner that handles concurrent updates. */ - if (next_deferred > 0) - new_nr = atomic_long_add_return(next_deferred, - &shrinker->nr_deferred[nid]); - else - new_nr = atomic_long_read(&shrinker->nr_deferred[nid]); + new_nr = set_nr_deferred(next_deferred, shrinker, shrinkctl); trace_mm_shrink_slab_end(shrinker, shrinkctl->nid, freed, nr, new_nr, total_scan); return freed; @@ -674,8 +735,7 @@ static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid, if (!down_read_trylock(&shrinker_rwsem)) return 0; - info = rcu_dereference_protected(memcg->nodeinfo[nid]->shrinker_info, - true); + info = shrinker_info_protected(memcg, nid); if (unlikely(!info)) goto unlock;
Use per memcg's nr_deferred for memcg aware shrinkers. The shrinker's nr_deferred will be used in the following cases: 1. Non memcg aware shrinkers 2. !CONFIG_MEMCG 3. memcg is disabled by boot parameter Signed-off-by: Yang Shi <shy828301@gmail.com> --- mm/vmscan.c | 94 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 77 insertions(+), 17 deletions(-)