On 6/16/21 8:40 PM, Yang Shi wrote: > On Wed, Jun 16, 2021 at 10:27 AM Vlastimil Babka <vbabka@xxxxxxx> wrote: >> >> On 6/16/21 1:10 AM, Yang Shi wrote: >> > On Tue, Jun 15, 2021 at 5:10 AM Jann Horn <jannh@xxxxxxxxxx> wrote: >> >> >> > >> > It might be possible after Mel's "mm/page_alloc: Allow high-order >> > pages to be stored on the per-cpu lists" patch >> > (https://patchwork.kernel.org/project/linux-mm/patch/20210611135753.GC30378@xxxxxxxxxxxxxxxxxxx/). >> >> Those would be percpu indeed, but not "lockless, non-atomic", no? They are >> protected by a local_lock. > > The local_lock is *not* a lock on non-PREEMPT_RT kernel IIUC. It > disables preempt and IRQ. But preempt disable is no-op on non-preempt > kernel. IRQ disable can guarantee it is atomic context, but I'm not > sure if it is equivalent to "atomic freelists" in Jann's context. Hm right, I thought all locks had the acquire/release semantics, but this one is just a barrier().