Hi,
Compile kernel (next-20170602) and run ltp, find:
/ # ./add_key02
tst_test.c:878: INFO: Timeout per run is 0h 05m 00s
[ 341.183219] BUG: unable to handle kernel NULL pointer dereference at (null)
[ 341.183850] IP: memset+0x10/0x20
[ 341.184550] *pdpt = 35441001 *pde =
hen I saw this happen, this resulted in cmpxchg() spuriously failing
> somewhere in the page init code, which looks similar to what you're
> seeing.
>
> The patch at [1] is sufficient to work around this for the time being.
Thank you for your explanation :-D .
Thanks,
Bixuan Cui
>
Anyone can give me advice?
Thanks,
Bixuan Cui
On 2017/10/30 12:42, Masami Hiramatsu wrote:
> I don't like this kind of check, since this is obviously caller's bug.
> Why doesn't each caller check this?
Thank you for your answer.
Thanks,
Bixuan Cui
HLIST_HEAD() and kmalloc() then create a new
hash list into rp->free_instances and lost the first rp->free_instances.
So add check to avoid it.
Reported-and-tested-by: kangwen <kangw...@huawei.com>
Signed-off-by: Bixuan Cui <cuibix...@huawei.com>
---
kernel/kprobes.c | 8 +++-
On 2017/10/25 20:29, Bixuan Cui wrote:
And test again with this patch:
insmod testRegKretprobes_004.ko
[ 163.853281] register_kretprobe failed, returned -22
insmod: can't insert 'testRegKretprobes_004.ko': Operation not permitted
Thanks,
Bixuan Cui
> The register_kretprobe(struct kretprobe
Anyone can give me advice?
Thanks,
Bixuan Cui
hen I saw this happen, this resulted in cmpxchg() spuriously failing
> somewhere in the page init code, which looks similar to what you're
> seeing.
>
> The patch at [1] is sufficient to work around this for the time being.
Thank you for your explanation :-D .
Thanks,
Bixuan Cui
>
On 2017/10/25 20:29, Bixuan Cui wrote:
And test again with this patch:
insmod testRegKretprobes_004.ko
[ 163.853281] register_kretprobe failed, returned -22
insmod: can't insert 'testRegKretprobes_004.ko': Operation not permitted
Thanks,
Bixuan Cui
> The register_kretprobe(struct kretprobe
On 2017/10/30 12:42, Masami Hiramatsu wrote:
> I don't like this kind of check, since this is obviously caller's bug.
> Why doesn't each caller check this?
Thank you for your answer.
Thanks,
Bixuan Cui
Hi,
Compile kernel (next-20170602) and run ltp, find:
/ # ./add_key02
tst_test.c:878: INFO: Timeout per run is 0h 05m 00s
[ 341.183219] BUG: unable to handle kernel NULL pointer dereference at (null)
[ 341.183850] IP: memset+0x10/0x20
[ 341.184550] *pdpt = 35441001 *pde =
|
693757.533194 s
Changes from v2:
* Delete "-m", "1024" in __cmd_record()
* Change 'perf irq timeconsume ' to 'perf irq report '
* Fix a error for tools/perf/Documentation/perf-irq.txt
Bixuan Cui (2):
perf tools: add 'perf irq' to measure the hardware interrup
Add documentation for 'perf irq' command.
Signed-off-by: Bixuan Cui
---
tools/perf/Documentation/perf-irq.txt | 58 +++
tools/perf/command-list.txt | 1 +
2 files changed, 59 insertions(+)
create mode 100644 tools/perf/Documentation/perf-irq.txt
diff --git
hardware interrupt processing function.
Signed-off-by: Bixuan Cui
---
tools/perf/Build | 1 +
tools/perf/builtin-irq.c | 287 +++
tools/perf/builtin.h | 1 +
tools/perf/perf.c| 1 +
4 files changed, 290 insertions(+)
create mode
On 2021/1/13 3:50, Alexei Budankov wrote:
> Hi Bixuan,
>
> On 12.01.2021 15:55, Bixuan Cui wrote:
>> Add 'perf irq' to trace/measure the hardware interrupts.
>>
>> Now three functions are provided:
>> 1. 'perf irq record ' to record the irq handler events.
Add documentation for 'perf irq' command.
Signed-off-by: Bixuan Cui
---
tools/perf/Documentation/perf-irq.txt | 47 +++
tools/perf/command-list.txt | 1 +
2 files changed, 48 insertions(+)
create mode 100644 tools/perf/Documentation/perf-irq.txt
diff --git
uot; in __cmd_record();
* Change 'perf irq timeconsume ' to 'perf irq report ';
* Fix a error for tools/perf/Documentation/perf-irq.txt;
Bixuan Cui (2):
perf tools: add 'perf irq' to measure the hardware interrupts
perf tools: Add documentation for 'perf irq' command
tools/perf/Build
hardware interrupt processing function.
Signed-off-by: Bixuan Cui
---
tools/perf/Build | 1 +
tools/perf/builtin-irq.c | 283 +++
tools/perf/builtin.h | 1 +
tools/perf/perf.c| 1 +
4 files changed, 286 insertions(+)
create mode
Add documentation for 'perf irq' command.
Signed-off-by: Bixuan Cui
---
tools/perf/Documentation/perf-irq.txt | 58 +++
tools/perf/command-list.txt | 1 +
2 files changed, 59 insertions(+)
create mode 100644 tools/perf/Documentation/perf-irq.txt
diff --git
by each
hardware interrupt processing function.
Signed-off-by: Bixuan Cui
---
tools/perf/Build | 1 +
tools/perf/builtin-irq.c | 288 +++
tools/perf/builtin.h | 1 +
tools/perf/perf.c| 1 +
4 files changed, 291 insertions(+)
create
---
acpi | [0016] | 0.18 s | 6631263.085787 s |
6631263.085805 s
Bixuan Cui (2):
perf tools: add 'perf irq' to measure the hardware interrupts
perf tools: Add documentation for 'perf irq' command
tools/perf/Build | 1
HLIST_HEAD() and kmalloc() then create a new
hash list into rp->free_instances and lost the first rp->free_instances.
So add check to avoid it.
Reported-and-tested-by: kangwen
Signed-off-by: Bixuan Cui
---
kernel/kprobes.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --
On 2020/7/21 9:38, David Miller wrote:
> From: Bixuan Cui
> Date: Mon, 20 Jul 2020 09:58:39 +0800
>
>> Fix the warning: [-Werror=-Wframe-larger-than=]
>>
>> drivers/net/ethernet/neterion/vxge/vxge-main.c:
>> In function'VXGE_COMPLETE_VPATH_TX.isra.37':
>
On 2020/7/15 2:41, Roman Gushchin wrote:
>> Fixes: 26c99879ef01 ("mm: memcg/percpu: account percpu memory to memory
>> cgroups")
> The "fixes" tag is not valid: the patch is in the mm queue, so it doesn't
> have a stable hash. Usually Andrew squashes such fixes into the original patch
> on
' to pcpu_chunk_type(),pcpu_is_memcg_chunk() and
pcpu_chunk_list() to clear warning.
Acked-by: Roman Gushchin
Suggested-by: Stephen Rothwell
Signed-off-by: Bixuan Cui
---
mm/percpu-internal.h | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/mm/percpu-internal.h b/mm/percpu
On 2020/7/15 9:50, Stephen Rothwell wrote:
> I have added this patch to linux-next today.
thanks.
Fix the warning: [-Werror=-Wframe-larger-than=]
drivers/usb/misc/usbtest.c: In function 'test_queue':
drivers/usb/misc/usbtest.c:2148:1:
warning: the frame size of 1232 bytes is larger than 1024 bytes
Reported-by: kbuild test robot
Signed-off-by: Bixuan Cui
---
drivers/usb/misc/usbtest.c | 10
On 2020/7/20 1:05, Stephen Hemminger wrote:
> On Thu, 16 Jul 2020 17:32:47 +
> Bixuan Cui wrote:
>
>> Fix the warning: [-Werror=-Wframe-larger-than=]
>>
>> drivers/net/ethernet/neterion/vxge/vxge-main.c:
>> In function'VXGE_COMPLETE_VPATH_TX.isra.37':
>
is appropriate that won't
have much impact on performance and functionality.
Signed-off-by: Bixuan Cui
Signed-off-by: Stephen Hemminger
---
v2: Dropping the NR_SKB_COMPLETED to 16.
drivers/net/ethernet/neterion/vxge/vxge-main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
Fix the warning: [-Werror=-Wframe-larger-than=]
drivers/media/tuners/mxl5005s.c: In function 'mxl5005s_reconfigure':
drivers/media/tuners/mxl5005s.c:3953:1:
warning: the frame size of 1152 bytes is larger than 1024 bytes
Signed-off-by: Bixuan Cui
---
drivers/media/tuners/mxl5005s.c | 20
Fix the warning: [-Werror=-Wframe-larger-than=]
drivers/net/ethernet/neterion/vxge/vxge-main.c:
In function'VXGE_COMPLETE_VPATH_TX.isra.37':
drivers/net/ethernet/neterion/vxge/vxge-main.c:119:1:
warning: the frame size of 1056 bytes is larger than 1024 bytes
Signed-off-by: Bixuan Cui
On 2020/7/16 17:46, Joe Perches wrote:
> I doubt this is a good idea.
> Check the callers interrupt status.
yes, it's not good idea to alloc memory in interrupt handler,
I will think more while fix warning. :)
Thanks.
Fix the warning: [-Werror=-Wframe-larger-than=]
drivers/usb/misc/usbtest.c: In function 'test_queue':
drivers/usb/misc/usbtest.c:2148:1:
warning: the frame size of 1232 bytes is larger than 1024 bytes
Reported-by: kbuild test robot
Signed-off-by: Bixuan Cui
---
drivers/usb/misc/usbtest.c | 10
Fix the warning: [-Werror=-Wframe-larger-than=]
drivers/media/tuners/mxl5005s.c: In function 'mxl5005s_reconfigure':
drivers/media/tuners/mxl5005s.c:3953:1:
warning: the frame size of 1152 bytes is larger than 1024 bytes
Signed-off-by: Bixuan Cui
---
drivers/media/tuners/mxl5005s.c | 20
Fix the warning: [-Werror=-Wframe-larger-than=]
drivers/usb/misc/usbtest.c: In function 'test_queue':
drivers/usb/misc/usbtest.c:2148:1:
warning: the frame size of 1232 bytes is larger than 1024 bytes
Reported-by: kbuild test robot
Acked-by: Alan Stern
Signed-off-by: Bixuan Cui
---
v2: Change
Fix the warning: [-Werror=-Wframe-larger-than=]
drivers/usb/misc/usbtest.c: In function 'test_queue':
drivers/usb/misc/usbtest.c:2148:1:
warning: the frame size of 1232 bytes is larger than 1024 bytes
Reported-by: kbuild test robot
Acked-by: Alan Stern
Signed-off-by: Bixuan Cui
---
v2: Change
On 2020/7/16 22:26, Greg KH wrote:
>> Reported-by: kbuild test robot
>> Signed-off-by: Bixuan Cui
>> ---
>> drivers/usb/misc/usbtest.c | 10 +-
>> 1 file changed, 9 insertions(+), 1 deletion(-)
> What changed from v1? Always put that below the --- li
() as __maybe_unused to make it clear.
Signed-off-by: Bixuan Cui
---
mm/percpu-internal.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mm/percpu-internal.h b/mm/percpu-internal.h
index 7983455842ff..8a8a230bd957 100644
--- a/mm/percpu-internal.h
+++ b/mm/percpu-internal.h
On 2020/7/14 20:53, Stephen Rothwell wrote:
> Hi Bixuan,
>
> On Tue, 14 Jul 2020 13:41:01 +0000 Bixuan Cui wrote:
>> Gcc report the following warning without CONFIG_MEMCG_KMEM:
>>
>> mm/percpu-internal.h:145:29: warning: ‘pcpu_chunk_type’ defined
>> but not us
' to pcpu_chunk_type(),pcpu_is_memcg_chunk() and
pcpu_chunk_list() to clear warning.
Fixes: 26c99879ef01 ("mm: memcg/percpu: account percpu memory to memory
cgroups")
Signed-off-by: Stephen Rothwell
Signed-off-by: Bixuan Cui
---
mm/percpu-internal.h | 10 +-
1 file changed, 5 insert
On 2020/7/14 21:34, Bixuan Cui wrote:
> mm/percpu-internal.h:145:29: warning: ‘pcpu_chunk_type’ defined
> but not used [-Wunused-function]
Please ignore this email, I will resend the v2 patch.
' to pcpu_chunk_type(),pcpu_is_memcg_chunk() and
pcpu_chunk_list() to clear warning.
Fixes: 26c99879ef01 ("mm: memcg/percpu: account percpu memory to memory
cgroups")
Signed-off-by: Stephen Rothwell
Signed-off-by: Bixuan Cui
---
mm/percpu-internal.h | 10 +-
1 file changed, 5 insert
---
acpi | [0016] | 0.18 s | 6631263.085787 s |
6631263.085805 s
Bixuan Cui (2):
perf tools: add 'perf irq' to measure the hardware interrupts
perf tools: Add documentation for 'perf irq' command
tools/perf/Build | 1
Add documentation for 'perf irq' command.
Signed-off-by: Bixuan Cui
---
tools/perf/Documentation/perf-irq.txt | 58 +++
tools/perf/command-list.txt | 1 +
2 files changed, 59 insertions(+)
create mode 100644 tools/perf/Documentation/perf-irq.txt
diff --git
by each
hardware interrupt processing function.
Signed-off-by: Bixuan Cui
---
tools/perf/Build | 1 +
tools/perf/builtin-irq.c | 288 +++
tools/perf/builtin.h | 1 +
tools/perf/perf.c| 1 +
4 files changed, 291 insertions(+)
create
On 2021/1/27 15:37, Namhyung Kim wrote:
> Note that strncpy doesn't guarantee the NUL-termination.
> You'd better do it by yourself just in case.
Thanks,
I'll fix these bugs.
>
> Thanks,
> Namhyung
:(.text+0xcb8): undefined reference to `iounmap'
Add arch/s390/mm/ioremap.c file and move ioremap/ioremap_wc/ioremap_rt/iounmap
to it to fix the error.
Reported-by: kernel test robot
Signed-off-by: Bixuan Cui
---
arch/s390/include/asm/io.h | 8 ++---
arch/s390/mm/Makefile | 2 +-
arch/s390
Fix the error:
drivers/staging/media/tegra-video/vi.c:1180:4:
error: implicit declaration of function 'host1x_syncpt_free'
[-Werror,-Wimplicit-function-declaration]
Fixes: 3028a00c55bf ('gpu: host1x: Cleanup and refcounting for syncpoints')
Reported-by: Hulk Robot
Signed-off-by: Bixuan Cui
: add tegra30-ahub driver')
Fixes: 4fb0384f3dc6 ('ASoC: tegra: add tegra30-i2s driver')
Reported-by: Hulk Robot
Signed-off-by: Bixuan Cui
---
sound/soc/tegra/tegra20_i2s.c | 4 ++--
sound/soc/tegra/tegra30_ahub.c | 4 ++--
sound/soc/tegra/tegra30_i2s.c | 4 ++--
3 files changed, 6 insertions
Fix the warning while disable CONFIG_PM_SLEEP:
drivers/net/ethernet/intel/e1000e/netdev.c:6926:12: warning:
‘e1000e_pm_prepare’ defined but not used [-Wunused-function]
static int e1000e_pm_prepare(struct device *dev)
^
Signed-off-by: Bixuan Cui
---
drivers/net
Fix the warning:
drivers/gpu/drm/rockchip/rockchip_drm_vop.c:882:26:warning: unused variable
‘old_state’ [-Wunused-variable]
struct drm_plane_state *old_state = drm_atomic_get_old_plane_state(state,
Signed-off-by: Bixuan Cui
---
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 --
1
On 2021/2/24 20:45, Jiri Olsa wrote:
> hi,
> I can't apply this on later Arnaldo's perf/core,
> what commit/branch is this based one?
Thanks,I check it.
>
> thanks,
> jirka
hardware interrupt processing function.
Signed-off-by: Bixuan Cui
---
tools/perf/Build | 1 +
tools/perf/builtin-irq.c | 260 +++
tools/perf/builtin.h | 1 +
tools/perf/perf.c| 1 +
4 files changed, 263 insertions(+)
create mode
e ' to 'perf irq report ';
* Fix a error for tools/perf/Documentation/perf-irq.txt;
Bixuan Cui (2):
perf tools: add 'perf irq' to measure the hardware interrupts
perf tools: Add documentation for 'perf irq' command
tools/perf/Build | 1 +
tools/perf/Documentation/perf-irq.txt
Add documentation for 'perf irq' command.
Signed-off-by: Bixuan Cui
---
tools/perf/Documentation/perf-irq.txt | 47 +++
tools/perf/command-list.txt | 1 +
2 files changed, 48 insertions(+)
create mode 100644 tools/perf/Documentation/perf-irq.txt
diff --git
The pm_runtime_get_sync will increment pm usage counter even it failed.Thus a
pairing decrement is needed.
Change pm_runtime_get_sync to pm_runtime_resume_and_get for keeping usage
counter
balanced.
Reported-by: Hulk Robot
Signed-off-by: Bixuan Cui
---
drivers/gpu/drm/vc4/vc4_vec.c | 2 +-
1
ted-by: Hulk Robot
Signed-off-by: Bixuan Cui
---
drivers/usb/dwc3/dwc3-qcom.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
index e37cc58dfa55..4716ca8c753d 100644
--- a/drivers/usb/dwc3/dwc3-qcom.c
+++ b/drivers/usb/dwc3/d
The sparse tool complains as follows:
arch/powerpc/platforms/powernv/opal-core.c:74:16: warning:
symbol 'mpipl_kobj' was not declared.
This symbol is not used outside of opal-core.c, so marks it static.
Reported-by: Hulk Robot
Signed-off-by: Bixuan Cui
---
arch/powerpc/platforms/powernv
-by: Bixuan Cui
---
arch/powerpc/platforms/pseries/hvCall_inst.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/pseries/hvCall_inst.c
b/arch/powerpc/platforms/pseries/hvCall_inst.c
index 2c59b4986ea5..3a50612a78db 100644
--- a/arch/powerpc/platforms/pseries
The sparse tool complains as follows:
arch/powerpc/perf/isa207-common.c:24:18: warning:
symbol 'isa207_pmu_format_attr' was not declared. Should it be static?
This symbol is not used outside of isa207-common.c, so this
commit marks it static.
Reported-by: Hulk Robot
Signed-off-by: Bixuan Cui
'__pcpu_scope_hv_24x7_resb' was not declared. Should it be static?
This symbol is not used outside of hv-24x7.c, so this
commit marks it static.
Reported-by: Hulk Robot
Signed-off-by: Bixuan Cui
---
arch/powerpc/perf/hv-24x7.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc
ts and should actually function without CONFIG_PCI.
> The weird part though is that for anyone using it without CONFIG_PCI it
> would stop working if that is set and the machine doesn't have MIO
> support but would work if it does.
Well, Maybe it's better not to change it.And thank you for t
solved.
Yes,this build error has been fixed in the next-20210407.
Thanks,
Bixuan Cui
pm_runtime_get_sync will increment pm usage counter even it failed.
thus a pairing decrement is needed.
Fix it by replacing it with pm_runtime_resume_and_get to keep usage
counter balanced.
Reported-by: Hulk Robot
Signed-off-by: Bixuan Cui
---
drivers/usb/musb/musb_core.c | 2 +-
1 file
On 2021/4/9 18:00, Manivannan Sadhasivam wrote:
> But this error message can be removed altogether as devm_ioremap_resource()
> reports it already.
Thank you for your reply. I'll revise it.
Thanks,
Bixuan Cui
There is a error message within devm_ioremap_resource
already, so remove the dev_err call to avoid redundant
error message.
Reported-by: Hulk Robot
Signed-off-by: Bixuan Cui
---
drivers/usb/dwc3/dwc3-qcom.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/usb/dwc3/dwc3-qcom.c b
This patch adds missing MODULE_DEVICE_TABLE definition which generates
correct modalias for automatic loading of this driver when it is built
as an external module.
Reported-by: Hulk Robot
Signed-off-by: Bixuan Cui
---
drivers/nvmem/sprd-efuse.c | 1 +
1 file changed, 1 insertion(+)
diff
This patch adds missing MODULE_DEVICE_TABLE definition which generates
correct modalias for automatic loading of this driver when it is built
as an external module.
Reported-by: Hulk Robot
Signed-off-by: Bixuan Cui
---
drivers/staging/ralink-gdma/ralink-gdma.c | 1 +
1 file changed, 1
pm_runtime_get_sync will increment pm usage counter even it failed.
thus a pairing decrement is needed.
Fix it by replacing it with pm_runtime_resume_and_get to keep usage
counter balanced.
Reported-by: Hulk Robot
Signed-off-by: Bixuan Cui
---
drivers/usb/core/hub.c | 2 +-
1 file changed, 1
/resume path')
Signed-off-by: Bixuan Cui
---
drivers/pci/quirks.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 2e24dced699a..c86ede081534 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -309,8 +309,6
step, but parsing the ASCII output is tortuous.
>
Good idea. In fact, I plan to output part of (maximum) data.
I'll consider adding '--format csv*' option.
Thanks
Bixuan Cui
> hgn
Add documentation for 'perf irq' command.
Signed-off-by: Bixuan Cui
---
tools/perf/Documentation/perf-irq.txt | 47 +++
tools/perf/command-list.txt | 1 +
2 files changed, 48 insertions(+)
create mode 100644 tools/perf/Documentation/perf-irq.txt
diff --git
umentation/perf-irq.txt;
Bixuan Cui (2):
perf tools: add 'perf irq' to measure the hardware interrupts
perf tools: Add documentation for 'perf irq' command
tools/perf/Build | 1 +
tools/perf/Documentation/perf-irq.txt | 47 +
tools/perf/builtin-i
hardware interrupt processing function.
Signed-off-by: Bixuan Cui
---
tools/perf/Build | 1 +
tools/perf/builtin-irq.c | 260 +++
tools/perf/builtin.h | 1 +
tools/perf/perf.c| 1 +
4 files changed, 263 insertions(+)
create mode
ping~
在 2024/1/5 9:36, Bixuan Cui 写道:
When the system memory is low, kswapd reclaims the memory. The key steps
of memory reclamation include
1.shrink_lruvec
* shrink_active_list, moves folios from the active LRU to the inactive LRU
* shrink_inactive_list, shrink lru from inactive LRU list
在 2024/2/21 10:22, Steven Rostedt 写道:
It's up to the memory management folks to decide on this. -- Steve
Noted with thanks.
Bixuan Cui
ping~
在 2024/1/5 9:36, Bixuan Cui 写道:
When the system memory is low, kswapd reclaims the memory. The key steps
of memory reclamation include
1.shrink_lruvec
* shrink_active_list, moves folios from the active LRU to the inactive LRU
* shrink_inactive_list, shrink lru from inactive LRU list
|RECLAIM_WB_ASYNC
Signed-off-by: Bixuan Cui
Reviewed-by: Andrew Morton
---
v4: Add Reviewed-by and Changlog to every patch.
v2: Modify trace_mm_vmscan_lru_shrink_inactive() in evict_folios() at the same
time to fix build error.
include/trace/events/vmscan.h | 38
98.317942: mm_shrink_count_start:
kfree_rcu_shrink_count.cfi_jt+0x0/0x8 c540ff51: nid: 0
kswapd0-103 [003] . 1098.317951: mm_shrink_count_end:
kfree_rcu_shrink_count.cfi_jt+0x0/0x8 c540ff51: nid: 0 freeable:36
Signed-off-by: Bixuan Cui
Reviewed-by: Steven Rosted
When the system memory is low, kswapd reclaims the memory. The key steps
of memory reclamation include
1.shrink_lruvec
* shrink_active_list, moves folios from the active LRU to the inactive LRU
* shrink_inactive_list, shrink lru from inactive LRU list
2.shrink_slab
*
CONFIG_LRU_GEN when compiling and testing.
I will double check my patches.
Thanks
Bixuan Cui
在 2023/12/21 1:54, Yu Zhao 写道:
Signed-off-by: Bixuan Cui
Reviewed-by: Andrew Morton
---
v4: Add Reviewed-by and Changlog to every patch.
Where did Andrew provide his Reviewed-by?Hi,
I just want to add Reviewed-by to my patch to thank the reveiw of Steven
and Andrew.:-)
v2: Modify
98.317942: mm_shrink_count_start:
kfree_rcu_shrink_count.cfi_jt+0x0/0x8 c540ff51: nid: 0
kswapd0-103 [003] . 1098.317951: mm_shrink_count_end:
kfree_rcu_shrink_count.cfi_jt+0x0/0x8 c540ff51: nid: 0 freeable:36
Signed-off-by: Bixuan Cui
---
include/trace/events
From: cuibixuan
When the system memory is low, kswapd reclaims the memory. The key steps
of memory reclamation include
1.shrink_lruvec
* shrink_active_list, moves folios from the active LRU to the inactive LRU
* shrink_inactive_list, shrink lru from inactive LRU list
2.shrink_slab
*
|RECLAIM_WB_ASYNC
Signed-off-by: Bixuan Cui
---
include/trace/events/vmscan.h | 38 +--
mm/vmscan.c | 8 ++--
2 files changed, 42 insertions(+), 4 deletions(-)
diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h
index
98.317942: mm_shrink_count_start:
kfree_rcu_shrink_count.cfi_jt+0x0/0x8 c540ff51: nid: 0
kswapd0-103 [003] . 1098.317951: mm_shrink_count_end:
kfree_rcu_shrink_count.cfi_jt+0x0/0x8 c540ff51: nid: 0 freeable:36
Signed-off-by: Bixuan Cui
Reviewed-by: Steven Rosted
:
mm_vmscan_lru_shrink_inactive_end: nid=0 nr_scanned=32 nr_reclaimed=21
nr_dirty=0 nr_writeback=0 nr_congested=0 nr_immediate=0 nr_activate_anon=0
nr_activate_file=0 nr_ref_keep=11 nr_unmap_fail=0 priority=6
flags=RECLAIM_WB_FILE|RECLAIM_WB_ASYNC
Signed-off-by: Bixuan Cui
Reviewed-by: Andrew Morton
When the system memory is low, kswapd reclaims the memory. The key steps
of memory reclamation include
1.shrink_lruvec
* shrink_active_list, moves folios from the active LRU to the inactive LRU
* shrink_inactive_list, shrink lru from inactive LRU list
2.shrink_slab
*
ping~
在 2024/1/5 9:36, Bixuan Cui 写道:
When the system memory is low, kswapd reclaims the memory. The key steps
of memory reclamation include
1.shrink_lruvec
* shrink_active_list, moves folios from the active LRU to the inactive LRU
* shrink_inactive_list, shrink lru from inactive LRU list
:
mm_vmscan_lru_shrink_inactive_end: nid=0 nr_scanned=32 nr_reclaimed=21
nr_dirty=0 nr_writeback=0 nr_congested=0 nr_immediate=0 nr_activate_anon=0
nr_activate_file=0 nr_ref_keep=11 nr_unmap_fail=0 priority=6
flags=RECLAIM_WB_FILE|RECLAIM_WB_ASYNC
Signed-off-by: Bixuan Cui
Reviewed-by: Andrew Morton
98.317942: mm_shrink_count_start:
kfree_rcu_shrink_count.cfi_jt+0x0/0x8 c540ff51: nid: 0
kswapd0-103 [003] . 1098.317951: mm_shrink_count_end:
kfree_rcu_shrink_count.cfi_jt+0x0/0x8 c540ff51: nid: 0 freeable:36
Signed-off-by: Bixuan Cui
Reviewed-by: Steve
When the system memory is low, kswapd reclaims the memory. The key steps
of memory reclamation include
1.shrink_lruvec
* shrink_active_list, moves folios from the active LRU to the inactive LRU
* shrink_inactive_list, shrink lru from inactive LRU list
2.shrink_slab
*
. Have you considered that
option?
Let me think about it...
Thanks
Bixuan Cui
lower performance impact compared to dynamic
tracepoints (BPF kprobe).
Thanks
Bixuan Cui
94 matches
Mail list logo