Interrupts are off during resume from RAM, this will triger a warning
when allocate memory in non-preemptible context on RT since commit
0efa03618228 ("mm: Warn on memory allocation in non-preemptible
context on RT"), exclude suspend from this warning check.

Fixes: 0efa03618228 ("mm: Warn on memory allocation in non-preemptible context 
on RT")
Signed-off-by: Liwei Song <[email protected]>
---
 mm/slub.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/slub.c b/mm/slub.c
index c3f278fdb7d6..6c8c57a2491b 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2751,7 +2751,7 @@ static __always_inline void *slab_alloc_node(struct 
kmem_cache *s,
        unsigned long tid;
 
        if (IS_ENABLED(CONFIG_PREEMPT_RT) && 
IS_ENABLED(CONFIG_DEBUG_ATOMIC_SLEEP))
-               WARN_ON_ONCE(!preemptible() && system_state >= 
SYSTEM_SCHEDULING);
+               WARN_ON_ONCE(!preemptible() && system_state >= 
SYSTEM_SCHEDULING && system_state != SYSTEM_SUSPEND);
 
        s = slab_pre_alloc_hook(s, gfpflags);
        if (!s)
@@ -3216,7 +3216,7 @@ int kmem_cache_alloc_bulk(struct kmem_cache *s, gfp_t 
flags, size_t size,
        int i;
 
        if (IS_ENABLED(CONFIG_PREEMPT_RT) && 
IS_ENABLED(CONFIG_DEBUG_ATOMIC_SLEEP))
-               WARN_ON_ONCE(!preemptible() && system_state >= 
SYSTEM_SCHEDULING);
+               WARN_ON_ONCE(!preemptible() && system_state >= 
SYSTEM_SCHEDULING && system_state != SYSTEM_SUSPEND);
 
        /* memcg and kmem_cache debug support */
        s = slab_pre_alloc_hook(s, flags);
-- 
2.24.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#8594): 
https://lists.yoctoproject.org/g/linux-yocto/message/8594
Mute This Topic: https://lists.yoctoproject.org/mt/72919284/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to