On 6/14/23 14:50, Pankaj Raghav wrote:
- /*
- * It takes 3.4 seconds to remove 80GiB ramdisk.
- * So, we need cond_resched to avoid stalling the CPU.
- */
- cond_resched();
+ xa_for_each(&brd->brd_pages, idx, page) {
+ __free_page(page);
+ cond_resched_rcu();
This should be a regular cond_resched(). The body of the loop is run
without the RCU read lock held. Surprised none of the bots have noticed
an unlock-underflow. Perhaps they don't test brd ;-)
With that fixed,
Reviewed-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
This patch is already queued up for 6.5 in Jens's tree.
I will send this as a fix soon. Thanks.
Ah. Hence. I've been running off akpms mm-unstable branch, which doesn't
have that patch (yet).
Cheers,
Hannes