mm: shmem: Reschedule by unlocking and relocking RCU because of missing API
authorAngelo G. Del Regno <kholk11@gmail.com>
Tue, 14 Mar 2017 23:56:03 +0000 (00:56 +0100)
committerDanny Wood <danwood76@gmail.com>
Thu, 28 Jan 2021 09:32:01 +0000 (09:32 +0000)
commitdef6d5b398876d73f4e0da67b93a9c415280b94c
tree7d7833dd2ac0549c1304e90e1808434cb739b456
parent32476920da24ce5b6f70909139525ad85269c9e2
mm: shmem: Reschedule by unlocking and relocking RCU because of missing API

The commit introducing the call to cond_resched_rcu() is backported
from a recent kernel version, which has got some very good updates
to the RCU, including a new function cond_resched_rcu which is
doing not-so-complicated rescheduling stuff.
Kernel 3.10 hasn't got any of these and porting would be overkill.

On our current code base, the RCU management is pretty stupid
compared to newer kernels, so it's just ok to reschedule by just
unlocking the RCU and relocking it: this will allow to update its
status and the drivers will be happy.

Change-Id: Iadf407ccaccee64ffeed5e292d17f6b2f7e6ead4
mm/shmem.c