[PATCH 4/5] selftests/liveupdate: Add stress-sessions kexec test

Pasha Tatashin pasha.tatashin at soleen.com
Tue May 12 13:41:21 PDT 2026


On 05-12 16:09, Pratyush Yadav wrote:
> On Tue, Apr 14 2026, Pasha Tatashin wrote:
> 
> > Add a new test that creates 2000 LUO sessions before a kexec
> > reboot and verifies their presence after the reboot. This ensures
> > that the linked-block serialization mechanism works correctly for
> > a large number of sessions.
> >
> > Signed-off-by: Pasha Tatashin <pasha.tatashin at soleen.com>
> > ---
> > diff --git a/tools/testing/selftests/liveupdate/luo_test_utils.c b/tools/testing/selftests/liveupdate/luo_test_utils.c
> > index 3c8721c505df..37c330b9bb36 100644
> > --- a/tools/testing/selftests/liveupdate/luo_test_utils.c
> > +++ b/tools/testing/selftests/liveupdate/luo_test_utils.c
> > @@ -20,6 +20,7 @@
> >  #include <sys/stat.h>
> >  #include <errno.h>
> >  #include <stdarg.h>
> > +#include <sys/resource.h>
> >  
> >  #include "luo_test_utils.h"
> >  
> > @@ -28,6 +29,30 @@ int luo_open_device(void)
> >  	return open(LUO_DEVICE, O_RDWR);
> >  }
> >  
> > +void luo_ensure_nofile_limit(long min_limit)
> 
> Since you are adding this to luo_test_utils anyway, I think you should
> do it in patch 3 and use it there too.

Done

> 
> LGTM otherwise.
> 
> > +{
> > +	struct rlimit hl;
> > +
> > +	if (getrlimit(RLIMIT_NOFILE, &hl) < 0)
> > +		ksft_exit_fail_msg("getrlimit failed: %s\n", strerror(errno));
> > +
> > +	if (hl.rlim_cur >= min_limit)
> > +		return;
> > +
> > +	hl.rlim_cur = min_limit;
> > +	if (hl.rlim_cur > hl.rlim_max)
> > +		hl.rlim_max = hl.rlim_cur;
> > +
> > +	if (setrlimit(RLIMIT_NOFILE, &hl) < 0) {
> > +		if (errno == EPERM) {
> > +			ksft_exit_skip("Insufficient privileges to set RLIMIT_NOFILE to %ld\n",
> > +				       hl.rlim_cur);
> > +		}
> > +		ksft_exit_fail_msg("setrlimit to %ld failed: %s\n",
> > +				   hl.rlim_cur, strerror(errno));
> > +	}
> > +}
> > +
> >  int luo_create_session(int luo_fd, const char *name)
> >  {
> >  	struct liveupdate_ioctl_create_session arg = { .size = sizeof(arg) };
> 
> -- 
> Regards,
> Pratyush Yadav



More information about the kexec mailing list