Re: arm: lockdep complaining about locks allocations in static memory

2021-03-10 Thread Russell King - ARM Linux admin
On Wed, Mar 10, 2021 at 02:54:30PM +0100, Jan Kardell wrote:
> Hi,
> 
> During work lift the software and kernel versions on our custom TI am3352
> board I started to see lockdep warnings after enabling CONFIG_PREEMT.
> Lockdep seems to think the memory that previously was initmem is static
> memory. I'm using linux 5.4, as that is what is used in the next OpenWrt
> version.
> 
> [ 92.198989] WARNING: CPU: 0 PID: 2015 at kernel/locking/lockdep.c:1119
> alloc_netdev_mqs+0xb4/0x3b0
> 
> I guess CONFIG_PREEMT just changes the timing of allocations, and is
> otherwise irrelevant.
> 
> This was fixed for s390 in linux 5.2 commit
> 7a5da02de8d6eafba99556f8c98e5313edebb449 by adding the function
> arch_is_kernel_initmem_freed(). Later a very similar change was made for
> powerpc, and a different solution for x86. I now believe that is needed for
> arm as well. Though I don't know the inner workings of arm memory management
> so I don't know if an identical solution to s390 will do for arm, but my
> experiments suggests it works for am335x. The commit message for s390 says
> "virt == phys", but that seems not to be the case for my arm system.

I don't see any reason this couldn't be added to arm, but it needs
someone to create and test a patch - which implies that they need to
have a problem that needs to be solved. As you seem to be experiencing
the problem, it seems you are well suited to this. Thanks.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!


arm: lockdep complaining about locks allocations in static memory

2021-03-10 Thread Jan Kardell

Hi,

During work lift the software and kernel versions on our custom TI 
am3352 board I started to see lockdep warnings after enabling 
CONFIG_PREEMT. Lockdep seems to think the memory that previously was 
initmem is static memory. I'm using linux 5.4, as that is what is used 
in the next OpenWrt version.


[ 92.198989] WARNING: CPU: 0 PID: 2015 at kernel/locking/lockdep.c:1119 
alloc_netdev_mqs+0xb4/0x3b0


I guess CONFIG_PREEMT just changes the timing of allocations, and is 
otherwise irrelevant.


This was fixed for s390 in linux 5.2 commit 
7a5da02de8d6eafba99556f8c98e5313edebb449 by adding the function 
arch_is_kernel_initmem_freed(). Later a very similar change was made for 
powerpc, and a different solution for x86. I now believe that is needed 
for arm as well. Though I don't know the inner workings of arm memory 
management so I don't know if an identical solution to s390 will do for 
arm, but my experiments suggests it works for am335x. The commit message 
for s390 says "virt == phys", but that seems not to be the case for my 
arm system.


//Jan