Re: [Automated-testing] Call for nommu LTP maintainer [was: Re: [PATCH 00/36] Remove UCLINUX from LTP]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Tim, all,

-----Original Message-----
From: automated-testing@xxxxxxxxxxxxxxxxxxxxxx <automated-testing@xxxxxxxxxxxxxxxxxxxxxx> On Behalf Of Cyril Hrubis
Hi!
But as I said, if anybody from nommu decides to maintain it in LTP, I'll try to
support him in my free time (review patches, give advices). And if nobody
stands, this patchset which removes the support in the old API will be merged
after next LTP release (in the end of January).

Let me highlight this part, we are eager to help anybody who is willing
to pick the nommu work, but we do not have resources to drive it.

I have a couple of comments here.

I think it would be good to give a little bit more time to try to find a helper/maintainer
for this.  As Rob pointed out, a lot of embedded Linux developers are using very old
kernels (and, if they are using LTP, likely very old versions of LTP).  They are also
notorious for not being active on the mailing lists.  So this might take some active
outreach to find helpers.  (I realize that this thread is part of this
outreach effort).  For this reason, I'd like a few more weeks to try to advertise this
need within the embedded Linux community.

Thank you.

I am not using nommu systems myself, so I'm in a similar position as Petr in terms
of it not making much sense for me to be the maintainer.  However, having said that,
I have had for a few years now an idea for a background project related to LTP
that might make this a more interesting fit for me.  Sony uses NuttX, and is considering
using Zephyr in some of our low-end processor systems.  This includes some nommu
systems.  For some time now, I have wanted to experiment with using LTP to test
the compatibility of those systems with the Linux system APIs.  In full disclosure,
I have no idea if this is a feasible or useful idea or not.  But it's something I'd like
to investigate.

I realize that testing non-Linux RTOSes is out-of-scope for LTP.  But given that that is
something I would like to do, and that it might be relevant to the Linux nommu tests,
I would humbly request a few weeks to investigate this before the nommu code is removed.
This delay would be to see if it would make sense for me to volunteer to help out with
maintaining this otherwise abandoned code.

I can't promise anything, but I'd like to find out more about:
1) what parts of the current LTP are not supporting nommu (what's currently broken),
The new C API, I described it in my reply to Rob:
https://lore.kernel.org/ltp/20240110133358.GB1698252@pevik/

But I don't know whether the code in the old API was even working,
whole old API suffered with random failures, that was one of the reasons to
write a new one from the scratch.

2) how much code we're talking about, and

There was FORK_OR_VFORK(), which would probably in the new API call vfork() for
nommu targets (tst_old_flush() is probably not needed in the new API).

There is a special handling of getopts in lib/parse_opts.c + -C param for it.
One would have to integrate these two functions from lib/self_exec.c to the new
API (and port them to use new API via tst_test.h with #define
TST_NO_DEFAULT_MAIN):

    void maybe_run_child(void (*child)(), const char *fmt, ...);
    int self_exec(const char *argv0, const char *fmt, ...);

char *child_args is somehow integrated to lib/tst_test.c via -C arg, I haven't
found what uses that option.

There is m4, that would be usable (m4/ltp-nommu-linux.m4).

Various tests and testsuites were not compiled for nommu (e.g. capget).

There is MAP_PRIVATE_EXCEPT_UCLINUX constant to avoid using MAP_PRIVATE on
uClinux, who knows if this is relevant on nommu?

3) what the desired roadmap going forward would be, to continue to support this code.

All LTP tests are being rewritten to use new API since 2016 (new API was
introduced in 20160510), thus we are loosing the support with old API going
away. Sure, I can hold on this patchset and we continue removing the
functionality tests manually. But sooner or later it's gone.

One can check files which had special handling in the old API:

$ git grep -l UCLINUX 20160126 -- testcases/ | wc -l
173

What is supported now:

$ git grep -l UCLINUX  -- testcases/  |wc -l
55

=> We have now removed nearly 2/3 of it (this means we're arguing about 1/3 of
the tests which initially somehow supported nommu).

Kind regards,
Petr

Thanks,
 -- Tim



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#1271): https://lists.yoctoproject.org/g/automated-testing/message/1271
Mute This Topic: https://lists.yoctoproject.org/mt/103541824/3616762
Group Owner: automated-testing+owner@xxxxxxxxxxxxxxxxxxxxxx
Unsubscribe: https://lists.yoctoproject.org/g/automated-testing/unsub [pvorel@xxxxxxx]
-=-=-=-=-=-=-=-=-=-=-=-






[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux