
Hi Rasmus,
On 28.10.22 13:50, Rasmus Villemoes wrote:
I have only compile-tested each of these for sandbox_defconfig and imx8mq_cm_defconfig. I couldn't even figure out how to run the cyclic test inside sandbox by itself, and I don't have any hardware here at home.
There is "cyclic demo" command which can be used to do some tests. But as I just now noticed, this behaves a bit "abnormal" in sandbox. This is with and w/o your patchset though. I need to look into this a bit later.
So perhaps just consider these a POC of the overall idea, namely to use a list abstraction which doesn't need initialization other than what we already guarantee to do for all of struct global_data.
As positive side effects, the generated code will be a little smaller, we reduce the use of the early malloc() pool, and the diffstat below is also nice.
Fully agreed. :)
I don't know if we ever do anything in SPL that would require a call to cyclic_unregister_all().
I can't think of anything right now.
Rasmus Villemoes (5): cyclic: use a flag in gd->flags for recursion protection cyclic: drop redundant cyclic_ready flag list.h: synchronize hlist_for_each_entry* iterators with linux cyclic: switch to using hlist instead of list cyclic: get rid of cyclic_init()
cmd/cyclic.c | 5 +-- common/board_f.c | 2 +- common/board_r.c | 1 - common/cyclic.c | 50 ++++++++++------------------- include/asm-generic/global_data.h | 8 +++-- include/cyclic.h | 35 +++----------------- include/linux/list.h | 53 +++++++++++++++---------------- test/test-main.c | 3 +- 8 files changed, 57 insertions(+), 100 deletions(-)
Yes, this diffstat is really nice. Thanks a lot for working on this and improving and fixing this new cyclic infrastructure.
Thanks, Stefan