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

Reply via email to