* Ask help about this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion"
@ 2025-04-02 11:31 Carlos Song
2025-04-02 15:00 ` Vlastimil Babka
2025-04-02 19:44 ` Johannes Weiner
0 siblings, 2 replies; 7+ messages in thread
From: Carlos Song @ 2025-04-02 11:31 UTC (permalink / raw)
To: hannes, baolin.wang, ying.huang, vbabka, david, mgorman, ziy, akpm, akpm
Cc: linux-mm, linux-kernel
Hi, all
I found a 300ms~600ms IRQ off when writing 1Gb data to storage device at I.MX7d SDB board at Linux-kernel-v6.14.
From this discussion I find the regression root cause:
https://lore.kernel.org/linux-mm/CAJuCfpGajtAP8-kw5B5mKmhfyq6Pn67+PJgMjBeozW-qzjQMkw@mail.gmail.com/T/
Before add this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion", this longest IRQ off time is only 1ms~2ms.
After add this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion", this longest IRQ off time is only ~100ms.
This patch is added in linux-kernel 6.10.
In the same test case and environment. From 6.10, as other PATCHs are added, the spinlock time gradually increases. At 6.12 the IRQ off is ~150ms
and at 6.14, the IRQ off time is ~300ms.
Run this cmd to test:
dd if=/dev/zero of=/dev/mmcblk0p3 bs=4096 seek=12500 count=256000 conv=fsync
I use Ftrace irqoff tracer to trace the longest IRQ off event. Here is my test log. Do I trigger a bug?
4 Ftrace logs of irqoff tracing on the same environment using the same case only with different kernel version:
1. Not add the patch 2. Add the patch 3. At 6.12 4. At 6.14.
Log is here:
1. Before add this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion":
# tracer: irqsoff
#
# irqsoff latency trace v1.1.5 on 6.9.0-rc4-00115-g2dd482ba627d
# --------------------------------------------------------------------
# latency: 1075 us, #517/517, CPU#0 | (M:server VP:0, KP:0, SP:0 HP:0 #P:2)
# -----------------
# | task: dd-760 (uid:0 nice:0 policy:0 rt_prio:0)
# -----------------
# => started at: _raw_spin_lock_irqsave
# => ended at: _raw_spin_unlock_irqrestore
#
#
# _------=> CPU#
# / _-----=> irqs-off/BH-disabled
# | / _----=> need-resched
# || / _---=> hardirq/softirq
# ||| / _--=> preempt-depth
# |||| / _-=> migrate-disable
# ||||| / delay
# cmd pid |||||| time | caller
# \ / |||||| \ | /
dd-760 0d.... 1us : _raw_spin_lock_irqsave
dd-760 0d.... 6us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 11us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 13us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 15us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 17us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 19us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 21us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 24us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 25us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 27us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 29us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 32us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 34us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 36us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 38us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 40us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 42us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 44us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 46us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 48us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 50us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 52us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 53us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 55us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 57us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 59us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 61us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 64us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 66us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 68us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 70us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 72us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 74us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 75us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 77us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 80us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 81us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 83us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 85us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 87us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 89us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 91us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 93us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 95us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 97us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 99us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 104us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 106us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 108us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 110us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 112us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 114us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 116us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 118us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 120us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 122us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 124us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 126us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 128us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 131us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 133us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 135us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 137us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 139us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 141us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 143us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 145us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 148us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 150us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 151us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 153us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 155us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 157us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 159us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 161us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 164us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 166us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 168us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 169us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 172us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 173us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 175us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 177us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 180us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 182us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 183us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 185us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 187us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 189us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 191us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 193us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 196us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 198us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 200us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 202us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 204us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 205us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 207us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 209us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 212us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 214us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 216us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 218us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 220us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 222us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 224us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 226us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 228us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 230us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 232us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 234us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 236us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 238us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 240us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 242us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 244us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 246us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 248us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 250us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 252us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 254us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 256us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 258us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 260us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 262us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 264us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 266us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 268us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 270us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 272us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 274us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 276us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 278us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 280us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 282us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 284us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 286us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 288us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 290us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 292us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 294us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 296us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 298us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 300us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 302us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 304us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 306us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 308us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 310us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 312us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 314us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 316us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 319us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 321us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 322us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 325us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 327us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 329us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 331us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 333us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 335us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 337us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 339us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 341us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 343us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 345us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 347us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 349us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 351us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 353us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 355us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 357us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 359us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 361us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 363us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 365us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 367us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 369us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 371us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 373us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 375us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 377us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 379us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 381us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 383us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 385us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 387us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 389us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 391us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 393us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 395us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 397us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 399us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 401us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 403us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 405us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 407us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 409us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 411us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 413us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 415us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 417us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 419us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 421us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 423us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 425us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 427us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 429us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 431us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 433us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 435us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 437us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 439us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 441us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 443us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 445us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 447us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 449us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 451us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 454us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 455us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 458us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 460us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 462us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 464us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 466us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 467us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 470us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 472us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 474us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 475us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 478us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 480us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 482us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 484us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 486us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 488us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 490us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 492us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 494us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 497us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 499us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 501us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 503us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 505us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 507us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 509us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 511us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 513us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 515us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 519us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 521us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 523us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 525us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 527us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 530us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 532us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 534us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 536us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 538us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 540us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 542us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 544us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 546us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 548us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 550us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 552us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 555us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 557us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 559us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 561us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 563us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 565us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 567us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 569us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 571us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 573us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 576us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 577us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 580us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 582us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 584us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 586us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 588us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 590us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 592us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 594us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 596us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 598us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 600us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 602us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 604us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 606us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 608us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 610us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 612us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 614us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 616us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 618us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 620us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 622us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 624us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 626us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 628us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 630us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 632us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 635us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 637us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 639us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 641us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 643us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 645us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 647us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 649us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 651us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 653us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 655us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 657us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 659us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 661us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 663us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 665us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 667us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 669us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 671us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 673us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 675us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 677us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 679us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 681us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 684us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 686us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 688us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 690us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 693us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 695us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 697us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 699us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 701us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 703us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 706us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 708us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 710us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 712us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 714us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 716us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 719us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 721us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 723us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 725us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 727us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 729us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 731us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 733us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 735us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 737us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 740us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 742us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 744us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 746us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 749us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 751us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 753us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 755us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 757us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 760us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 762us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 764us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 766us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 769us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 771us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 773us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 775us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 777us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 779us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 781us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 783us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 785us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 788us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 790us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 792us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 794us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 796us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 798us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 801us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 803us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 805us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 807us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 809us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 811us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 813us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 816us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 818us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 820us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 822us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 824us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 827us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 829us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 831us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 833us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 835us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 837us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 840us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 842us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 844us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 846us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 848us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 850us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 852us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 854us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 856us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 858us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 860us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 862us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 865us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 867us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 869us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 871us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 873us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 875us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 877us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 879us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 881us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 883us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 885us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 887us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 890us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 892us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 894us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 896us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 898us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 900us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 903us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 905us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 907us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 909us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 911us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 914us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 916us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 918us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 920us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 922us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 924us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 926us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 928us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 930us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 933us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 935us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 937us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 939us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 941us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 943us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 945us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 947us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 951us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 953us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 956us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 958us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 960us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 962us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 964us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 966us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 968us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 970us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 972us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 974us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 976us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 978us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 981us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 983us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 985us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 987us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 989us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 991us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 993us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 995us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 997us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 999us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1001us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1003us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1006us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1008us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1010us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1012us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1014us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1016us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1018us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1020us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1022us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1024us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1026us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1028us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1031us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1033us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1035us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1037us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1039us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1041us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1043us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1045us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1047us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1049us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1051us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1053us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1056us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1058us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1060us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1062us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1064us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1066us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1068us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1070us : __mod_zone_page_state <-__free_one_page
dd-760 0d.... 1072us : _raw_spin_unlock_irqrestore <-drain_pages_zone
dd-760 0d.... 1074us : _raw_spin_unlock_irqrestore
dd-760 0d.... 1077us+: tracer_hardirqs_on <-_raw_spin_unlock_irqrestore
dd-760 0d.... 1116us : <stack trace>
=> __drain_all_pages
=> __alloc_pages_noprof
=> __folio_alloc_noprof
=> __filemap_get_folio
=> iomap_write_begin
=> iomap_file_buffered_write
=> blkdev_write_iter
=> vfs_write
=> ksys_write
=> ret_fast_syscall
2. After add this patch: c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion"
# tracer: irqsoff
#
# irqsoff latency trace v1.1.5 on 6.9.0-rc4-00116-gc0cd6f557b90
# --------------------------------------------------------------------
# latency: 93635 us, #13758/13758, CPU#0 | (M:server VP:0, KP:0, SP:0 HP:0 #P:2)
# -----------------
# | task: dd-764 (uid:0 nice:0 policy:0 rt_prio:0)
# -----------------
# => started at: _raw_spin_lock_irqsave
# => ended at: _raw_spin_unlock_irqrestore
#
#
# _------=> CPU#
# / _-----=> irqs-off/BH-disabled
# | / _----=> need-resched
# || / _---=> hardirq/softirq
# ||| / _--=> preempt-depth
# |||| / _-=> migrate-disable
# ||||| / delay
# cmd pid |||||| time | caller
# \ / |||||| \ | /
dd-764 0d.... 1us!: _raw_spin_lock_irqsave
dd-764 0d.... 206us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 209us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 210us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 213us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 281us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 282us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 284us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 286us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 288us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 338us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 340us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 341us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 343us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 345us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 347us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 396us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 398us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 399us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 401us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 403us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 404us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 454us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 456us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 458us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 459us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 461us : find_suitable_fallback <-__rmqueue_pcplist
...
dd-764 0d.... 93458us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93524us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93525us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93527us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93529us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93530us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93532us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93534us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93535us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93537us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93539us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93540us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93542us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93544us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93610us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93611us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93613us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93615us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93616us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93618us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93620us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93621us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93623us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93625us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93626us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93628us : find_suitable_fallback <-__rmqueue_pcplist
dd-764 0d.... 93630us : __mod_zone_page_state <-__rmqueue_pcplist
dd-764 0d.... 93632us : _raw_spin_unlock_irqrestore <-__rmqueue_pcplist
dd-764 0d.... 93634us : _raw_spin_unlock_irqrestore
dd-764 0d.... 93637us+: tracer_hardirqs_on <-_raw_spin_unlock_irqrestore
dd-764 0d.... 93678us : <stack trace>
=> get_page_from_freelist
=> __alloc_pages_noprof
=> __folio_alloc_noprof
=> __filemap_get_folio
=> iomap_write_begin
=> iomap_file_buffered_write
=> blkdev_write_iter
=> vfs_write
=> ksys_write
=> ret_fast_syscall
At 6.12:
# tracer: irqsoff
#
# irqsoff latency trace v1.1.5 on 6.12.0
# --------------------------------------------------------------------
# latency: 152764 us, #25905/25905, CPU#0 | (M:server VP:0, KP:0, SP:0 HP:0 #P:2)
# -----------------
# | task: dd-769 (uid:0 nice:0 policy:0 rt_prio:0)
# -----------------
# => started at: _raw_spin_lock_irqsave
# => ended at: _raw_spin_unlock_irqrestore
#
#
# _------=> CPU#
# / _-----=> irqs-off/BH-disabled
# | / _----=> need-resched
# || / _---=> hardirq/softirq
# ||| / _--=> preempt-depth
# |||| / _-=> migrate-disable
# ||||| / delay
# cmd pid |||||| time | caller
# \ / |||||| \ | /
dd-769 0d.... 1us : _raw_spin_lock_irqsave
dd-769 0d.... 4us : __mod_zone_page_state <-__rmqueue_pcplist
dd-769 0d.... 8us : __mod_zone_page_state <-__rmqueue_pcplist
dd-769 0d.... 10us : __mod_zone_page_state <-__rmqueue_pcplist
dd-769 0d.... 12us : __mod_zone_page_state <-__rmqueue_pcplist
dd-769 0d.... 13us : __mod_zone_page_state <-__rmqueue_pcplist
dd-769 0d.... 16us : __mod_zone_page_state <-__rmqueue_pcplist
dd-769 0d.... 18us : __mod_zone_page_state <-__rmqueue_pcplist
dd-769 0d.... 20us : __mod_zone_page_state <-__rmqueue_pcplist
dd-769 0d.... 21us : __mod_zone_page_state <-__rmqueue_pcplist
dd-769 0d.... 23us : __mod_zone_page_state <-__rmqueue_pcplist
dd-769 0d.... 25us : __mod_zone_page_state <-__rmqueue_pcplist
dd-769 0d.... 27us : __mod_zone_page_state <-__rmqueue_pcplist
dd-769 0d.... 29us : __mod_zone_page_state <-__rmqueue_pcplist
dd-769 0d.... 32us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 35us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 36us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 39us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 106us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 109us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 111us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 112us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 114us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 116us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 183us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 185us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 187us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 188us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 190us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 192us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 237us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 239us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 241us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 242us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 244us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 246us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 306us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 308us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 310us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 311us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 313us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 315us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 317us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 366us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 368us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 370us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 372us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 373us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 375us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 377us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 423us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 425us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 427us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 428us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 430us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 432us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 434us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 477us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 479us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 480us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 482us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 484us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 485us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 487us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 534us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 537us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 538us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 540us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 542us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 543us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 545us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 588us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 590us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 592us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 593us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 595us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 597us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 598us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 639us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 642us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 643us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 645us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 646us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 648us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 650us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 652us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 698us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 700us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 702us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 704us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 705us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 707us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 709us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 710us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 756us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 759us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 760us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 762us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 763us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 765us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 767us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 769us+: steal_suitable_fallback <-__rmqueue_pcplist
...
dd-769 0d.... 1489us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1491us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1493us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1494us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1496us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1498us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1499us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1501us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1551us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 1553us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1555us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1557us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1558us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1560us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1562us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1563us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1565us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1613us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 1615us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1617us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1618us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1620us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1621us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1623us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1625us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1626us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1687us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 1690us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1691us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1693us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1695us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1696us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1698us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1700us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 1701us+: steal_suitable_fallback <-__rmqueue_pcplist
...
dd-769 0d.... 152238us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152240us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152241us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152243us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152297us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 152299us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152301us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152303us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152304us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152308us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152309us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152311us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152313us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152314us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152316us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152318us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152319us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152321us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152375us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 152377us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152379us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152381us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152382us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152384us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152386us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152387us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152389us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152391us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152392us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152394us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152395us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152397us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152451us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 152453us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152455us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152457us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152458us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152460us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152462us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152464us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152465us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152467us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152469us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152470us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152472us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152474us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152527us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 152530us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152531us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152533us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152535us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152536us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152538us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152540us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152541us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152543us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152544us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152546us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152548us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152550us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152604us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 152606us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152608us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152610us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152611us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152613us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152615us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152616us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152618us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152620us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152621us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152623us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152625us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152626us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152681us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 152683us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152685us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152687us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152688us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152690us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152692us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152693us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152695us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152697us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152698us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152700us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152702us : find_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152703us+: steal_suitable_fallback <-__rmqueue_pcplist
dd-769 0d.... 152759us : __mod_zone_page_state <-steal_suitable_fallback
dd-769 0d.... 152761us : _raw_spin_unlock_irqrestore <-__rmqueue_pcplist
dd-769 0d.... 152763us : _raw_spin_unlock_irqrestore
dd-769 0d.... 152766us+: tracer_hardirqs_on <-_raw_spin_unlock_irqrestore
dd-769 0d.... 152807us : <stack trace>
=> get_page_from_freelist
=> __alloc_pages_noprof
=> __folio_alloc_noprof
=> __filemap_get_folio
=> iomap_write_begin
=> iomap_file_buffered_write
=> blkdev_write_iter
=> vfs_write
=> ksys_write
=> ret_fast_syscall
At 6.14:
# tracer: irqsoff
#
# irqsoff latency trace v1.1.5 on 6.14.0-rc7-next-20250319
# --------------------------------------------------------------------
# latency: 288231 us, #20842/20842, CPU#0 | (M:NONE VP:0, KP:0, SP:0 HP:0 #P:2)
# -----------------
# | task: dd-767 (uid:0 nice:0 policy:0 rt_prio:0)
# -----------------
# => started at: __rmqueue_pcplist
# => ended at: _raw_spin_unlock_irqrestore
#
#
# _------=> CPU#
# / _-----=> irqs-off/BH-disabled
# | / _----=> need-resched
# || / _---=> hardirq/softirq
# ||| / _--=> preempt-depth
# |||| / _-=> migrate-disable
# ||||| / delay
# cmd pid |||||| time | caller
# \ / |||||| \ | /
dd-767 0d.... 1us : __rmqueue_pcplist
dd-767 0d.... 3us : _raw_spin_trylock <-__rmqueue_pcplist
dd-767 0d.... 8us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 11us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 13us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 18us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 20us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 22us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 24us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 26us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 28us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 30us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 32us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 33us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 35us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 37us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 39us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 41us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 44us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 45us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 47us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 49us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 51us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 53us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 55us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 57us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 59us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 61us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 62us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 64us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 66us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 68us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 70us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 71us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 75us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 77us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 79us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 81us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 83us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 84us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 86us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 88us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 90us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 92us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 94us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 96us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 98us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 100us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 101us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 103us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 106us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 107us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 109us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 111us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 113us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 115us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 117us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 118us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 121us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 123us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 124us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 126us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 128us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 130us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 132us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 134us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 136us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 138us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 140us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 142us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 144us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 146us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 148us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 149us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 151us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 153us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 155us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 157us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 159us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 161us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 163us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 165us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 167us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 169us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 171us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 172us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 174us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 176us : __mod_zone_page_state <-__rmqueue_pcplist
...
dd-767 0d.... 605us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 606us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 608us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 610us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 612us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 614us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 616us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 618us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 620us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 621us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 624us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 625us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 627us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 629us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 632us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 633us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 635us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 637us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 639us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 641us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 643us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 644us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 647us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 648us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 650us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 652us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 654us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 656us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 658us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 659us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 662us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 664us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 665us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 667us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 669us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 671us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 673us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 675us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 677us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 679us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 681us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 682us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 684us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 686us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 688us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 690us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 693us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 694us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 696us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 698us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 700us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 702us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 703us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 705us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 707us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 709us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 711us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 713us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 715us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 717us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 718us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 720us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 723us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 724us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 726us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 728us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 730us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 732us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 734us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 735us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 738us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 740us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 741us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 743us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 745us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 747us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 749us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 750us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 753us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 755us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 757us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 758us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 760us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 762us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 764us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 766us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 768us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 770us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 772us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 773us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 775us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 777us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 779us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 781us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 783us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 785us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 787us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 788us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 791us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 792us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 794us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 796us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 798us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 800us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 802us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 805us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 807us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 809us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 811us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 813us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 816us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 818us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 819us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 821us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 823us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 825us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 827us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 829us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 831us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 833us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 834us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 836us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 838us : __mod_zone_page_state <-__rmqueue_pcplist
...
dd-767 0d.... 2043us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2045us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2047us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2049us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2101us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2103us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2181us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2184us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2220us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2222us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2304us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2306us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2365us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2367us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2368us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2370us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2372us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2434us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2436us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2438us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2442us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 2445us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2446us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2448us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2450us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2490us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2492us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2548us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2550us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2586us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2588us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2652us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2654us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2712us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2714us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2715us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2717us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2719us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2720us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2778us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2780us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 2783us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2784us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2786us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2788us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2824us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2826us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2881us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2883us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2918us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2920us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 2978us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 2980us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3037us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3039us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3040us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3042us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3044us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3045us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3047us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3049us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3050us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3052us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3054us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3056us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 3058us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3059us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3061us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3063us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3099us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3100us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3155us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3157us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3192us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3193us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3251us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3253us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3312us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3314us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3373us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3375us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3434us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3436us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3495us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3497us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3557us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3559us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3618us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3620us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 3622us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3624us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3625us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3627us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3662us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3664us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3718us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3720us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3755us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3757us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3815us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3817us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3877us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3879us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3938us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 3940us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 3999us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4001us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4061us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4063us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4123us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4125us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4126us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4128us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 4130us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4132us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4133us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4135us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4170us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4172us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4226us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4228us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4263us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4265us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4323us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4325us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4382us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4384us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4441us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4443us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4501us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4503us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4560us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4562us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4564us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4622us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4624us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 4626us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4628us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4630us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4631us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4666us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4668us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4723us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4724us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4759us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4761us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4819us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4821us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4879us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4880us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4938us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 4940us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 4998us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5000us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 5059us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5061us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5063us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5064us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5066us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5068us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 5070us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5071us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5073us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5075us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 5110us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5112us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 5166us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5168us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 5203us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5204us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 5262us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5267us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 5324us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5326us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 5383us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5385us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 5442us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5444us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5446us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 5502us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5504us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 5562us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5564us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 5566us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5567us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5569us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5571us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 5606us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 5607us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 5662us : find_suitable_fallback <-__rmqueue_pcplist
...
dd-767 0d.... 287032us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 287034us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287035us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287037us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287039us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287040us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287094us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287096us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287098us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287151us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287153us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287155us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287157us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287158us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287212us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287213us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287266us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287268us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287321us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287323us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 287326us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287327us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287329us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287330us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287332us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287386us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287388us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287389us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287443us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287445us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287446us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287448us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287450us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287502us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287504us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287557us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287559us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287560us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287562us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 287564us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287566us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287567us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287569us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287571us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287624us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287625us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287627us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287681us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287682us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287684us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287686us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287687us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287740us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287742us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287744us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287797us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287799us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 287801us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287802us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287804us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287806us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287807us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287861us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287863us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287864us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287917us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287919us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287921us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287922us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287926us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 287979us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287980us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287982us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287984us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287985us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287987us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 287989us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287991us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287993us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287994us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 287996us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 288049us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 288051us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 288053us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 288106us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 288107us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 288109us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 288111us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 288112us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 288114us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 288167us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 288169us+: try_to_claim_block <-__rmqueue_pcplist
dd-767 0d.... 288223us : find_suitable_fallback <-__rmqueue_pcplist
dd-767 0d.... 288225us : __mod_zone_page_state <-__rmqueue_pcplist
dd-767 0d.... 288227us : _raw_spin_unlock_irqrestore <-__rmqueue_pcplist
dd-767 0d.... 288230us : _raw_spin_unlock_irqrestore
dd-767 0d.... 288234us+: trace_hardirqs_on <-_raw_spin_unlock_irqrestore
dd-767 0d.... 288277us : <stack trace>
=> get_page_from_freelist
=> __alloc_frozen_pages_noprof
=> __folio_alloc_noprof
=> __filemap_get_folio
=> iomap_write_begin
=> iomap_file_buffered_write
=> blkdev_write_iter
=> vfs_write
=> ksys_write
=> ret_fast_syscall
Best Regard
Carlos Song
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Ask help about this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion"
2025-04-02 11:31 Ask help about this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion" Carlos Song
@ 2025-04-02 15:00 ` Vlastimil Babka
2025-04-03 9:17 ` Carlos Song
2025-04-02 19:44 ` Johannes Weiner
1 sibling, 1 reply; 7+ messages in thread
From: Vlastimil Babka @ 2025-04-02 15:00 UTC (permalink / raw)
To: Carlos Song, hannes, baolin.wang, ying.huang, david, mgorman, ziy, akpm
Cc: linux-mm, linux-kernel
On 4/2/25 13:31, Carlos Song wrote:
> Hi, all
Hi,
> I found a 300ms~600ms IRQ off when writing 1Gb data to storage device at I.MX7d SDB board at Linux-kernel-v6.14.
> From this discussion I find the regression root cause:
> https://lore.kernel.org/linux-mm/CAJuCfpGajtAP8-kw5B5mKmhfyq6Pn67+PJgMjBeozW-qzjQMkw@mail.gmail.com/T/
>
> Before add this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion", this longest IRQ off time is only 1ms~2ms.
> After add this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion", this longest IRQ off time is only ~100ms.
> This patch is added in linux-kernel 6.10.
> In the same test case and environment. From 6.10, as other PATCHs are added, the spinlock time gradually increases. At 6.12 the IRQ off is ~150ms
> and at 6.14, the IRQ off time is ~300ms.
>
> Run this cmd to test:
> dd if=/dev/zero of=/dev/mmcblk0p3 bs=4096 seek=12500 count=256000 conv=fsync
>
> I use Ftrace irqoff tracer to trace the longest IRQ off event. Here is my test log. Do I trigger a bug?
>
> 4 Ftrace logs of irqoff tracing on the same environment using the same case only with different kernel version:
> 1. Not add the patch 2. Add the patch 3. At 6.12 4. At 6.14.
>
> Log is here:
Do you have CONFIG_DEBUG_VM enabled? Or maybe what's the .config in general?
I guess we do more work in __rmqueue_fallback() now under the lock but it
should not take *that* long, hm. I'm not however sure if we can split the
zone lock holding here.
Guess we could at least optimize account_freepages() done as part of
__move_freepages_block() -> move_to_free_list() as the migratetypes are
always the same so it could be a single pair of calls on an accumulated
nr_pages count instead of pair for every page moved. And the loop in
__move_freepages_block() could have an extra struct page * iterator instead
of pfn_to_page() in every iteration.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Ask help about this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion"
2025-04-02 11:31 Ask help about this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion" Carlos Song
2025-04-02 15:00 ` Vlastimil Babka
@ 2025-04-02 19:44 ` Johannes Weiner
2025-04-03 9:23 ` Carlos Song
1 sibling, 1 reply; 7+ messages in thread
From: Johannes Weiner @ 2025-04-02 19:44 UTC (permalink / raw)
To: Carlos Song
Cc: baolin.wang, ying.huang, vbabka, david, mgorman, ziy, akpm,
linux-mm, linux-kernel, Brendan Jackman
Hi Carlos,
On Wed, Apr 02, 2025 at 11:31:58AM +0000, Carlos Song wrote:
> Hi, all
>
> I found a 300ms~600ms IRQ off when writing 1Gb data to storage device at I.MX7d SDB board at Linux-kernel-v6.14.
> From this discussion I find the regression root cause:
> https://lore.kernel.org/linux-mm/CAJuCfpGajtAP8-kw5B5mKmhfyq6Pn67+PJgMjBeozW-qzjQMkw@mail.gmail.com/T/
Thanks for the report!
> 2. After add this patch: c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion"
> # tracer: irqsoff
> #
> # irqsoff latency trace v1.1.5 on 6.9.0-rc4-00116-gc0cd6f557b90
> # --------------------------------------------------------------------
> # latency: 93635 us, #13758/13758, CPU#0 | (M:server VP:0, KP:0, SP:0 HP:0 #P:2)
> # -----------------
> # | task: dd-764 (uid:0 nice:0 policy:0 rt_prio:0)
> # -----------------
> # => started at: _raw_spin_lock_irqsave
> # => ended at: _raw_spin_unlock_irqrestore
> #
> #
> # _------=> CPU#
> # / _-----=> irqs-off/BH-disabled
> # | / _----=> need-resched
> # || / _---=> hardirq/softirq
> # ||| / _--=> preempt-depth
> # |||| / _-=> migrate-disable
> # ||||| / delay
> # cmd pid |||||| time | caller
> # \ / |||||| \ | /
> dd-764 0d.... 1us!: _raw_spin_lock_irqsave
> dd-764 0d.... 206us : find_suitable_fallback <-__rmqueue_pcplist
> dd-764 0d.... 209us : find_suitable_fallback <-__rmqueue_pcplist
> dd-764 0d.... 210us : find_suitable_fallback <-__rmqueue_pcplist
> dd-764 0d.... 213us+: steal_suitable_fallback <-__rmqueue_pcplist
> dd-764 0d.... 281us : find_suitable_fallback <-__rmqueue_pcplist
> dd-764 0d.... 282us : find_suitable_fallback <-__rmqueue_pcplist
> dd-764 0d.... 284us : find_suitable_fallback <-__rmqueue_pcplist
> dd-764 0d.... 286us : find_suitable_fallback <-__rmqueue_pcplist
> dd-764 0d.... 288us+: steal_suitable_fallback <-__rmqueue_pcplist
This is the freelists being replenished with a loop over
__rmqueue(). Two things stand out:
1. steal_suitable_fallback() is the expensive part. The patch in
question made this slightly worse because stealability is checked
up-front instead of just stealing optimistically like before. So
the pages in the block are iterated twice. This can explain some of
the issue, but not a 100x increase in lock hold time.
2. We're doing it *a lot*. And this is the likely culprit. Whereas
before the patch, we'd steal whole buddies and their remainders,
afterwards there is a lot more single page stealing when grabbing
the whole block fails. This means __rmqueue_smallest() fails more
often and we end up doing a lot more topdown fallback scans:
> dd-767 0d.... 2043us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2045us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2047us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2049us+: try_to_claim_block <-__rmqueue_pcplist
> dd-767 0d.... 2101us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2103us+: try_to_claim_block <-__rmqueue_pcplist
> dd-767 0d.... 2181us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2184us+: try_to_claim_block <-__rmqueue_pcplist
> dd-767 0d.... 2220us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2222us+: try_to_claim_block <-__rmqueue_pcplist
> dd-767 0d.... 2304us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2306us+: try_to_claim_block <-__rmqueue_pcplist
> dd-767 0d.... 2365us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2367us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2368us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2370us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2372us+: try_to_claim_block <-__rmqueue_pcplist
> dd-767 0d.... 2434us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2436us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2438us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2442us : __mod_zone_page_state <-__rmqueue_pcplist
The __mod_zone_page_state() is the successful allocation after
attempting to steal a few different blocks. If this had succeeded, it
would have replenished the native freelist and we'd see another
__mod_zone_page_state() quickly. Alas it failed:
> dd-767 0d.... 2445us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2446us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2448us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2450us+: try_to_claim_block <-__rmqueue_pcplist
> dd-767 0d.... 2490us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2492us+: try_to_claim_block <-__rmqueue_pcplist
> dd-767 0d.... 2548us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2550us+: try_to_claim_block <-__rmqueue_pcplist
> dd-767 0d.... 2586us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2588us+: try_to_claim_block <-__rmqueue_pcplist
> dd-767 0d.... 2652us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2654us+: try_to_claim_block <-__rmqueue_pcplist
> dd-767 0d.... 2712us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2714us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2715us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2717us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2719us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2720us+: try_to_claim_block <-__rmqueue_pcplist
> dd-767 0d.... 2778us : find_suitable_fallback <-__rmqueue_pcplist
> dd-767 0d.... 2780us : __mod_zone_page_state <-__rmqueue_pcplist
... and we go through the whole fallback spiel for the next page.
We can definitely do better. rmqueue_bulk() holds the zone->lock the
entire time, which means nobody else can modify the freelists
underneath us. Once block claiming has failed, there is no point in
trying it again for the next page.
In fact, the recent kernel test bot report [1] appears to be related
to this. It points to c2f6ea38fc1b640aa7a2e155cc1c0410ff91afa2 ("mm:
page_alloc: don't steal single pages from biggest buddy"), a patch
that further forces bottom-up freelist scans if block stealing fails.
Attached is a patch that has __rmqueue() remember which fallback level
it had to stoop to in order to succeed; for the next page, it restarts
the search from there.
I cannot reproduce Carlos' setup, but testing with lru-file-mmap-read
from the kernel test bot, it shows a stark difference:
upstream patched
real 0m8.939s 0m5.546s
user 0m2.617s 0m2.528s
sys 0m52.885s 0m30.183s
Trace points confirm that try_to_reclaim_block() is called about two
orders of magnitudes less than before.
[1] https://lore.kernel.org/all/202503271547.fc08b188-lkp@intel.com/
---
From 13433454403e0c6f99ccc3b76c609034fe47e41c Mon Sep 17 00:00:00 2001
From: Johannes Weiner <hannes@cmpxchg.org>
Date: Wed, 2 Apr 2025 14:23:53 -0400
Subject: [PATCH] mm: page_alloc: speed up fallbacks in rmqueue_bulk()
Not-yet-signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
---
mm/page_alloc.c | 100 +++++++++++++++++++++++++++++++++++-------------
1 file changed, 74 insertions(+), 26 deletions(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index f51aa6051a99..03b0d45ed45a 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2194,11 +2194,11 @@ try_to_claim_block(struct zone *zone, struct page *page,
* The use of signed ints for order and current_order is a deliberate
* deviation from the rest of this file, to make the for loop
* condition simpler.
- *
- * Return the stolen page, or NULL if none can be found.
*/
+
+/* Try to claim a whole foreign block, take a page, expand the remainder */
static __always_inline struct page *
-__rmqueue_fallback(struct zone *zone, int order, int start_migratetype,
+__rmqueue_claim(struct zone *zone, int order, int start_migratetype,
unsigned int alloc_flags)
{
struct free_area *area;
@@ -2236,14 +2236,26 @@ __rmqueue_fallback(struct zone *zone, int order, int start_migratetype,
page = try_to_claim_block(zone, page, current_order, order,
start_migratetype, fallback_mt,
alloc_flags);
- if (page)
- goto got_one;
+ if (page) {
+ trace_mm_page_alloc_extfrag(page, order, current_order,
+ start_migratetype, fallback_mt);
+ return page;
+ }
}
- if (alloc_flags & ALLOC_NOFRAGMENT)
- return NULL;
+ return NULL;
+}
+
+/* Try to steal a single page from a foreign block */
+static __always_inline struct page *
+__rmqueue_steal(struct zone *zone, int order, int start_migratetype)
+{
+ struct free_area *area;
+ int current_order;
+ struct page *page;
+ int fallback_mt;
+ bool claim_block;
- /* No luck claiming pageblock. Find the smallest fallback page */
for (current_order = order; current_order < NR_PAGE_ORDERS; current_order++) {
area = &(zone->free_area[current_order]);
fallback_mt = find_suitable_fallback(area, current_order,
@@ -2253,25 +2265,28 @@ __rmqueue_fallback(struct zone *zone, int order, int start_migratetype,
page = get_page_from_free_area(area, fallback_mt);
page_del_and_expand(zone, page, order, current_order, fallback_mt);
- goto got_one;
+ trace_mm_page_alloc_extfrag(page, order, current_order,
+ start_migratetype, fallback_mt);
+ return page;
}
return NULL;
-
-got_one:
- trace_mm_page_alloc_extfrag(page, order, current_order,
- start_migratetype, fallback_mt);
-
- return page;
}
+enum rmqueue_mode {
+ RMQUEUE_NORMAL,
+ RMQUEUE_CMA,
+ RMQUEUE_CLAIM,
+ RMQUEUE_STEAL,
+};
+
/*
* Do the hard work of removing an element from the buddy allocator.
* Call me with the zone->lock already held.
*/
static __always_inline struct page *
__rmqueue(struct zone *zone, unsigned int order, int migratetype,
- unsigned int alloc_flags)
+ unsigned int alloc_flags, enum rmqueue_mode *mode)
{
struct page *page;
@@ -2290,16 +2305,47 @@ __rmqueue(struct zone *zone, unsigned int order, int migratetype,
}
}
- page = __rmqueue_smallest(zone, order, migratetype);
- if (unlikely(!page)) {
- if (alloc_flags & ALLOC_CMA)
+ /*
+ * Try the different freelists, native then foreign.
+ *
+ * The fallback logic is expensive and rmqueue_bulk() calls in
+ * a loop with the zone->lock held, meaning the freelists are
+ * not subject to any outside changes. Remember in *mode where
+ * we found pay dirt, to save us the search on the next call.
+ */
+ switch (*mode) {
+ case RMQUEUE_NORMAL:
+ page = __rmqueue_smallest(zone, order, migratetype);
+ if (page)
+ return page;
+ fallthrough;
+ case RMQUEUE_CMA:
+ if (alloc_flags & ALLOC_CMA) {
page = __rmqueue_cma_fallback(zone, order);
-
- if (!page)
- page = __rmqueue_fallback(zone, order, migratetype,
- alloc_flags);
+ if (page) {
+ *mode = RMQUEUE_CMA;
+ return page;
+ }
+ }
+ fallthrough;
+ case RMQUEUE_CLAIM:
+ page = __rmqueue_claim(zone, order, migratetype, alloc_flags);
+ if (page) {
+ /* Replenished native freelist, back to normal mode */
+ *mode = RMQUEUE_NORMAL;
+ return page;
+ }
+ fallthrough;
+ case RMQUEUE_STEAL:
+ if (!(alloc_flags & ALLOC_NOFRAGMENT)) {
+ page = __rmqueue_steal(zone, order, migratetype);
+ if (page) {
+ *mode = RMQUEUE_STEAL;
+ return page;
+ }
+ }
}
- return page;
+ return NULL;
}
/*
@@ -2311,6 +2357,7 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order,
unsigned long count, struct list_head *list,
int migratetype, unsigned int alloc_flags)
{
+ enum rmqueue_mode rmqm = RMQUEUE_NORMAL;
unsigned long flags;
int i;
@@ -2321,7 +2368,7 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order,
}
for (i = 0; i < count; ++i) {
struct page *page = __rmqueue(zone, order, migratetype,
- alloc_flags);
+ alloc_flags, &rmqm);
if (unlikely(page == NULL))
break;
@@ -2934,6 +2981,7 @@ struct page *rmqueue_buddy(struct zone *preferred_zone, struct zone *zone,
{
struct page *page;
unsigned long flags;
+ enum rmqueue_mode rmqm = RMQUEUE_NORMAL;
do {
page = NULL;
@@ -2945,7 +2993,7 @@ struct page *rmqueue_buddy(struct zone *preferred_zone, struct zone *zone,
if (alloc_flags & ALLOC_HIGHATOMIC)
page = __rmqueue_smallest(zone, order, MIGRATE_HIGHATOMIC);
if (!page) {
- page = __rmqueue(zone, order, migratetype, alloc_flags);
+ page = __rmqueue(zone, order, migratetype, alloc_flags, &rmqm);
/*
* If the allocation fails, allow OOM handling and
--
2.49.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Ask help about this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion"
2025-04-02 15:00 ` Vlastimil Babka
@ 2025-04-03 9:17 ` Carlos Song
0 siblings, 0 replies; 7+ messages in thread
From: Carlos Song @ 2025-04-03 9:17 UTC (permalink / raw)
To: Vlastimil Babka, hannes, baolin.wang, ying.huang, david, mgorman,
ziy, akpm
Cc: linux-mm, linux-kernel
> -----Original Message-----
> From: Vlastimil Babka <vbabka@suse.cz>
> Sent: Wednesday, April 2, 2025 11:01 PM
> To: Carlos Song <carlos.song@nxp.com>; hannes@cmpxchg.org;
> baolin.wang@linux.alibaba.com; ying.huang@intel.com; david@redhat.com;
> mgorman@techsingularity.net; ziy@nvidia.com; akpm@linux-foundation.org
> Cc: linux-mm@kvack.org; linux-kernel@vger.kernel.org
> Subject: [EXT] Re: Ask help about this patch c0cd6f557b90 "mm: page_alloc: fix
> freelist movement during block conversion"
>
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report this
> email' button
>
>
> On 4/2/25 13:31, Carlos Song wrote:
> > Hi, all
>
> Hi,
>
> > I found a 300ms~600ms IRQ off when writing 1Gb data to storage device at
> I.MX7d SDB board at Linux-kernel-v6.14.
> > From this discussion I find the regression root cause:
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore
> > .kernel.org%2Flinux-mm%2FCAJuCfpGajtAP8-kw5B5mKmhfyq6Pn67%2BPJgMj
> BeozW
> >
> -qzjQMkw%40mail.gmail.com%2FT%2F&data=05%7C02%7Ccarlos.song%40nxp
> .com%
> >
> 7C30f153ecf3234bf3619a08dd71f72e6b%7C686ea1d3bc2b4c6fa92cd99c5c301
> 635%
> >
> 7C0%7C0%7C638792028628801379%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0
> eU1hcGkiO
> >
> nRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%
> >
> 3D%3D%7C0%7C%7C%7C&sdata=hqeX9jfdbi7wcq7JZaVawvZKoD9yLGyJ9aIzGX
> pdS38%3
> > D&reserved=0
> >
> > Before add this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement
> during block conversion", this longest IRQ off time is only 1ms~2ms.
> > After add this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement
> during block conversion", this longest IRQ off time is only ~100ms.
> > This patch is added in linux-kernel 6.10.
> > In the same test case and environment. From 6.10, as other PATCHs are
> > added, the spinlock time gradually increases. At 6.12 the IRQ off is ~150ms and
> at 6.14, the IRQ off time is ~300ms.
> >
> > Run this cmd to test:
> > dd if=/dev/zero of=/dev/mmcblk0p3 bs=4096 seek=12500 count=256000
> > conv=fsync
> >
> > I use Ftrace irqoff tracer to trace the longest IRQ off event. Here is my test log.
> Do I trigger a bug?
> >
> > 4 Ftrace logs of irqoff tracing on the same environment using the same case
> only with different kernel version:
> > 1. Not add the patch 2. Add the patch 3. At 6.12 4. At 6.14.
> >
> > Log is here:
>
Hi,
Thank you for your quick ack and help!
> Do you have CONFIG_DEBUG_VM enabled? Or maybe what's the .config in
> general?
>
I think we don't enable CONFIG_DEBUG_VM
In .config, I can see
# CONFIG_DEBUG_VM is not set
A Snapshot in .config:
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_PER_VMA_LOCK_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SHRINKER_DEBUG is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_SCHED_STACK_END_CHECK is not set
# CONFIG_DEBUG_VFS is not set
# CONFIG_DEBUG_VM is not set
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_DEBUG_KMAP_LOCAL is not set
# CONFIG_DEBUG_HIGHMEM is not set
# CONFIG_MEM_ALLOC_PROFILING is not set
Carlos Song
> I guess we do more work in __rmqueue_fallback() now under the lock but it
> should not take *that* long, hm. I'm not however sure if we can split the zone
> lock holding here.
>
> Guess we could at least optimize account_freepages() done as part of
> __move_freepages_block() -> move_to_free_list() as the migratetypes are
> always the same so it could be a single pair of calls on an accumulated nr_pages
> count instead of pair for every page moved. And the loop in
> __move_freepages_block() could have an extra struct page * iterator instead of
> pfn_to_page() in every iteration.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Ask help about this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion"
2025-04-02 19:44 ` Johannes Weiner
@ 2025-04-03 9:23 ` Carlos Song
2025-04-03 21:18 ` Johannes Weiner
0 siblings, 1 reply; 7+ messages in thread
From: Carlos Song @ 2025-04-03 9:23 UTC (permalink / raw)
To: Johannes Weiner
Cc: baolin.wang, ying.huang, vbabka, david, mgorman, ziy, akpm,
linux-mm, linux-kernel, Brendan Jackman
> -----Original Message-----
> From: Johannes Weiner <hannes@cmpxchg.org>
> Sent: Thursday, April 3, 2025 3:44 AM
> To: Carlos Song <carlos.song@nxp.com>
> Cc: baolin.wang@linux.alibaba.com; ying.huang@intel.com; vbabka@suse.cz;
> david@redhat.com; mgorman@techsingularity.net; ziy@nvidia.com;
> akpm@linux-foundation.org; linux-mm@kvack.org;
> linux-kernel@vger.kernel.org; Brendan Jackman <jackmanb@google.com>
> Subject: [EXT] Re: Ask help about this patch c0cd6f557b90 "mm: page_alloc: fix
> freelist movement during block conversion"
>
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report this
> email' button
>
>
> Hi Carlos,
>
> On Wed, Apr 02, 2025 at 11:31:58AM +0000, Carlos Song wrote:
> > Hi, all
> >
> > I found a 300ms~600ms IRQ off when writing 1Gb data to storage device at
> I.MX7d SDB board at Linux-kernel-v6.14.
> > From this discussion I find the regression root cause:
> > https://lore/
> > .kernel.org%2Flinux-mm%2FCAJuCfpGajtAP8-kw5B5mKmhfyq6Pn67%2BPJgMj
> BeozW
> >
> -qzjQMkw%40mail.gmail.com%2FT%2F&data=05%7C02%7Ccarlos.song%40nxp
> .com%
> >
> 7Cd7694a8c3df242bbfafb08dd721eca68%7C686ea1d3bc2b4c6fa92cd99c5c301
> 635%
> >
> 7C0%7C0%7C638792198771816986%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0
> eU1hcGkiO
> >
> nRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%
> >
> 3D%3D%7C0%7C%7C%7C&sdata=uLdowX74RLIC8Lwd0u9UGub1Lx7MI6YLT1e2
> ERF5VmY%3
> > D&reserved=0
>
> Thanks for the report!
>
> > 2. After add this patch: c0cd6f557b90 "mm: page_alloc: fix freelist movement
> during block conversion"
> > # tracer: irqsoff
> > #
> > # irqsoff latency trace v1.1.5 on 6.9.0-rc4-00116-gc0cd6f557b90 #
> > --------------------------------------------------------------------
> > # latency: 93635 us, #13758/13758, CPU#0 | (M:server VP:0, KP:0, SP:0 HP:0
> #P:2)
> > # -----------------
> > # | task: dd-764 (uid:0 nice:0 policy:0 rt_prio:0)
> > # -----------------
> > # => started at: _raw_spin_lock_irqsave
> > # => ended at: _raw_spin_unlock_irqrestore
> > #
> > #
> > # _------=> CPU#
> > # / _-----=> irqs-off/BH-disabled
> > # | / _----=> need-resched
> > # || / _---=> hardirq/softirq
> > # ||| / _--=> preempt-depth
> > # |||| / _-=> migrate-disable
> > # ||||| / delay
> > # cmd pid |||||| time | caller
> > # \ / |||||| \ | /
> > dd-764 0d.... 1us!: _raw_spin_lock_irqsave
> > dd-764 0d.... 206us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-764 0d.... 209us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-764 0d.... 210us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-764 0d.... 213us+: steal_suitable_fallback
> <-__rmqueue_pcplist
> > dd-764 0d.... 281us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-764 0d.... 282us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-764 0d.... 284us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-764 0d.... 286us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-764 0d.... 288us+: steal_suitable_fallback
> <-__rmqueue_pcplist
>
> This is the freelists being replenished with a loop over __rmqueue(). Two things
> stand out:
>
> 1. steal_suitable_fallback() is the expensive part. The patch in
> question made this slightly worse because stealability is checked
> up-front instead of just stealing optimistically like before. So
> the pages in the block are iterated twice. This can explain some of
> the issue, but not a 100x increase in lock hold time.
>
> 2. We're doing it *a lot*. And this is the likely culprit. Whereas
> before the patch, we'd steal whole buddies and their remainders,
> afterwards there is a lot more single page stealing when grabbing
> the whole block fails. This means __rmqueue_smallest() fails more
> often and we end up doing a lot more topdown fallback scans:
>
> > dd-767 0d.... 2043us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2045us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2047us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2049us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-767 0d.... 2101us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2103us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-767 0d.... 2181us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2184us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-767 0d.... 2220us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2222us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-767 0d.... 2304us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2306us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-767 0d.... 2365us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2367us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2368us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2370us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2372us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-767 0d.... 2434us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2436us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2438us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2442us : __mod_zone_page_state
> <-__rmqueue_pcplist
>
> The __mod_zone_page_state() is the successful allocation after attempting to
> steal a few different blocks. If this had succeeded, it would have replenished the
> native freelist and we'd see another
> __mod_zone_page_state() quickly. Alas it failed:
>
> > dd-767 0d.... 2445us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2446us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2448us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2450us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-767 0d.... 2490us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2492us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-767 0d.... 2548us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2550us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-767 0d.... 2586us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2588us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-767 0d.... 2652us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2654us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-767 0d.... 2712us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2714us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2715us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2717us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2719us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2720us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-767 0d.... 2778us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-767 0d.... 2780us : __mod_zone_page_state
> <-__rmqueue_pcplist
>
> ... and we go through the whole fallback spiel for the next page.
>
> We can definitely do better. rmqueue_bulk() holds the zone->lock the entire
> time, which means nobody else can modify the freelists underneath us. Once
> block claiming has failed, there is no point in trying it again for the next page.
>
> In fact, the recent kernel test bot report [1] appears to be related to this. It
> points to c2f6ea38fc1b640aa7a2e155cc1c0410ff91afa2 ("mm:
> page_alloc: don't steal single pages from biggest buddy"), a patch that further
> forces bottom-up freelist scans if block stealing fails.
>
> Attached is a patch that has __rmqueue() remember which fallback level it had
> to stoop to in order to succeed; for the next page, it restarts the search from
> there.
>
> I cannot reproduce Carlos' setup, but testing with lru-file-mmap-read from the
> kernel test bot, it shows a stark difference:
>
> upstream patched
> real 0m8.939s 0m5.546s
> user 0m2.617s 0m2.528s
> sys 0m52.885s 0m30.183s
>
> Trace points confirm that try_to_reclaim_block() is called about two orders of
> magnitudes less than before.
>
> [1]
> https://lore.kern/
> el.org%2Fall%2F202503271547.fc08b188-lkp%40intel.com%2F&data=05%7C02
> %7Ccarlos.song%40nxp.com%7Cd7694a8c3df242bbfafb08dd721eca68%7C686e
> a1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C638792198771844055%7CUnk
> nown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsI
> lAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=
> DyKhob0zA5ujzeidYFYx9EdvvM5Kps3YDk94wsIfTG0%3D&reserved=0
>
Hi,
Thank you for your quick ack and help! After applied this patch, it improved well.
I apply this patch at this HEAD:
f0a16f536332 (tag: next-20250403, origin/master, origin/HEAD) Add linux-next specific files for 20250403
and do 10 times same test like what I have done before in IMX7D:
The IRQ off tracer shows the irq_off time 7~10ms. Is this what you expected?
#
# irqsoff latency trace v1.1.5 on 6.14.0-next-20250403-00003-gf9e8473ee91a
# --------------------------------------------------------------------
# latency: 8111 us, #4323/4323, CPU#0 | (M:NONE VP:0, KP:0, SP:0 HP:0 #P:2)
# -----------------
# | task: dd-820 (uid:0 nice:0 policy:0 rt_prio:0)
# -----------------
# => started at: __rmqueue_pcplist
# => ended at: _raw_spin_unlock_irqrestore
#
#
# _------=> CPU#
# / _-----=> irqs-off/BH-disabled
# | / _----=> need-resched
# || / _---=> hardirq/softirq
# ||| / _--=> preempt-depth
# |||| / _-=> migrate-disable
# ||||| / delay
# cmd pid |||||| time | caller
# \ / |||||| \ | /
dd-820 0d.... 1us : __rmqueue_pcplist
dd-820 0d.... 3us : _raw_spin_trylock <-__rmqueue_pcplist
dd-820 0d.... 7us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 11us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 13us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 15us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 17us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 19us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 21us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 23us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 25us : __mod_zone_page_state <-__rmqueue_pcplist
...
dd-820 0d.... 1326us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1328us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1330us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1332us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1334us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1336us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1337us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1339us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1341us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1343us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1345us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1347us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1349us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1351us : __mod_zone_page_state <-__rmqueue_pcplist
...
dd-820 0d.... 1660us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1662us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1664us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 1666us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 1668us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 1670us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 1672us+: try_to_claim_block <-__rmqueue_pcplist
dd-820 0d.... 1727us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 1729us+: try_to_claim_block <-__rmqueue_pcplist
dd-820 0d.... 1806us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 1807us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 1809us+: try_to_claim_block <-__rmqueue_pcplist
dd-820 0d.... 1854us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 1856us+: try_to_claim_block <-__rmqueue_pcplist
dd-820 0d.... 1893us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 1895us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 1896us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 1898us+: try_to_claim_block <-__rmqueue_pcplist
dd-820 0d.... 1954us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 1956us+: try_to_claim_block <-__rmqueue_pcplist
dd-820 0d.... 2012us : find_suitable_fallback <-__rmqueue_pcplist
...
dd-820 0d.... 8077us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 8079us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 8081us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 8083us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 8084us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 8086us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 8088us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 8089us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 8091us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 8093us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 8095us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 8097us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 8098us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 8100us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 8102us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 8104us : find_suitable_fallback <-__rmqueue_pcplist
dd-820 0d.... 8105us : __mod_zone_page_state <-__rmqueue_pcplist
dd-820 0d.... 8107us : _raw_spin_unlock_irqrestore <-__rmqueue_pcplist
dd-820 0d.... 8110us : _raw_spin_unlock_irqrestore
dd-820 0d.... 8113us+: trace_hardirqs_on <-_raw_spin_unlock_irqrestore
dd-820 0d.... 8156us : <stack trace>
=> get_page_from_freelist
=> __alloc_frozen_pages_noprof
=> __folio_alloc_noprof
=> __filemap_get_folio
=> iomap_write_begin
=> iomap_file_buffered_write
=> blkdev_write_iter
=> vfs_write
=> ksys_write
=> ret_fast_syscall
Carlos Song
> ---
>
> From 13433454403e0c6f99ccc3b76c609034fe47e41c Mon Sep 17 00:00:00
> 2001
> From: Johannes Weiner <hannes@cmpxchg.org>
> Date: Wed, 2 Apr 2025 14:23:53 -0400
> Subject: [PATCH] mm: page_alloc: speed up fallbacks in rmqueue_bulk()
>
> Not-yet-signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
> ---
> mm/page_alloc.c | 100 +++++++++++++++++++++++++++++++++++-------------
> 1 file changed, 74 insertions(+), 26 deletions(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c index
> f51aa6051a99..03b0d45ed45a 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -2194,11 +2194,11 @@ try_to_claim_block(struct zone *zone, struct page
> *page,
> * The use of signed ints for order and current_order is a deliberate
> * deviation from the rest of this file, to make the for loop
> * condition simpler.
> - *
> - * Return the stolen page, or NULL if none can be found.
> */
> +
> +/* Try to claim a whole foreign block, take a page, expand the
> +remainder */
> static __always_inline struct page *
> -__rmqueue_fallback(struct zone *zone, int order, int start_migratetype,
> +__rmqueue_claim(struct zone *zone, int order, int start_migratetype,
> unsigned int
> alloc_flags) {
> struct free_area *area;
> @@ -2236,14 +2236,26 @@ __rmqueue_fallback(struct zone *zone, int order,
> int start_migratetype,
> page = try_to_claim_block(zone, page, current_order, order,
> start_migratetype,
> fallback_mt,
> alloc_flags);
> - if (page)
> - goto got_one;
> + if (page) {
> + trace_mm_page_alloc_extfrag(page, order,
> current_order,
> +
> start_migratetype, fallback_mt);
> + return page;
> + }
> }
>
> - if (alloc_flags & ALLOC_NOFRAGMENT)
> - return NULL;
> + return NULL;
> +}
> +
> +/* Try to steal a single page from a foreign block */ static
> +__always_inline struct page * __rmqueue_steal(struct zone *zone, int
> +order, int start_migratetype) {
> + struct free_area *area;
> + int current_order;
> + struct page *page;
> + int fallback_mt;
> + bool claim_block;
>
> - /* No luck claiming pageblock. Find the smallest fallback page */
> for (current_order = order; current_order < NR_PAGE_ORDERS;
> current_order++) {
> area = &(zone->free_area[current_order]);
> fallback_mt = find_suitable_fallback(area, current_order,
> @@ -2253,25 +2265,28 @@ __rmqueue_fallback(struct zone *zone, int order,
> int start_migratetype,
>
> page = get_page_from_free_area(area, fallback_mt);
> page_del_and_expand(zone, page, order, current_order,
> fallback_mt);
> - goto got_one;
> + trace_mm_page_alloc_extfrag(page, order, current_order,
> + start_migratetype,
> fallback_mt);
> + return page;
> }
>
> return NULL;
> -
> -got_one:
> - trace_mm_page_alloc_extfrag(page, order, current_order,
> - start_migratetype, fallback_mt);
> -
> - return page;
> }
>
> +enum rmqueue_mode {
> + RMQUEUE_NORMAL,
> + RMQUEUE_CMA,
> + RMQUEUE_CLAIM,
> + RMQUEUE_STEAL,
> +};
> +
> /*
> * Do the hard work of removing an element from the buddy allocator.
> * Call me with the zone->lock already held.
> */
> static __always_inline struct page *
> __rmqueue(struct zone *zone, unsigned int order, int migratetype,
> - unsigned int
> alloc_flags)
> + unsigned int alloc_flags, enum rmqueue_mode *mode)
> {
> struct page *page;
>
> @@ -2290,16 +2305,47 @@ __rmqueue(struct zone *zone, unsigned int order,
> int migratetype,
> }
> }
>
> - page = __rmqueue_smallest(zone, order, migratetype);
> - if (unlikely(!page)) {
> - if (alloc_flags & ALLOC_CMA)
> + /*
> + * Try the different freelists, native then foreign.
> + *
> + * The fallback logic is expensive and rmqueue_bulk() calls in
> + * a loop with the zone->lock held, meaning the freelists are
> + * not subject to any outside changes. Remember in *mode where
> + * we found pay dirt, to save us the search on the next call.
> + */
> + switch (*mode) {
> + case RMQUEUE_NORMAL:
> + page = __rmqueue_smallest(zone, order, migratetype);
> + if (page)
> + return page;
> + fallthrough;
> + case RMQUEUE_CMA:
> + if (alloc_flags & ALLOC_CMA) {
> page = __rmqueue_cma_fallback(zone, order);
> -
> - if (!page)
> - page = __rmqueue_fallback(zone, order,
> migratetype,
> - alloc_flags);
> + if (page) {
> + *mode = RMQUEUE_CMA;
> + return page;
> + }
> + }
> + fallthrough;
> + case RMQUEUE_CLAIM:
> + page = __rmqueue_claim(zone, order, migratetype,
> alloc_flags);
> + if (page) {
> + /* Replenished native freelist, back to normal
> mode */
> + *mode = RMQUEUE_NORMAL;
> + return page;
> + }
> + fallthrough;
> + case RMQUEUE_STEAL:
> + if (!(alloc_flags & ALLOC_NOFRAGMENT)) {
> + page = __rmqueue_steal(zone, order,
> migratetype);
> + if (page) {
> + *mode = RMQUEUE_STEAL;
> + return page;
> + }
> + }
> }
> - return page;
> + return NULL;
> }
>
> /*
> @@ -2311,6 +2357,7 @@ static int rmqueue_bulk(struct zone *zone, unsigned
> int order,
> unsigned long count, struct list_head *list,
> int migratetype, unsigned int alloc_flags) {
> + enum rmqueue_mode rmqm = RMQUEUE_NORMAL;
> unsigned long flags;
> int i;
>
> @@ -2321,7 +2368,7 @@ static int rmqueue_bulk(struct zone *zone, unsigned
> int order,
> }
> for (i = 0; i < count; ++i) {
> struct page *page = __rmqueue(zone, order, migratetype,
> -
> alloc_flags);
> + alloc_flags, &rmqm);
> if (unlikely(page == NULL))
> break;
>
> @@ -2934,6 +2981,7 @@ struct page *rmqueue_buddy(struct zone
> *preferred_zone, struct zone *zone, {
> struct page *page;
> unsigned long flags;
> + enum rmqueue_mode rmqm = RMQUEUE_NORMAL;
>
> do {
> page = NULL;
> @@ -2945,7 +2993,7 @@ struct page *rmqueue_buddy(struct zone
> *preferred_zone, struct zone *zone,
> if (alloc_flags & ALLOC_HIGHATOMIC)
> page = __rmqueue_smallest(zone, order,
> MIGRATE_HIGHATOMIC);
> if (!page) {
> - page = __rmqueue(zone, order, migratetype,
> alloc_flags);
> + page = __rmqueue(zone, order, migratetype,
> + alloc_flags, &rmqm);
>
> /*
> * If the allocation fails, allow OOM handling and
> --
> 2.49.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Ask help about this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion"
2025-04-03 9:23 ` Carlos Song
@ 2025-04-03 21:18 ` Johannes Weiner
2025-04-07 2:45 ` Carlos Song
0 siblings, 1 reply; 7+ messages in thread
From: Johannes Weiner @ 2025-04-03 21:18 UTC (permalink / raw)
To: Carlos Song
Cc: baolin.wang, ying.huang, vbabka, david, mgorman, ziy, akpm,
linux-mm, linux-kernel, Brendan Jackman
Hi Carlos,
On Thu, Apr 03, 2025 at 09:23:55AM +0000, Carlos Song wrote:
> Thank you for your quick ack and help! After applied this patch, it improved well.
> I apply this patch at this HEAD:
> f0a16f536332 (tag: next-20250403, origin/master, origin/HEAD) Add linux-next specific files for 20250403
>
> and do 10 times same test like what I have done before in IMX7D:
> The IRQ off tracer shows the irq_off time 7~10ms. Is this what you expected?
This is great, thank you for testing it!
> # irqsoff latency trace v1.1.5 on 6.14.0-next-20250403-00003-gf9e8473ee91a
> # --------------------------------------------------------------------
> # latency: 8111 us, #4323/4323, CPU#0 | (M:NONE VP:0, KP:0, SP:0 HP:0 #P:2)
> # -----------------
> # | task: dd-820 (uid:0 nice:0 policy:0 rt_prio:0)
> # -----------------
> # => started at: __rmqueue_pcplist
> # => ended at: _raw_spin_unlock_irqrestore
> #
> #
> # _------=> CPU#
> # / _-----=> irqs-off/BH-disabled
> # | / _----=> need-resched
> # || / _---=> hardirq/softirq
> # ||| / _--=> preempt-depth
> # |||| / _-=> migrate-disable
> # ||||| / delay
> # cmd pid |||||| time | caller
> # \ / |||||| \ | /
> dd-820 0d.... 1us : __rmqueue_pcplist
> dd-820 0d.... 3us : _raw_spin_trylock <-__rmqueue_pcplist
> dd-820 0d.... 7us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 11us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 13us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 15us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 17us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 19us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 21us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 23us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 25us : __mod_zone_page_state <-__rmqueue_pcplist
> ...
> dd-820 0d.... 1326us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1328us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1330us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1332us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1334us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1336us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1337us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1339us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1341us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1343us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1345us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1347us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1349us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1351us : __mod_zone_page_state <-__rmqueue_pcplist
> ...
> dd-820 0d.... 1660us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1662us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1664us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 1666us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 1668us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 1670us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 1672us+: try_to_claim_block <-__rmqueue_pcplist
> dd-820 0d.... 1727us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 1729us+: try_to_claim_block <-__rmqueue_pcplist
> dd-820 0d.... 1806us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 1807us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 1809us+: try_to_claim_block <-__rmqueue_pcplist
> dd-820 0d.... 1854us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 1856us+: try_to_claim_block <-__rmqueue_pcplist
> dd-820 0d.... 1893us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 1895us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 1896us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 1898us+: try_to_claim_block <-__rmqueue_pcplist
> dd-820 0d.... 1954us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 1956us+: try_to_claim_block <-__rmqueue_pcplist
> dd-820 0d.... 2012us : find_suitable_fallback <-__rmqueue_pcplist
> ...
> dd-820 0d.... 8077us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 8079us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 8081us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 8083us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 8084us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 8086us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 8088us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 8089us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 8091us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 8093us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 8095us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 8097us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 8098us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 8100us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 8102us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 8104us : find_suitable_fallback <-__rmqueue_pcplist
> dd-820 0d.... 8105us : __mod_zone_page_state <-__rmqueue_pcplist
> dd-820 0d.... 8107us : _raw_spin_unlock_irqrestore <-__rmqueue_pcplist
> dd-820 0d.... 8110us : _raw_spin_unlock_irqrestore
> dd-820 0d.... 8113us+: trace_hardirqs_on <-_raw_spin_unlock_irqrestore
> dd-820 0d.... 8156us : <stack trace>
This pattern looks much better. Once it fails to claim blocks, it goes
straight to single-page stealing.
Another observation is that find_suitable_callback() is hot. Looking
closer at that function, I think there are a few optimizations we can
do. Attaching another patch below, to go on top of the previous one.
Carlos, would you be able to give this a spin?
Thanks!
---
From 621b1842b9fbbb26848296a5feb4daf5b038ba33 Mon Sep 17 00:00:00 2001
From: Johannes Weiner <hannes@cmpxchg.org>
Date: Thu, 3 Apr 2025 16:44:32 -0400
Subject: [PATCH] mm: page_alloc: tighten up find_suitable_fallback()
find_suitable_fallback() is not as efficient as it could be:
1. should_try_claim_block() is a loop invariant. There is no point in
checking fallback areas if the caller is interested in claimable
blocks but the order and the migratetype don't allow for that.
2. __rmqueue_steal() doesn't care about claimability, so it shouldn't
have to run those tests.
Different callers want different things from this helper:
1. __compact_finished() scans orders up until it finds a claimable block
2. __rmqueue_claim() scans orders down as long as blocks are claimable
3. __rmqueue_steal() doesn't care about claimability at all
Move should_try_claim_block() out of the loop. Only test it for the
two callers who care in the first place. Distinguish "no blocks" from
"order + mt are not claimable" in the return value; __rmqueue_claim()
can stop once order becomes unclaimable, __compact_finished() can keep
advancing until order becomes claimable.
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
---
mm/compaction.c | 4 +---
mm/internal.h | 2 +-
mm/page_alloc.c | 31 +++++++++++++------------------
3 files changed, 15 insertions(+), 22 deletions(-)
diff --git a/mm/compaction.c b/mm/compaction.c
index 139f00c0308a..7462a02802a5 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -2348,7 +2348,6 @@ static enum compact_result __compact_finished(struct compact_control *cc)
ret = COMPACT_NO_SUITABLE_PAGE;
for (order = cc->order; order < NR_PAGE_ORDERS; order++) {
struct free_area *area = &cc->zone->free_area[order];
- bool claim_block;
/* Job done if page is free of the right migratetype */
if (!free_area_empty(area, migratetype))
@@ -2364,8 +2363,7 @@ static enum compact_result __compact_finished(struct compact_control *cc)
* Job done if allocation would steal freepages from
* other migratetype buddy lists.
*/
- if (find_suitable_fallback(area, order, migratetype,
- true, &claim_block) != -1)
+ if (find_suitable_fallback(area, order, migratetype, true) >= 0)
/*
* Movable pages are OK in any pageblock. If we are
* stealing for a non-movable allocation, make sure
diff --git a/mm/internal.h b/mm/internal.h
index 50c2f590b2d0..55384b9971c3 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -915,7 +915,7 @@ static inline void init_cma_pageblock(struct page *page)
int find_suitable_fallback(struct free_area *area, unsigned int order,
- int migratetype, bool claim_only, bool *claim_block);
+ int migratetype, bool claimable);
static inline bool free_area_empty(struct free_area *area, int migratetype)
{
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 03b0d45ed45a..1522e3a29b16 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2077,31 +2077,25 @@ static bool should_try_claim_block(unsigned int order, int start_mt)
/*
* Check whether there is a suitable fallback freepage with requested order.
- * Sets *claim_block to instruct the caller whether it should convert a whole
- * pageblock to the returned migratetype.
- * If only_claim is true, this function returns fallback_mt only if
+ * If claimable is true, this function returns fallback_mt only if
* we would do this whole-block claiming. This would help to reduce
* fragmentation due to mixed migratetype pages in one pageblock.
*/
int find_suitable_fallback(struct free_area *area, unsigned int order,
- int migratetype, bool only_claim, bool *claim_block)
+ int migratetype, bool claimable)
{
int i;
- int fallback_mt;
+
+ if (claimable && !should_try_claim_block(order, migratetype))
+ return -2;
if (area->nr_free == 0)
return -1;
- *claim_block = false;
for (i = 0; i < MIGRATE_PCPTYPES - 1 ; i++) {
- fallback_mt = fallbacks[migratetype][i];
- if (free_area_empty(area, fallback_mt))
- continue;
+ int fallback_mt = fallbacks[migratetype][i];
- if (should_try_claim_block(order, migratetype))
- *claim_block = true;
-
- if (*claim_block || !only_claim)
+ if (!free_area_empty(area, fallback_mt))
return fallback_mt;
}
@@ -2206,7 +2200,6 @@ __rmqueue_claim(struct zone *zone, int order, int start_migratetype,
int min_order = order;
struct page *page;
int fallback_mt;
- bool claim_block;
/*
* Do not steal pages from freelists belonging to other pageblocks
@@ -2225,11 +2218,14 @@ __rmqueue_claim(struct zone *zone, int order, int start_migratetype,
--current_order) {
area = &(zone->free_area[current_order]);
fallback_mt = find_suitable_fallback(area, current_order,
- start_migratetype, false, &claim_block);
+ start_migratetype, true);
+
+ /* No block in that order */
if (fallback_mt == -1)
continue;
- if (!claim_block)
+ /* Advanced into orders too low to claim, abort */
+ if (fallback_mt == -2)
break;
page = get_page_from_free_area(area, fallback_mt);
@@ -2254,12 +2250,11 @@ __rmqueue_steal(struct zone *zone, int order, int start_migratetype)
int current_order;
struct page *page;
int fallback_mt;
- bool claim_block;
for (current_order = order; current_order < NR_PAGE_ORDERS; current_order++) {
area = &(zone->free_area[current_order]);
fallback_mt = find_suitable_fallback(area, current_order,
- start_migratetype, false, &claim_block);
+ start_migratetype, false);
if (fallback_mt == -1)
continue;
--
2.49.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Ask help about this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion"
2025-04-03 21:18 ` Johannes Weiner
@ 2025-04-07 2:45 ` Carlos Song
0 siblings, 0 replies; 7+ messages in thread
From: Carlos Song @ 2025-04-07 2:45 UTC (permalink / raw)
To: Johannes Weiner
Cc: baolin.wang, ying.huang, vbabka, david, mgorman, ziy, akpm,
linux-mm, linux-kernel, Brendan Jackman
> -----Original Message-----
> From: Johannes Weiner <hannes@cmpxchg.org>
> Sent: Friday, April 4, 2025 5:18 AM
> To: Carlos Song <carlos.song@nxp.com>
> Cc: baolin.wang@linux.alibaba.com; ying.huang@intel.com; vbabka@suse.cz;
> david@redhat.com; mgorman@techsingularity.net; ziy@nvidia.com;
> akpm@linux-foundation.org; linux-mm@kvack.org;
> linux-kernel@vger.kernel.org; Brendan Jackman <jackmanb@google.com>
> Subject: [EXT] Re: Ask help about this patch c0cd6f557b90 "mm: page_alloc: fix
> freelist movement during block conversion"
>
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report this
> email' button
>
>
> Hi Carlos,
>
> On Thu, Apr 03, 2025 at 09:23:55AM +0000, Carlos Song wrote:
> > Thank you for your quick ack and help! After applied this patch, it improved
> well.
> > I apply this patch at this HEAD:
> > f0a16f536332 (tag: next-20250403, origin/master, origin/HEAD) Add
> > linux-next specific files for 20250403
> >
> > and do 10 times same test like what I have done before in IMX7D:
> > The IRQ off tracer shows the irq_off time 7~10ms. Is this what you expected?
>
> This is great, thank you for testing it!
>
> > # irqsoff latency trace v1.1.5 on
> > 6.14.0-next-20250403-00003-gf9e8473ee91a
> > # --------------------------------------------------------------------
> > # latency: 8111 us, #4323/4323, CPU#0 | (M:NONE VP:0, KP:0, SP:0 HP:0 #P:2)
> > # -----------------
> > # | task: dd-820 (uid:0 nice:0 policy:0 rt_prio:0)
> > # -----------------
> > # => started at: __rmqueue_pcplist
> > # => ended at: _raw_spin_unlock_irqrestore
> > #
> > #
> > # _------=> CPU#
> > # / _-----=> irqs-off/BH-disabled
> > # | / _----=> need-resched
> > # || / _---=> hardirq/softirq
> > # ||| / _--=> preempt-depth
> > # |||| / _-=> migrate-disable
> > # ||||| / delay
> > # cmd pid |||||| time | caller
> > # \ / |||||| \ | /
> > dd-820 0d.... 1us : __rmqueue_pcplist
> > dd-820 0d.... 3us : _raw_spin_trylock
> <-__rmqueue_pcplist
> > dd-820 0d.... 7us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 11us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 13us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 15us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 17us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 19us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 21us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 23us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 25us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > ...
> > dd-820 0d.... 1326us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1328us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1330us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1332us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1334us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1336us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1337us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1339us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1341us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1343us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1345us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1347us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1349us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1351us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > ...
> > dd-820 0d.... 1660us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1662us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1664us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 1666us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 1668us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 1670us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 1672us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-820 0d.... 1727us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 1729us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-820 0d.... 1806us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 1807us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 1809us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-820 0d.... 1854us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 1856us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-820 0d.... 1893us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 1895us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 1896us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 1898us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-820 0d.... 1954us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 1956us+: try_to_claim_block
> <-__rmqueue_pcplist
> > dd-820 0d.... 2012us : find_suitable_fallback
> <-__rmqueue_pcplist
> > ...
> > dd-820 0d.... 8077us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 8079us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 8081us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 8083us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 8084us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 8086us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 8088us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 8089us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 8091us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 8093us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 8095us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 8097us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 8098us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 8100us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 8102us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 8104us : find_suitable_fallback
> <-__rmqueue_pcplist
> > dd-820 0d.... 8105us : __mod_zone_page_state
> <-__rmqueue_pcplist
> > dd-820 0d.... 8107us : _raw_spin_unlock_irqrestore
> <-__rmqueue_pcplist
> > dd-820 0d.... 8110us : _raw_spin_unlock_irqrestore
> > dd-820 0d.... 8113us+: trace_hardirqs_on
> <-_raw_spin_unlock_irqrestore
> > dd-820 0d.... 8156us : <stack trace>
>
> This pattern looks much better. Once it fails to claim blocks, it goes straight to
> single-page stealing.
>
> Another observation is that find_suitable_callback() is hot. Looking closer at that
> function, I think there are a few optimizations we can do. Attaching another
> patch below, to go on top of the previous one.
>
> Carlos, would you be able to give this a spin?
>
> Thanks!
>
Hi,
Now I have applied both patches and get the log.
The IRQ off time become 4ms~5ms from the tracer.
# tracer: irqsoff
#
# irqsoff latency trace v1.1.5 on 6.14.0-next-20250403-00004-ga2dc7fa77e16
# --------------------------------------------------------------------
# latency: 4504 us, #2044/2044, CPU#0 | (M:NONE VP:0, KP:0, SP:0 HP:0 #P:2)
# -----------------
# | task: dd-801 (uid:0 nice:0 policy:0 rt_prio:0)
# -----------------
# => started at: __rmqueue_pcplist
# => ended at: _raw_spin_unlock_irqrestore
#
#
# _------=> CPU#
# / _-----=> irqs-off/BH-disabled
# | / _----=> need-resched
# || / _---=> hardirq/softirq
# ||| / _--=> preempt-depth
# |||| / _-=> migrate-disable
# ||||| / delay
# cmd pid |||||| time | caller
# \ / |||||| \ | /
dd-801 0d.... 1us : __rmqueue_pcplist
dd-801 0d.... 3us : _raw_spin_trylock <-__rmqueue_pcplist
dd-801 0d.... 7us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 12us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 14us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 16us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 18us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 20us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 21us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 23us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 25us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 27us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 29us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 31us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 33us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 35us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 37us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 38us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 40us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 43us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 45us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 47us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 48us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 50us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 52us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 54us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 56us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 58us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 60us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 61us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 63us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 65us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 67us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 69us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 71us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 74us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 76us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 78us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 79us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 81us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 83us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 85us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 87us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 89us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 91us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 93us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 94us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 96us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 98us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 100us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 102us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 104us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 106us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 108us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 110us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 112us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 114us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 115us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 117us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 119us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 121us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 123us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 125us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 127us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 129us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 131us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 132us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 135us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 137us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 139us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 141us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 143us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 144us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 146us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 148us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 150us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 152us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 154us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 156us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 158us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 159us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 161us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 163us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 165us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 167us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 169us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 171us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 173us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 175us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 177us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 178us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 181us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 182us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 184us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 186us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 188us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 190us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 192us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 193us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 196us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 198us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 200us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 202us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 204us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 206us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 207us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 209us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 211us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 213us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 215us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 217us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 219us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 220us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 222us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 224us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 227us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 228us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 230us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 232us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 234us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 236us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 238us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 239us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 242us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 243us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 245us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 247us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 249us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 251us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 253us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 254us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 257us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 259us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 261us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 262us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 264us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 266us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 268us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 270us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 272us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 274us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 276us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 278us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 280us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 281us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 283us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 285us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 287us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 289us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 291us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 293us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 295us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 297us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 298us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 300us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 302us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 304us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 306us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 308us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 310us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 312us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 313us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 315us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 319us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 320us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 322us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 324us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 326us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 328us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 330us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 331us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 334us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 335us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 337us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 339us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 341us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 343us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 345us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 346us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 349us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 351us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 352us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 354us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 356us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 358us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 360us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 362us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 364us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 366us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 367us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 369us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 371us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 373us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 375us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 377us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 379us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 381us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 383us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 385us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 387us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 389us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 390us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 395us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 397us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 399us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 401us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 403us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 405us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 407us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 408us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 410us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 412us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 414us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 416us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 418us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 420us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 422us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 423us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 425us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 427us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 429us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 431us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 433us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 435us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 437us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 439us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 440us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 443us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 445us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 447us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 449us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 451us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 452us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 454us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 456us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 458us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 460us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 462us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 463us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 465us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 467us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 469us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 471us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 473us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 475us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 477us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 479us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 481us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 483us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 484us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 486us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 488us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 490us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 492us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 494us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 496us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 498us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 500us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 501us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 504us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 506us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 508us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 509us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 511us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 513us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 515us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 517us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 519us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 521us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 523us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 524us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 526us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 528us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 530us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 532us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 534us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 536us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 538us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 540us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 542us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 543us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 545us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 547us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 549us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 551us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 553us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 555us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 557us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 558us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 560us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 562us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 565us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 567us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 569us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 571us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 573us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 574us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 576us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 578us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 580us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 582us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 584us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 585us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 587us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 589us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 591us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 593us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 595us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 597us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 599us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 601us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 603us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 605us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 607us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 608us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 610us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 612us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 614us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 616us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 618us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 620us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 621us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 623us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 626us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 628us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 630us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 631us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 633us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 635us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 637us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 639us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 641us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 643us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 645us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 646us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 648us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 650us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 652us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 654us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 656us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 658us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 660us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 662us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 664us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 666us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 667us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 669us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 671us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 673us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 675us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 677us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 679us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 680us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 682us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 684us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 687us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 689us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 690us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 692us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 694us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 696us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 698us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 700us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 702us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 704us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 706us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 707us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 709us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 711us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 713us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 715us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 717us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 719us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 721us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 723us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 725us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 726us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 728us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 730us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 732us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 734us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 736us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 738us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 740us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 741us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 743us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 745us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 748us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 749us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 751us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 753us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 755us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 757us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 759us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 761us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 763us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 765us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 767us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 768us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 770us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 772us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 774us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 776us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 778us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 780us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 782us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 785us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 788us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 789us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 791us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 793us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 795us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 797us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 799us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 801us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 803us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 804us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 806us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 808us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 810us : find_suitable_fallback <-__rmqueue_pcplist
dd-801 0d.... 813us : find_suitable_fallback <-__rmqueue_pcplist
dd-801 0d.... 814us : find_suitable_fallback <-__rmqueue_pcplist
dd-801 0d.... 817us+: try_to_claim_block <-__rmqueue_pcplist
dd-801 0d.... 880us : find_suitable_fallback <-__rmqueue_pcplist
dd-801 0d.... 882us+: try_to_claim_block <-__rmqueue_pcplist
dd-801 0d.... 937us : find_suitable_fallback <-__rmqueue_pcplist
dd-801 0d.... 939us+: try_to_claim_block <-__rmqueue_pcplist
dd-801 0d.... 978us : find_suitable_fallback <-__rmqueue_pcplist
dd-801 0d.... 980us+: try_to_claim_block <-__rmqueue_pcplist
dd-801 0d.... 1023us : find_suitable_fallback <-__rmqueue_pcplist
dd-801 0d.... 1025us+: try_to_claim_block <-__rmqueue_pcplist
dd-801 0d.... 1064us : find_suitable_fallback <-__rmqueue_pcplist
dd-801 0d.... 1066us+: try_to_claim_block <-__rmqueue_pcplist
dd-801 0d.... 1148us : find_suitable_fallback <-__rmqueue_pcplist
dd-801 0d.... 1150us+: try_to_claim_block <-__rmqueue_pcplist
dd-801 0d.... 1198us : find_suitable_fallback <-__rmqueue_pcplist
dd-801 0d.... 1200us+: try_to_claim_block <-__rmqueue_pcplist
dd-801 0d.... 1257us : find_suitable_fallback <-__rmqueue_pcplist
dd-801 0d.... 1259us+: try_to_claim_block <-__rmqueue_pcplist
dd-801 0d.... 1303us : find_suitable_fallback <-__rmqueue_pcplist
dd-801 0d.... 1305us+: try_to_claim_block <-__rmqueue_pcplist
dd-801 0d.... 1364us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1366us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1368us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1370us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1372us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1374us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1376us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1378us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1380us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1382us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1384us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1386us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1388us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1389us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1391us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1393us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1395us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1397us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1399us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1401us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1403us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1404us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1406us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1408us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1410us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1412us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1414us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1416us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1418us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1420us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1421us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1423us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1425us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1427us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1429us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1431us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1433us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1435us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1437us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1438us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1440us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1442us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1444us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1446us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1448us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1450us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1452us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1454us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1456us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1458us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1460us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1461us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1463us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1465us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1467us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1469us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1471us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1473us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1476us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1478us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1480us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1482us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1484us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1485us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1488us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1489us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1491us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1493us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1495us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1497us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1499us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1501us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1503us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1505us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1507us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1509us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1511us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1513us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1515us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1517us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1519us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1521us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1523us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1525us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1527us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1529us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1531us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1533us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1535us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1537us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1539us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1541us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1543us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1545us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1547us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1549us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1551us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1553us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1555us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1557us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1560us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1562us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1563us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1565us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1568us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1569us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1571us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1573us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1575us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1577us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1579us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1581us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1583us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1585us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1587us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1589us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1591us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1593us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1595us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1597us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1599us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1601us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1603us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1605us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1607us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1609us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1611us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1613us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1616us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1617us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1619us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1621us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1623us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1625us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1627us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1629us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1631us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1633us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1635us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1637us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1639us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1641us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1643us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1645us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1648us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1650us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1651us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1653us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1655us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1657us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1659us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1661us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1663us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1665us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1667us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1669us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1671us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1673us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1675us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1677us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1679us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1681us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1683us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1685us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1687us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1689us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1691us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1692us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1695us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1699us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1702us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1703us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1706us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1707us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1709us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1711us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1714us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1716us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1718us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1720us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1722us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1724us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1726us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1727us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1730us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1731us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1733us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1735us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1737us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1739us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1741us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1743us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1745us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1747us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1749us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1751us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1753us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1755us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1757us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1759us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1761us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1763us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1764us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1766us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1768us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1770us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1772us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1774us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1776us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1778us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1780us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1782us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1784us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1786us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1788us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1790us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1792us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1794us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1795us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1797us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1799us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1801us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1803us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1805us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1808us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1809us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1811us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1813us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1815us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1817us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1819us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1821us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1823us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1825us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1827us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1829us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1831us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1833us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1834us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1836us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1839us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1841us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1842us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1844us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1846us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1848us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1850us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1852us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1854us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1856us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1858us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1860us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1862us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1863us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1865us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1867us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1870us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1872us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1874us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1876us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1878us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1879us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1881us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1883us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1885us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1887us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1889us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1891us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1893us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1895us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1897us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1899us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1901us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1903us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1905us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1907us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1909us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1911us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1912us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1914us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1917us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1918us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1920us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1922us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1924us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1926us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1928us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1930us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1932us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1934us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1936us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1938us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1940us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1942us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1944us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1945us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1947us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1949us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1951us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1953us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1955us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1957us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1959us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1961us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1963us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1965us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1967us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1969us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1971us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1972us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1974us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1976us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1978us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1980us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1982us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1984us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1986us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1988us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1990us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1992us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1994us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1996us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 1998us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2000us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2002us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2004us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2005us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2007us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2010us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2011us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2013us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2015us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2017us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2019us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2021us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2023us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2025us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2027us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2029us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2031us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2033us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2035us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2037us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2038us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2041us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2042us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2044us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2046us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2048us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2050us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2052us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2054us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2056us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2058us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2060us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2062us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2064us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2065us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2067us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2069us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2071us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2073us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2075us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2077us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2079us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2081us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2082us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2084us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2087us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2089us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2090us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2092us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2094us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2098us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2100us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2102us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2104us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2106us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2108us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2110us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2112us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2113us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2115us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2117us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2120us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2122us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2124us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2126us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2128us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2130us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2131us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2133us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2135us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2137us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2139us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2141us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2143us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2145us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2147us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2149us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2151us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2153us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2155us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2157us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2159us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2161us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2163us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2164us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2167us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2169us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2170us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2172us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2174us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2176us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2178us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2180us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2183us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2184us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2186us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2188us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2190us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2192us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2194us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2196us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2198us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2200us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2202us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2204us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2206us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2208us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2210us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2211us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2214us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2216us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2218us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2219us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2222us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2223us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2225us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2227us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2229us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2231us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2233us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2235us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2237us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2239us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2240us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2242us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2245us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2247us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2249us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2251us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2253us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2255us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2257us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2258us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2261us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2263us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2264us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2266us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2268us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2270us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2272us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2274us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2276us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2278us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2280us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2282us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2284us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2286us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2288us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2289us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2292us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2293us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2295us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2297us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2299us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2301us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2303us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2305us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2307us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2309us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2311us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2313us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2315us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2317us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2319us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2320us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2323us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2325us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2326us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2328us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2331us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2332us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2334us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2336us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2338us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2340us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2342us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2344us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2346us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2348us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2350us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2352us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2354us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2356us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2358us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2359us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2361us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2363us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2365us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2367us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2370us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2372us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2374us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2376us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2378us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2380us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2382us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2383us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2386us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2388us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2390us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2391us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2393us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2395us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2397us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 2399us : __mod_zone_page_state <-__rmqueue_pcplist
...
dd-801 0d.... 4018us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4019us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4021us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4023us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4025us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4027us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4029us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4031us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4033us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4035us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4037us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4039us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4041us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4043us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4044us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4047us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4049us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4050us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4052us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4054us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4056us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4058us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4060us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4062us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4064us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4066us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4068us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4070us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4072us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4074us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4075us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4078us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4080us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4081us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4083us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4085us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4087us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4089us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4091us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4093us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4097us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4099us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4101us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4103us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4105us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4107us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4108us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4111us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4112us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4114us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4116us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4118us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4120us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4122us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4124us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4127us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4129us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4131us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4133us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4135us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4136us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4138us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4140us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4142us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4144us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4146us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4148us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4150us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4152us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4154us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4156us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4158us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4160us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4162us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4164us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4166us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4168us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4169us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4171us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4174us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4175us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4177us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4179us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4181us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4183us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4185us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4187us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4189us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4191us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4193us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4195us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4197us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4199us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4201us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4203us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4205us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4207us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4208us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4210us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4212us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4214us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4216us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4218us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4220us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4222us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4224us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4226us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4228us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4230us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4231us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4233us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4236us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4237us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4239us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4241us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4243us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4245us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4247us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4249us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4252us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4253us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4255us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4257us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4259us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4261us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4263us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4265us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4267us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4269us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4271us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4273us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4275us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4276us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4278us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4280us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4283us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4284us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4286us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4288us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4290us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4292us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4294us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4296us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4298us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4300us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4302us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4304us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4306us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4308us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4309us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4311us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4314us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4316us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4318us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4319us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4322us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4323us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4325us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4327us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4329us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4331us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4333us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4335us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4337us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4339us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4341us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4342us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4345us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4347us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4349us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4350us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4353us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4354us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4356us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4358us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4360us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4362us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4364us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4366us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4368us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4370us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4372us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4374us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4377us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4379us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4380us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4382us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4384us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4386us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4388us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4390us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4392us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4394us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4396us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4398us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4400us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4402us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4404us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4405us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4408us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4410us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4412us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4413us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4416us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4417us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4419us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4421us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4423us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4425us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4427us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4429us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4431us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4433us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4435us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4436us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4439us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4441us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4443us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4445us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4447us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4449us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4450us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4452us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4454us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4456us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4458us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4460us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4462us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4464us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4466us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4468us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4470us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4472us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4474us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4475us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4478us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4479us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4481us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4483us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4485us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4487us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4489us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4491us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4493us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4497us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4499us : __mod_zone_page_state <-__rmqueue_pcplist
dd-801 0d.... 4500us : _raw_spin_unlock_irqrestore <-__rmqueue_pcplist
dd-801 0d.... 4503us : _raw_spin_unlock_irqrestore
dd-801 0d.... 4507us+: trace_hardirqs_on <-_raw_spin_unlock_irqrestore
dd-801 0d.... 4548us : <stack trace>
=> get_page_from_freelist
=> __alloc_frozen_pages_noprof
=> __folio_alloc_noprof
=> __filemap_get_folio
=> iomap_write_begin
=> iomap_file_buffered_write
=> blkdev_write_iter
=> vfs_write
=> ksys_write
=> ret_fast_syscall
> ---
>
> From 621b1842b9fbbb26848296a5feb4daf5b038ba33 Mon Sep 17 00:00:00
> 2001
> From: Johannes Weiner <hannes@cmpxchg.org>
> Date: Thu, 3 Apr 2025 16:44:32 -0400
> Subject: [PATCH] mm: page_alloc: tighten up find_suitable_fallback()
>
> find_suitable_fallback() is not as efficient as it could be:
>
> 1. should_try_claim_block() is a loop invariant. There is no point in
> checking fallback areas if the caller is interested in claimable
> blocks but the order and the migratetype don't allow for that.
>
> 2. __rmqueue_steal() doesn't care about claimability, so it shouldn't
> have to run those tests.
>
> Different callers want different things from this helper:
>
> 1. __compact_finished() scans orders up until it finds a claimable block 2.
> __rmqueue_claim() scans orders down as long as blocks are claimable 3.
> __rmqueue_steal() doesn't care about claimability at all
>
> Move should_try_claim_block() out of the loop. Only test it for the two callers
> who care in the first place. Distinguish "no blocks" from "order + mt are not
> claimable" in the return value; __rmqueue_claim() can stop once order
> becomes unclaimable, __compact_finished() can keep advancing until order
> becomes claimable.
>
> Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
> ---
> mm/compaction.c | 4 +---
> mm/internal.h | 2 +-
> mm/page_alloc.c | 31 +++++++++++++------------------
> 3 files changed, 15 insertions(+), 22 deletions(-)
>
> diff --git a/mm/compaction.c b/mm/compaction.c index
> 139f00c0308a..7462a02802a5 100644
> --- a/mm/compaction.c
> +++ b/mm/compaction.c
> @@ -2348,7 +2348,6 @@ static enum compact_result
> __compact_finished(struct compact_control *cc)
> ret = COMPACT_NO_SUITABLE_PAGE;
> for (order = cc->order; order < NR_PAGE_ORDERS; order++) {
> struct free_area *area = &cc->zone->free_area[order];
> - bool claim_block;
>
> /* Job done if page is free of the right migratetype */
> if (!free_area_empty(area, migratetype)) @@ -2364,8
> +2363,7 @@ static enum compact_result __compact_finished(struct
> compact_control *cc)
> * Job done if allocation would steal freepages from
> * other migratetype buddy lists.
> */
> - if (find_suitable_fallback(area, order, migratetype,
> - true,
> &claim_block) != -1)
> + if (find_suitable_fallback(area, order, migratetype,
> + true) >= 0)
> /*
> * Movable pages are OK in any pageblock. If we
> are
> * stealing for a non-movable allocation, make
> sure diff --git a/mm/internal.h b/mm/internal.h index
> 50c2f590b2d0..55384b9971c3 100644
> --- a/mm/internal.h
> +++ b/mm/internal.h
> @@ -915,7 +915,7 @@ static inline void init_cma_pageblock(struct page
> *page)
>
>
> int find_suitable_fallback(struct free_area *area, unsigned int order,
> - int migratetype, bool claim_only, bool
> *claim_block);
> + int migratetype, bool claimable);
>
> static inline bool free_area_empty(struct free_area *area, int migratetype)
> { diff --git a/mm/page_alloc.c b/mm/page_alloc.c index
> 03b0d45ed45a..1522e3a29b16 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -2077,31 +2077,25 @@ static bool should_try_claim_block(unsigned int
> order, int start_mt)
>
> /*
> * Check whether there is a suitable fallback freepage with requested order.
> - * Sets *claim_block to instruct the caller whether it should convert a whole
> - * pageblock to the returned migratetype.
> - * If only_claim is true, this function returns fallback_mt only if
> + * If claimable is true, this function returns fallback_mt only if
> * we would do this whole-block claiming. This would help to reduce
> * fragmentation due to mixed migratetype pages in one pageblock.
> */
> int find_suitable_fallback(struct free_area *area, unsigned int order,
> - int migratetype, bool only_claim, bool
> *claim_block)
> + int migratetype, bool claimable)
> {
> int i;
> - int fallback_mt;
> +
> + if (claimable && !should_try_claim_block(order, migratetype))
> + return -2;
>
> if (area->nr_free == 0)
> return -1;
>
> - *claim_block = false;
> for (i = 0; i < MIGRATE_PCPTYPES - 1 ; i++) {
> - fallback_mt = fallbacks[migratetype][i];
> - if (free_area_empty(area, fallback_mt))
> - continue;
> + int fallback_mt = fallbacks[migratetype][i];
>
> - if (should_try_claim_block(order, migratetype))
> - *claim_block = true;
> -
> - if (*claim_block || !only_claim)
> + if (!free_area_empty(area, fallback_mt))
> return fallback_mt;
> }
>
> @@ -2206,7 +2200,6 @@ __rmqueue_claim(struct zone *zone, int order, int
> start_migratetype,
> int min_order = order;
> struct page *page;
> int fallback_mt;
> - bool claim_block;
>
> /*
> * Do not steal pages from freelists belonging to other pageblocks
> @@ -2225,11 +2218,14 @@ __rmqueue_claim(struct zone *zone, int order, int
> start_migratetype,
> --current_order) {
> area = &(zone->free_area[current_order]);
> fallback_mt = find_suitable_fallback(area, current_order,
> - start_migratetype, false, &claim_block);
> +
> start_migratetype,
> + true);
> +
> + /* No block in that order */
> if (fallback_mt == -1)
> continue;
>
> - if (!claim_block)
> + /* Advanced into orders too low to claim, abort */
> + if (fallback_mt == -2)
> break;
>
> page = get_page_from_free_area(area, fallback_mt); @@
> -2254,12 +2250,11 @@ __rmqueue_steal(struct zone *zone, int order, int
> start_migratetype)
> int current_order;
> struct page *page;
> int fallback_mt;
> - bool claim_block;
>
> for (current_order = order; current_order < NR_PAGE_ORDERS;
> current_order++) {
> area = &(zone->free_area[current_order]);
> fallback_mt = find_suitable_fallback(area, current_order,
> - start_migratetype, false, &claim_block);
> +
> start_migratetype,
> + false);
> if (fallback_mt == -1)
> continue;
>
> --
> 2.49.0
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-04-07 2:46 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-02 11:31 Ask help about this patch c0cd6f557b90 "mm: page_alloc: fix freelist movement during block conversion" Carlos Song
2025-04-02 15:00 ` Vlastimil Babka
2025-04-03 9:17 ` Carlos Song
2025-04-02 19:44 ` Johannes Weiner
2025-04-03 9:23 ` Carlos Song
2025-04-03 21:18 ` Johannes Weiner
2025-04-07 2:45 ` Carlos Song
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox