Messages in this thread | | | Date | Mon, 19 Jun 2023 13:07:00 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH v10 0/2] kernel/fork: beware of __put_task_struct calling context |
| |
On Wed, Jun 14, 2023 at 09:23:20AM -0300, Wander Lairson Costa wrote: > Under PREEMPT_RT, __put_task_struct() indirectly acquires sleeping > locks. Therefore, it can't be called from an non-preemptible context. > > Instead of calling __put_task_struct() directly, we defer it using > call_rcu(). A more natural approach would use a workqueue, but since > in PREEMPT_RT, we can't allocate dynamic memory from atomic context, > the code would become more complex because we would need to put the > work_struct instance in the task_struct and initialize it when we > allocate a new task_struct.
> > Wander Lairson Costa (2): > kernel/fork: beware of __put_task_struct calling context > sched: avoid false lockdep splat in put_task_struct()
Thanks!
| |