Messages in this thread | | | Date | Thu, 10 Jan 2019 16:28:04 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v5 07/15] locking/lockdep: Free lock classes that are no longer in use |
| |
On Mon, Dec 17, 2018 at 01:29:54PM -0800, Bart Van Assche wrote: > +static bool inside_selftest(void) > +{ > + return current == lockdep_selftest_task_struct; > +}
> +void lockdep_free_key_range(void *start, unsigned long size) > +{ > + init_data_structures_once(); > + > + if (inside_selftest()) > + lockdep_free_key_range_imm(start, size); > + else > + lockdep_free_key_range_reg(start, size); > }
That is .... unfortunate. The whole reason that whole immediate thing works at all is because there is no concurrency what so ever that early, right?
Should we maybe key off of: 'system_state == SYSTEM_BOOTING' instead?
| |