On Wed, 16 Sep 2020 17:45:30 +0200, Andrew Jones wrote: > Steal time initialization requires mapping a memory region which > invokes a memory allocation. Doing this at CPU starting time results > in the following trace when CONFIG_DEBUG_ATOMIC_SLEEP is enabled: > > BUG: sleeping function called from invalid context at mm/slab.h:498 > in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 0, name: swapper/1 > CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.9.0-rc5+ #1 > Call trace: > dump_backtrace+0x0/0x208 > show_stack+0x1c/0x28 > dump_stack+0xc4/0x11c > ___might_sleep+0xf8/0x130 > __might_sleep+0x58/0x90 > slab_pre_alloc_hook.constprop.101+0xd0/0x118 > kmem_cache_alloc_node_trace+0x84/0x270 > __get_vm_area_node+0x88/0x210 > get_vm_area_caller+0x38/0x40 > __ioremap_caller+0x70/0xf8 > ioremap_cache+0x78/0xb0 > memremap+0x9c/0x1a8 > init_stolen_time_cpu+0x54/0xf0 > cpuhp_invoke_callback+0xa8/0x720 > notify_cpu_starting+0xc8/0xd8 > secondary_start_kernel+0x114/0x180 > CPU1: Booted secondary processor 0x0000000001 [0x431f0a11] > > [...] Applied to arm64 (for-next/fixes), thanks! [1/1] arm64: paravirt: Initialize steal time when cpu is online https://git.kernel.org/arm64/c/75df529bec91 -- Catalin _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm