Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp2495268pxb; Fri, 29 Oct 2021 02:33:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyhQuHepCey8ZY9NEJOIhGUk5xMJXdjBWxrb+z72toONhRJrk1adh9cUz9ljr1B3535Z7WF X-Received: by 2002:a05:6a00:2410:b0:40e:7d8:ad7f with SMTP id z16-20020a056a00241000b0040e07d8ad7fmr9829375pfh.25.1635500026007; Fri, 29 Oct 2021 02:33:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635500026; cv=none; d=google.com; s=arc-20160816; b=It0/n8w0iClsUTAKdSyS+p+lD5vw83HqzcmGgQTd6iJPUQmzW2glmNRSH0cDlt2ODR tFLhe43gCBbaBicJyRz3927wdmxHo6Ng3kMKBwC34fG9QHlXtpFLyCqRSPs7VPaXV4ZA n0BlrvpkdI297REIUAnhK1+ffphVwSDbfAQf5mzkC0sEhPshmG5bAlW9/1FAmowCjxz4 ZPkULW5+d6KQ0fInmjt9fcGix+o5UieM07WWQw0MBl0rMGG8gKrZWNeGfWAQhNZqxzQa pKMlYrDx4xO/fYA6elvDz2nENfLYOcb40rYbPNuyR4cpJbd+Xij6l0241sOiLHh60vSi 0wnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=p2geQeuyHyqJc4nrCbzk98EKhgtWv8pILv8YFFDOIjI=; b=LbvVvQyBRA6XmRRFhfz7B0F0vmylP+42fHvZTjiG5vWgl+G6+jtGvofP7WYUOlMkEz w9koQY1DKXKSxxVH5seigFa6w32lOXrzUGhj8wPBJinVUqTCK/hzrHD/fLnwqqTgHCcy hbg2Pj1VIEPAGdCBLY62d5qcxPK+IiQD8hunNoLjnaB8T7pZtXkfPTE4KXPo6UzTmhKZ gr/XchUGZyZ2tmUhWNFnkulMbaV5VlFAj+rP4s7ZK//rKqU6yg+EQLW4Lb6lXnlume2D 9l28F3TblQcIPyDASc5zQEmzH3AK6gL0QajB3iQFXHWhFV/uGTdMgeuul+Q/QzbpfCNX 2H9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=rCk9OdXP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x1si9690569pgu.532.2021.10.29.02.33.23; Fri, 29 Oct 2021 02:33:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=rCk9OdXP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231449AbhJ2Jds (ORCPT + 99 others); Fri, 29 Oct 2021 05:33:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33834 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231460AbhJ2Jdr (ORCPT ); Fri, 29 Oct 2021 05:33:47 -0400 Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 035E3C061570 for ; Fri, 29 Oct 2021 02:31:19 -0700 (PDT) Received: by mail-wm1-x329.google.com with SMTP id a20-20020a1c7f14000000b003231d13ee3cso12014497wmd.3 for ; Fri, 29 Oct 2021 02:31:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=p2geQeuyHyqJc4nrCbzk98EKhgtWv8pILv8YFFDOIjI=; b=rCk9OdXPcAXWiGFfjmqyR63rgXSjAixWRsicz4BAT9DOkW8IBdaZAYn+TQwrwHC7WG jMKVopeE8nIkcsZ9nLcaMKioPOoSw2YwZF3iJhPKNffUmaHpqwbZSMUq0uJfzknOgwE9 Axi5OiipoKghcLsjPNam0ZRVcN2sczewnOCndSEPrG3JeWqawghZat1gsa3zemD5SA23 sX2c23i+teO8z/V023Inx8jh6aW6vn+eCB+1zPstFfSh2gWlD0omWhud7v+0MS3I0cKB kPs/1/10ld5WeHCGYr1ARfsf9Sdcy4dABdTPDV1U5ibBaaL8U8EiE+Z893rtOT46RPMZ dlnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=p2geQeuyHyqJc4nrCbzk98EKhgtWv8pILv8YFFDOIjI=; b=YauSMPLzDRCVh9JZRspZR2bWHjsR//ArICVS4xU9m/HuSullPeZ7Qyl5ts0rsPmT5w qJaq7c0i0cuq6+Y6rzFcuJUBACjO6BjDFIONbsOW7sRebsSkKlX5pN1sXigeTHjVhlkC VIEjovvCgCZ87oyCF7eGQxx4/xdTAz/uOLtohKqFzlQwWqt/TJHRULe+uP4vQRWQXCnP LlduW90hy0s2KjRgJDhhkHh5qI6DqNqNYMHTqD+DtlTtblMm3kOzQc5b3scjRgSrCzic /YVJRQwtZ2hhNUxLkGuKSaPs4JP5KpYp97AdRypDcV1lRV1/kFI0VaiHIihkgbx6Ncfu vrgA== X-Gm-Message-State: AOAM533erlP6clTMYGDGRk/h0meW5Gna9kQtTT1KOkLcV2wTJaoIH+R7 XeF0rBdWRBOqVKQcrdOVwVyRAQ== X-Received: by 2002:a7b:cb10:: with SMTP id u16mr18153483wmj.65.1635499877541; Fri, 29 Oct 2021 02:31:17 -0700 (PDT) Received: from maple.lan (cpc141216-aztw34-2-0-cust174.18-1.cable.virginm.net. [80.7.220.175]) by smtp.gmail.com with ESMTPSA id y5sm6819655wrd.75.2021.10.29.02.31.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Oct 2021 02:31:17 -0700 (PDT) Date: Fri, 29 Oct 2021 10:31:15 +0100 From: Daniel Thompson To: Qian Cai Cc: Andrew Morton , Masahiro Yamada , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] configs: Introduce debug.config for CI-like setup Message-ID: <20211029093115.6ychbe56pnebzi43@maple.lan> References: <20211029034434.24553-1-quic_qiancai@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20211029034434.24553-1-quic_qiancai@quicinc.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Oct 28, 2021 at 11:44:34PM -0400, Qian Cai wrote: > Some general debugging features like kmemleak, KASAN, lockdep, UBSAN etc > help fix many viruses like a microscope. On the other hand, those features > are scatter around and mixed up with more situational debugging options > making them difficult to consume properly. This cold help amplify the > general debugging/testing efforts and help establish sensitive default > values for those options across the broad. > > The config is based on years' experiences running daily CI inside the > largest enterprise Linux distro company to seek regressions on > linux-next builds on different bare-metal and virtual platforms. This is > more of some art than science. It can be used for example, > > $ make ARCH=arm64 defconfig debug.config > > Signed-off-by: Qian Cai > --- > v2: > Double the size of CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE due to the most > of defconfigs used 4KB page instead of 64KB which would consume more early > kmemleak objects to track early_pgtable_alloc(). Otherwise, we could > run out of kmemleak early memory pool and disable kmemleak entirely. > > kernel/configs/debug.config | 119 ++++++++++++++++++++++++++++++++++++ > 1 file changed, 119 insertions(+) > create mode 100644 kernel/configs/debug.config > > diff --git a/kernel/configs/debug.config b/kernel/configs/debug.config > new file mode 100644 > index 000000000000..fea127155eb6 > --- /dev/null > +++ b/kernel/configs/debug.config > @@ -0,0 +1,119 @@ Does this config need comments at the top of the file describing its "mission"? Put another way, the comments in the description about where these config options come from seem too important leave buried in the git history. They are important to understanding what it is for. I know this the other configs do not have big header comments. However the existing configs are closer to self-describing. debug.config simply does not explain what the file does in the way xen.config can! People will surely want to add their "favourite" debug options[1] and those contributors would benefit from clues on what the configs here are intended for. > +# Keep alphabetically sorted. This results in 119 line file that is more-or-less impossible to comment. It alphabetic really the best way to maintain something containing so much subjective judgement? Daniel. > +# > +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set > +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set > +# CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set > +# CONFIG_DEBUG_PAGEALLOC is not set > +# CONFIG_DEBUG_RODATA_TEST is not set > +# CONFIG_DEBUG_WX is not set > +# CONFIG_KFENCE is not set > +# CONFIG_PAGE_POISONING is not set > +# CONFIG_PROVE_RAW_LOCK_NESTING is not set > +# CONFIG_SLUB_STATS is not set > +# CONFIG_UBSAN_ALIGNMENT is not set > +# CONFIG_UBSAN_DIV_ZERO is not set > +# CONFIG_UBSAN_TRAP is not set > +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set > +CONFIG_BRANCH_PROFILE_NONE=y > +CONFIG_BUG_ON_DATA_CORRUPTION=y > +CONFIG_CONTEXT_SWITCH_TRACER=y > +CONFIG_DEBUG_ATOMIC_SLEEP=y > +CONFIG_DEBUG_BUGVERBOSE=y > +CONFIG_DEBUG_FS_ALLOW_ALL=y > +CONFIG_DEBUG_FS=y > +CONFIG_DEBUG_INFO=y > +CONFIG_DEBUG_IRQFLAGS=y > +CONFIG_DEBUG_KERNEL=y > +CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y > +CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=80000 > +CONFIG_DEBUG_KMEMLEAK=y > +CONFIG_DEBUG_LIST=y > +CONFIG_DEBUG_LOCK_ALLOC=y > +CONFIG_DEBUG_MUTEXES=y > +CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 > +CONFIG_DEBUG_OBJECTS_FREE=y > +CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y > +CONFIG_DEBUG_OBJECTS_RCU_HEAD=y > +CONFIG_DEBUG_OBJECTS_TIMERS=y > +CONFIG_DEBUG_OBJECTS_WORK=y > +CONFIG_DEBUG_OBJECTS=y > +CONFIG_DEBUG_PER_CPU_MAPS=y > +CONFIG_DEBUG_RT_MUTEXES=y > +CONFIG_DEBUG_RWSEMS=y > +CONFIG_DEBUG_SECTION_MISMATCH=y > +CONFIG_DEBUG_SPINLOCK=y > +CONFIG_DEBUG_STACK_USAGE=y > +CONFIG_DEBUG_VIRTUAL=y > +CONFIG_DEBUG_VM_PGFLAGS=y > +CONFIG_DEBUG_VM_RB=y > +CONFIG_DEBUG_VM_VMACACHE=y > +CONFIG_DEBUG_VM=y > +CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y > +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 > +CONFIG_DETECT_HUNG_TASK=y > +CONFIG_DYNAMIC_DEBUG_CORE=y > +CONFIG_DYNAMIC_DEBUG=y > +CONFIG_DYNAMIC_FTRACE_WITH_REGS=y > +CONFIG_DYNAMIC_FTRACE=y > +CONFIG_EVENT_TRACING=y > +CONFIG_FRAME_POINTER=y > +CONFIG_FRAME_WARN=2048 > +CONFIG_FTRACE_MCOUNT_RECORD=y > +CONFIG_FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY=y > +CONFIG_FTRACE=y > +CONFIG_FUNCTION_TRACER=y > +CONFIG_GENERIC_PTDUMP=y > +CONFIG_GENERIC_TRACER=y > +CONFIG_IO_STRICT_DEVMEM=y > +CONFIG_KASAN_GENERIC=y > +CONFIG_KASAN_INLINE=y > +CONFIG_KASAN_STACK=y > +CONFIG_KASAN_VMALLOC=y > +CONFIG_KASAN=y > +CONFIG_LOCK_DEBUGGING_SUPPORT=y > +CONFIG_LOCKDEP_BITS=15 > +CONFIG_LOCKDEP_CHAINS_BITS=16 > +CONFIG_LOCKDEP_CIRCULAR_QUEUE_BITS=12 > +CONFIG_LOCKDEP_STACK_TRACE_BITS=19 > +CONFIG_LOCKDEP_STACK_TRACE_HASH_BITS=14 > +CONFIG_LOCKDEP=y > +CONFIG_LOCKUP_DETECTOR=y > +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 > +CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE="" > +CONFIG_MAGIC_SYSRQ_SERIAL=y > +CONFIG_MAGIC_SYSRQ=y > +CONFIG_NOP_TRACER=y > +CONFIG_PAGE_EXTENSION=y > +CONFIG_PAGE_OWNER=y > +CONFIG_PANIC_ON_OOPS_VALUE=1 > +CONFIG_PANIC_ON_OOPS=y > +CONFIG_PANIC_TIMEOUT=0 > +CONFIG_PREEMPTIRQ_TRACEPOINTS=y > +CONFIG_PRINTK_CALLER=y > +CONFIG_PRINTK_TIME=y > +CONFIG_PROVE_LOCKING=y > +CONFIG_PROVE_RCU_LIST=y > +CONFIG_PROVE_RCU=y > +CONFIG_PTDUMP_CORE=y > +CONFIG_PTDUMP_DEBUGFS=y > +CONFIG_RCU_CPU_STALL_TIMEOUT=60 > +CONFIG_RING_BUFFER=y > +CONFIG_SCHED_INFO=y > +CONFIG_SCHED_STACK_END_CHECK=y > +CONFIG_SECTION_MISMATCH_WARN_ONLY=y > +CONFIG_SLUB_DEBUG_ON=y > +CONFIG_SOFTLOCKUP_DETECTOR=y > +CONFIG_STACKTRACE=y > +CONFIG_STRICT_DEVMEM=y > +CONFIG_SYMBOLIC_ERRNAME=y > +CONFIG_TRACE_CLOCK=y > +CONFIG_TRACE_IRQFLAGS=y > +CONFIG_TRACING_SUPPORT=y > +CONFIG_TRACING=y > +CONFIG_UBSAN_BOOL=y > +CONFIG_UBSAN_BOUNDS=y > +CONFIG_UBSAN_ENUM=y > +CONFIG_UBSAN_ONLY_BOUNDS=y > +CONFIG_UBSAN_SHIFT=y > +CONFIG_UBSAN_UNREACHABLE=y > +CONFIG_UBSAN=y > -- > 2.30.2 >