[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<VI2PR04MB11147CA7877517FD7E8551D3FE8AF2@VI2PR04MB11147.eurprd04.prod.outlook.com>
Date: Wed, 2 Apr 2025 02:30:58 +0000
From: Carlos Song <carlos.song@....com>
To: Suren Baghdasaryan <surenb@...gle.com>
CC: Kent Overstreet <kent.overstreet@...ux.dev>, "akpm@...ux-foundation.org"
<akpm@...ux-foundation.org>, "willy@...radead.org" <willy@...radead.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "linux-fsdevel@...r.kernel.org"
<linux-fsdevel@...r.kernel.org>
Subject: Re: Ask help about this patch b951aaff5035 " mm: enable page
allocation tagging"
> -----Original Message-----
> From: Suren Baghdasaryan <surenb@...gle.com>
> Sent: Tuesday, April 1, 2025 4:02 AM
> To: Carlos Song <carlos.song@....com>
> Cc: Kent Overstreet <kent.overstreet@...ux.dev>; akpm@...ux-foundation.org;
> willy@...radead.org; linux-mm@...ck.org; linux-kernel@...r.kernel.org;
> linux-fsdevel@...r.kernel.org
> Subject: [EXT] Re: Ask help about this patch b951aaff5035 " mm: enable page
> allocation tagging"
>
> 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 Thu, Mar 27, 2025 at 4:02 AM Carlos Song <carlos.song@....com> wrote:
> >
> > Hi,
> >
> > I get the function calling step log, I hope it can help debug little.
>
> Hi Carlos,
> Since you do not enable CONFIG_MEM_ALLOC_PROFILING, "mm: enable page
> allocation tagging" patch would most definitely not cause this issue.
>
> From the traces you posted I think the spinlock involved here is
> zone->lock inside rmqueue_bulk():
> https://elixir.bo/
> otlin.com%2Flinux%2Fv6.14-rc6%2Fsource%2Fmm%2Fpage_alloc.c%23L2310
> &data=05%7C02%7Ccarlos.song%40nxp.com%7Cb83b5b83b6f94339e2f108d
> d708edead%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C638790
> 481110586829%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydW
> UsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3
> D%7C0%7C%7C%7C&sdata=gXVB6wbfdbT6kH1QBc7tcfyeUnGpChGDc5IpVTcuz
> MM%3D&reserved=0
> I quickly scanned the code within that loop comparing 6.7 and 6.14 and while I
> did not find anything obvious, steal_suitable_fallback() function seems quite
> different. I would suggest profiling this path to see which part might have
> regressed and go from there.
> BTW, are you using pure upstream code or it has some out-of-tree
> modifications?
> Thanks,
> Suren.
>
>
Hi, Suren
Thank you for your help, I found the regression is really from steal_suitable_fallback() function.
When add this patch, the spinlock time will become 100ms from 1ms, I will write a new
email to discuss this.
commit c0cd6f557b9090525d288806cccbc73440ac235a
Author: Johannes Weiner <hannes@...xchg.org>
Date: Wed Mar 20 14:02:11 2024 -0400
mm: page_alloc: fix freelist movement during block conversion
Currently, page block type conversion during fallbacks, atomic
reservations and isolation can strand various amounts of free pages on
incorrect freelists.
For example, fallback stealing moves free pages in the block to the new
type's freelists, but then may not actually claim the block for that type
if there aren't enough compatible pages already allocated.
In all cases, free page moving might fail if the block straddles more than
one zone, in which case no free pages are moved at all, but the block type
is changed anyway.
This is detrimental to type hygiene on the freelists. It encourages
incompatible page mixing down the line (ask for one type, get another) and
thus contributes to long-term fragmentation.
Split the process into a proper transaction: check first if conversion
will happen, then try to move the free pages, and only if that was
successful convert the block to the new type.
[baolin.wang@...ux.alibaba.com: fix allocation failures with CONFIG_CMA]
Link: https://lkml.kernel.org/r/a97697e0-45b0-4f71-b087-fdc7a1d43c0e@linux.alibaba.com
Link: https://lkml.kernel.org/r/20240320180429.678181-7-hannes@cmpxchg.org
Signed-off-by: Johannes Weiner <hannes@...xchg.org>
Signed-off-by: Baolin Wang <baolin.wang@...ux.alibaba.com>
Tested-by: "Huang, Ying" <ying.huang@...el.com>
Reviewed-by: Vlastimil Babka <vbabka@...e.cz>
Tested-by: Baolin Wang <baolin.wang@...ux.alibaba.com>
Cc: David Hildenbrand <david@...hat.com>
Cc: Mel Gorman <mgorman@...hsingularity.net>
Cc: Zi Yan <ziy@...dia.com>
Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
> >
> > The spinlock_irqsave from 136.725021 to
> 136.966962_raw_spin_unlock_irqrestore.
> > Around 260ms? It is Just one case, sometimes it will spend more time.
> >
> > dd-828 [000] ..... 136.724980:
> fdget_pos <-ksys_write
> > dd-828 [000] ..... 136.724982: vfs_write
> <-ksys_write
> > dd-828 [000] ..... 136.724983: blkdev_write_iter
> <-vfs_write
> > dd-828 [000] ..... 136.724984: I_BDEV
> <-blkdev_write_iter
> > dd-828 [000] ..... 136.724985: file_update_time
> <-blkdev_write_iter
> > dd-828 [000] ..... 136.724986:
> inode_needs_update_time <-file_update_time
> > dd-828 [000] ..... 136.724987:
> ktime_get_coarse_real_ts64 <-inode_needs_update_time
> > dd-828 [000] ..... 136.724989: timestamp_truncate
> <-inode_needs_update_time
> > dd-828 [000] ..... 136.724990:
> iomap_file_buffered_write <-blkdev_write_iter
> > dd-828 [000] ..... 136.724992: iomap_iter
> <-iomap_file_buffered_write
> > dd-828 [000] ..... 136.724993: blkdev_iomap_begin
> <-iomap_iter
> > dd-828 [000] ..... 136.724994: I_BDEV
> <-blkdev_iomap_begin
> > dd-828 [000] ..... 136.724995:
> balance_dirty_pages_ratelimited_flags <-iomap_file_buffered_write
> > dd-828 [000] ..... 136.724996: inode_to_bdi
> <-balance_dirty_pages_ratelimited_flags
> > dd-828 [000] ..... 136.724997: I_BDEV
> <-inode_to_bdi
> > dd-828 [000] ..... 136.724998: preempt_count_add
> <-balance_dirty_pages_ratelimited_flags
> > dd-828 [000] ...1. 136.725000: preempt_count_sub
> <-balance_dirty_pages_ratelimited_flags
> > dd-828 [000] ..... 136.725001: fault_in_readable
> <-fault_in_iov_iter_readable
> > dd-828 [000] ..... 136.725003: iomap_write_begin
> <-iomap_file_buffered_write
> > dd-828 [000] ..... 136.725004: iomap_get_folio
> <-iomap_write_begin
> > dd-828 [000] ..... 136.725005: __filemap_get_folio
> <-iomap_write_begin
> > dd-828 [000] ..... 136.725006: filemap_get_entry
> <-__filemap_get_folio
> > dd-828 [000] ..... 136.725007: __rcu_read_lock
> <-filemap_get_entry
> > dd-828 [000] ..... 136.725008: __rcu_read_unlock
> <-filemap_get_entry
> > dd-828 [000] ..... 136.725009: inode_to_bdi
> <-__filemap_get_folio
> > dd-828 [000] ..... 136.725010: I_BDEV
> <-inode_to_bdi
> > dd-828 [000] ..... 136.725012: __folio_alloc_noprof
> <-__filemap_get_folio
> > dd-828 [000] ..... 136.725013:
> __alloc_pages_noprof <-__folio_alloc_noprof
> > dd-828 [000] ..... 136.725014:
> get_page_from_freelist <-__alloc_pages_noprof
> > dd-828 [000] ..... 136.725015: node_dirty_ok
> <-get_page_from_freelist
> > dd-828 [000] ..... 136.725016: preempt_count_add
> <-get_page_from_freelist
> > dd-828 [000] ...1. 136.725018: _raw_spin_trylock
> <-get_page_from_freelist
> > dd-828 [000] ...1. 136.725019: preempt_count_add
> <-_raw_spin_trylock
> > dd-828 [000] ...2. 136.725021:
> _raw_spin_lock_irqsave <-__rmqueue_pcplist
> > dd-828 [000] d..2. 136.725022:
> preempt_count_add <-_raw_spin_lock_irqsave
> > dd-828 [000] d..3. 136.725025:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725028:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725029:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725031:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725032:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725034:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725036:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725037:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725038:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725039:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725040:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725042:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725043:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725044:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725046:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725047:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725048:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725050:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725051:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725052:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725053:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725055:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725056:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725057:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725058:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725060:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725061:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725062:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725063:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725065:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725066:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725067:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725068:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725070:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725071:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725072:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725073:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725075:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725076:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725077:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725079:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725080:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725081:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725082:
> __mod_zone_page_state <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.725083:
> __mod_zone_page_state <-__rmqueue_pcplist
> > ...
> > dd-828 [000] d..3. 136.820279:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.820280:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.820281:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.820282:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.820283:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.820284:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.820285:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.820286:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.820287:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.820289:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.820290:
> steal_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.820525:
> __mod_zone_page_state <-steal_suitable_fallback
> > ...
> > dd-828 [000] d..3. 136.966945:
> __mod_zone_page_state <-steal_suitable_fallback
> > dd-828 [000] d..3. 136.966946:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966947:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966948:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966950:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966951:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966952:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966953:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966954:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966955:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966956:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966957:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966958:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966959:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966961:
> find_suitable_fallback <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966962:
> _raw_spin_unlock_irqrestore <-__rmqueue_pcplist
> > dd-828 [000] d..3. 136.966965: irq_enter
> <-generic_handle_arch_irq
> > dd-828 [000] d..3. 136.966966: irq_enter_rcu
> <-generic_handle_arch_irq
> > dd-828 [000] d..3. 136.966967:
> preempt_count_add <-irq_enter_rcu
> > dd-828 [000] d.h3. 136.966969: gic_handle_irq
> <-generic_handle_arch_irq
> > dd-828 [000] d.h3. 136.966970:
> generic_handle_domain_irq <-gic_handle_irq
> > dd-828 [000] d.h3. 136.966971:
> __irq_resolve_mapping <-generic_handle_domain_irq
> > dd-828 [000] d.h3. 136.966972: __rcu_read_lock
> <-__irq_resolve_mapping
> > dd-828 [000] d.h3. 136.966974: __rcu_read_unlock
> <-__irq_resolve_mapping
> > dd-828 [000] d.h3. 136.966975: handle_irq_desc
> <-gic_handle_irq
> > dd-828 [000] d.h3. 136.966976:
> handle_percpu_devid_irq <-handle_irq_desc
> > dd-828 [000] d.h3. 136.966978: ipi_handler
> <-handle_percpu_devid_irq
> > dd-828 [000] d.h3. 136.966979: do_handle_IPI
> <-ipi_handler
> > dd-828 [000] d.h3. 136.966981:
> generic_smp_call_function_single_interrupt <-do_handle_IPI
> > dd-828 [000] d.h3. 136.966982:
> __flush_smp_call_function_queue <-do_handle_IPI
> > dd-828 [000] d.h3. 136.966986:
> sched_ttwu_pending <-__flush_smp_call_function_queue
> > dd-828 [000] d.h3. 136.966987:
> preempt_count_add <-sched_ttwu_pending
> > dd-828 [000] d.h4. 136.966990: _raw_spin_lock
> <-sched_ttwu_pending
> > dd-828 [000] d.h4. 136.966991:
> preempt_count_add <-_raw_spin_lock
> > dd-828 [000] d.h5. 136.966993:
> preempt_count_sub <-sched_ttwu_pending
> > dd-828 [000] d.h4. 136.966994:
> update_rq_clock.part.0 <-sched_ttwu_pending
> > dd-828 [000] d.h4. 136.966996: ttwu_do_activate
> <-sched_ttwu_pending
> > dd-828 [000] d.h4. 136.966997: activate_task
> <-ttwu_do_activate
> > dd-828 [000] d.h4. 136.966998: enqueue_task_fair
> <-activate_task
> > dd-828 [000] d.h4. 136.967000: update_curr
> <-enqueue_task_fair
> > dd-828 [000] d.h4. 136.967001:
> update_min_vruntime <-update_curr
> > dd-828 [000] d.h4. 136.967003:
> __cgroup_account_cputime <-update_curr
> >
> > BR
> > Carlos Song
> >
> > > > On Thu, Mar 20, 2025 at 11:07:41AM +0000, Carlos Song wrote:
> > > > > Hi, all
> > > > >
> > > > > I found a 300ms~600ms IRQ off when writing 1Gb data to mmc
> > > > > device at
> > > > I.MX7d SDB board at Linux-kernel-v6.14.
> > > > > But I test the same case at Linux-kernel-v6.7, this longest IRQ
> > > > > off time is only
> > > > 1ms~2ms. So the issue is introduced from v6.7~v6.14.
> > > > >
> > > > > Run this cmd to test:
> > > > > dd if=/dev/zero of=/dev/mmcblk2p4 bs=4096 seek=12500
> > > > > count=256000 conv=fsync
> > > > >
> > > > > This issue looks from blkdev_buffered_write() function. Because
> > > > > when I run this cmd with "oflag=direct" to use
> > > > > blkdev_direct_write(), I can not see
> > > > any long time IRQ off.
> > > > >
> > > > > Then I use Ftrace irqoff tracer to trace the longest IRQ off
> > > > > event, I found some
> > > > differences between v6.7 and v6.14:
> > > > > In iomap_file_buffered_write(), __folio_alloc (in v6.7) is
> > > > > replaced by
> > > > _folio_alloc_noprof (in v6.14) by this patch.
> > > > > The spinlock disabled IRQ ~300ms+. It looks there are some fixes
> > > > > for this patch,
> > > > but I still can see IRQ off 300ms+ at 6.14.0-rc7-next-20250319.
> > > > >
> > > > > Do I trigger one bug? I know little about mem so I have to
> > > > > report it and hope I
> > > > can get some help or guide.
> > > > > I put my ftrace log at the mail tail to help trace and explain.
> > > >
> > > > Did you track down which spinlock?
> > > >
> > > > >
> > >
> > > Hi,
> > >
> > > Sorry for my late reply and thank you for your quick reply!
> > > From the trace log, I think the spinlock is from here like this:
> > >
> > > __alloc_frozen_pages_noprof ==> get_page_from_freelist==>spinclok
> > >
> > > Do you need other log not only this?
> > >
> > > > > => get_page_from_freelist"
> > > > > => __alloc_frozen_pages_noprof
> > > > > => __folio_alloc_noprof
> > > > > => __filemap_get_folio
> > >
> > >
> > > > > commit b951aaff503502a7fe066eeed2744ba8a6413c89
> > > > > Author: Suren Baghdasaryan
> > > > surenb@...gle.com<mailto:surenb@...gle.com>
> > > > > Date: Thu Mar 21 09:36:40 2024 -0700
> > > > >
> > > > > mm: enable page allocation tagging
> > > > >
> > > > > Redefine page allocators to record allocation tags upon
> > > > > their
> > > invocation.
> > > > > Instrument post_alloc_hook and free_pages_prepare to modify
> > > current
> > > > > allocation tag.
> > > > >
> > > > > [surenb@...gle.com: undo _noprof additions in the
> documentation]
> > > > > Link:
> > > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > >
> lkml%2F&data=05%7C02%7Ccarlos.song%40nxp.com%7Cb83b5b83b6f94339
> e2f
> > > >
> 108dd708edead%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63
> 87904
> > > >
> 81110616161%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUs
> IlYiOi
> > > >
> IwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0
> > > > %7C%7C%7C&sdata=Ebsi8btyFmX6xHr%2BvVEUHIFbsPKqETE%2Brf5Hs41
> %2Ff8o%
> > > > 3D&reserved=0
> > > > .kern
> > > >
> > >
> el.org%2Fr%2F20240326231453.1206227-3-surenb%40google.com&data=05
> %
> > > >
> > >
> 7C02%7Ccarlos.song%40nxp.com%7Cdf027bbb97074fc2cde808dd67a1d6c5%
> 7
> > > >
> > >
> C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63878066698304673
> 8%
> > > >
> > >
> 7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMD
> A
> > > >
> > >
> wMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7
> C
> > > >
> > >
> &sdata=Aby13KyQjF5pcbYW%2BkfsEJLiaPmS2ZiJLUHJ%2BCr2JXM%3D&reserv
> e
> > > > d=0
> > > > > Link:
> > > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > >
> lkml%2F&data=05%7C02%7Ccarlos.song%40nxp.com%7Cb83b5b83b6f94339
> e2f
> > > >
> 108dd708edead%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63
> 87904
> > > >
> 81110632328%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUs
> IlYiOi
> > > >
> IwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0
> > > > %7C%7C%7C&sdata=f5xbAEifpWVbOVuxJ5LV5FS1TmaTD5T4Q%2BhtX2Ju
> lsw%3D&r
> > > > eserved=0
> > > > .kern
> > > >
> > >
> el.org%2Fr%2F20240321163705.3067592-19-surenb%40google.com&data=0
> 5
> > > > %7C02%7Ccarlos.song%40nxp.com%7Cdf027bbb97074fc2cde808dd67a
> 1d6c5
> > > %
> > > >
> > >
> 7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6387806669830657
> 90
> > > > %7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwL
> jAuM
> > > D
> > > >
> > >
> AwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%
> 7
> > > >
> > >
> C&sdata=n0hjs2fhjYs%2BcnbrxHy4vFK6D4GFVL4%2Fu72anOOLiEI%3D&reserv
> e
> > > > d=0
> > > > > Signed-off-by: Suren Baghdasaryan
> > > > surenb@...gle.com<mailto:surenb@...gle.com>
> > > > > Co-developed-by: Kent Overstreet
> > > > kent.overstreet@...ux.dev<mailto:kent.overstreet@...ux.dev>
> > > > > Signed-off-by: Kent Overstreet
> > > > kent.overstreet@...ux.dev<mailto:kent.overstreet@...ux.dev>
> > > > > Reviewed-by: Kees Cook
> > > > keescook@...omium.org<mailto:keescook@...omium.org>
> > > > > Tested-by: Kees Cook
> > > > keescook@...omium.org<mailto:keescook@...omium.org>
> > > > > Cc: Alexander Viro
> > > > viro@...iv.linux.org.uk<mailto:viro@...iv.linux.org.uk>
> > > > > Cc: Alex Gaynor
> > > > alex.gaynor@...il.com<mailto:alex.gaynor@...il.com>
> > > > > Cc: Alice Ryhl
> aliceryhl@...gle.com<mailto:aliceryhl@...gle.com>
> > > > > Cc: Andreas Hindborg
> > > > a.hindborg@...sung.com<mailto:a.hindborg@...sung.com>
> > > > > Cc: Benno Lossin
> > > > benno.lossin@...ton.me<mailto:benno.lossin@...ton.me>
> > > > > Cc: "Björn Roy Baron"
> > > > bjorn3_gh@...tonmail.com<mailto:bjorn3_gh@...tonmail.com>
> > > > > Cc: Boqun Feng
> > > > boqun.feng@...il.com<mailto:boqun.feng@...il.com>
> > > > > Cc: Christoph Lameter cl@...ux.com<mailto:cl@...ux.com>
> > > > > Cc: Dennis Zhou dennis@...nel.org<mailto:dennis@...nel.org>
> > > > > Cc: Gary Guo gary@...yguo.net<mailto:gary@...yguo.net>
> > > > > Cc: Miguel Ojeda ojeda@...nel.org<mailto:ojeda@...nel.org>
> > > > > Cc: Pasha Tatashin
> > > > pasha.tatashin@...een.com<mailto:pasha.tatashin@...een.com>
> > > > > Cc: Peter Zijlstra
> > > peterz@...radead.org<mailto:peterz@...radead.org>
> > > > > Cc: Tejun Heo tj@...nel.org<mailto:tj@...nel.org>
> > > > > Cc: Vlastimil Babka vbabka@...e.cz<mailto:vbabka@...e.cz>
> > > > > Cc: Wedson Almeida Filho
> > > > wedsonaf@...il.com<mailto:wedsonaf@...il.com>
> > > > > Signed-off-by: Andrew Morton
> > > > > akpm@...ux-foundation.org<mailto:akpm@...ux-foundation.org>
> > > > >
> > > > >
> > > > > Ftrace irqoff tracer shows detail:
> > > > > At v6.14:
> > > > > # tracer: irqsoff
> > > > > #
> > > > > # irqsoff latency trace v1.1.5 on 6.14.0-rc7-next-20250319 #
> > > > > ----------------------------------------------------------------
> > > > > ---- # latency: 279663 us, #21352/21352, CPU#0 | (M:NONE VP:0,
> > > > > KP:0, SP:0
> > > > > HP:0
> > > > #P:2)
> > > > > # -----------------
> > > > > # | task: dd-805 (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-805 0d.... 1us : __rmqueue_pcplist
> > > > > dd-805 0d.... 3us : _raw_spin_trylock
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 7us : __mod_zone_page_state
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 10us : __mod_zone_page_state
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 12us : __mod_zone_page_state
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 15us : __mod_zone_page_state
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 17us : __mod_zone_page_state
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 19us : __mod_zone_page_state
> > > > <-__rmqueue_pcplist
> > > > > ...
> > > > > dd-805 0d.... 1535us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 1538us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 1539us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 1542us+: try_to_claim_block
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 1597us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 1599us+: try_to_claim_block
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 1674us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 1676us+: try_to_claim_block
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 1716us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 1718us+: try_to_claim_block
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 1801us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 1803us+: try_to_claim_block
> > > > <-__rmqueue_pcplist
> > > > > ...
> > > > > dd-805 0d.... 279555us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 279556us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 279558us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 279560us+: try_to_claim_block
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 279616us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 279618us : __mod_zone_page_state
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 279620us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > ...
> > > > > dd-805 0d.... 279658us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 279660us : _raw_spin_unlock_irqrestore
> > > > <-__rmqueue_pcplist
> > > > > dd-805 0d.... 279662us : _raw_spin_unlock_irqrestore
> > > > > dd-805 0d.... 279666us+: trace_hardirqs_on
> > > > <-_raw_spin_unlock_irqrestore
> > > > > dd-805 0d.... 279712us : <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
> > > > >
> > > > > At v6.7:
> > > > > # tracer: irqsoff
> > > > > #
> > > > > # irqsoff latency trace v1.1.5 on 6.7.0 #
> > > > > ----------------------------------------------------------------
> > > > > ---- # latency: 2477 us, #146/146, CPU#0 | (M:server VP:0, KP:0,
> > > > > SP:0 HP:0 #P:2)
> > > > > # -----------------
> > > > > # | task: dd-808 (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-808 0d.... 1us!: _raw_spin_lock_irqsave
> > > > > dd-808 0d.... 186us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 189us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 191us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 192us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 194us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 196us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 199us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 203us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 330us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 332us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 334us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 336us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 338us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 339us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 341us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 343us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 479us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 481us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 483us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 485us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 486us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 488us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 490us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 492us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 630us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 632us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 634us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 636us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 638us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 640us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 642us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 644us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 771us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 773us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 775us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 777us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 778us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 780us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 782us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 784us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 911us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 913us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 915us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 916us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 918us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 920us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 922us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 924us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 1055us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1058us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1059us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1061us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1063us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1065us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1066us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1068us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 1194us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1196us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1198us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1200us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1202us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1203us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1205us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1208us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 1333us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1335us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1337us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1339us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1341us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1342us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1344us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1346us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 1480us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1482us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1484us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1486us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1488us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1490us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1492us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1494us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 1621us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1623us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1625us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1627us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1629us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1630us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1632us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1634us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 1761us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1763us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1765us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1766us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1768us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1770us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1772us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1774us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 1900us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1902us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1903us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1905us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1907us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1909us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1911us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 1913us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 2038us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2040us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2042us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2044us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2046us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2047us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2049us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2051us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2053us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2055us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 2175us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2176us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2178us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2180us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2182us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2183us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2185us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2187us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2189us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2191us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2192us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2194us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2196us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 2323us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2325us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2327us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2328us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2330us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2332us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2334us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2335us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2337us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2339us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2341us : find_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2343us : steal_suitable_fallback
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2345us!: move_freepages_block
> > > > <-steal_suitable_fallback
> > > > > dd-808 0d.... 2470us : __mod_zone_page_state
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2473us : _raw_spin_unlock_irqrestore
> > > > <-__rmqueue_pcplist
> > > > > dd-808 0d.... 2476us : _raw_spin_unlock_irqrestore
> > > > > dd-808 0d.... 2479us+: tracer_hardirqs_on
> > > > <-_raw_spin_unlock_irqrestore
> > > > > dd-808 0d.... 2520us : <stack trace>
> > > > > => get_page_from_freelist
> > > > > => __alloc_pages
> > > > > => __folio_alloc
> > > > > => __filemap_get_folio
> > > > > => iomap_write_begin
> > > > > => iomap_file_buffered_write
> > > > > => blkdev_write_iter
> > > > > => vfs_write
> > > > > => ksys_write
> > > > > => ret_fast_syscall
> > > > >
> > > > > Best Regard
> > > > > Carlos Song
> > > > >
Powered by blists - more mailing lists