From: Pasha Tatashin <pasha.tatashin@soleen.com>
To: Pratyush Yadav <pratyush@kernel.org>
Cc: Pasha Tatashin <pasha.tatashin@soleen.com>,
linux-kselftest@vger.kernel.org, rppt@kernel.org,
shuah@kernel.org, akpm@linux-foundation.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, dmatlack@google.com,
kexec@lists.infradead.org, skhawaja@google.com, graf@amazon.com
Subject: Re: [PATCH 3/5] selftests/liveupdate: Test session and file limit removal
Date: Tue, 12 May 2026 20:13:02 +0000 [thread overview]
Message-ID: <agOJui6EOiJR3cgn@plex> (raw)
In-Reply-To: <2vxzse7wafmo.fsf@kernel.org>
On 05-12 16:04, Pratyush Yadav wrote:
> On Tue, Apr 14 2026, Pasha Tatashin wrote:
>
> > With the removal of static limits on the number of sessions and files per
> > session, the orchestrator now uses dynamic allocation.
> >
> > Add new test cases to verify that the system can handle a large number of
> > sessions and files. These tests ensure that the dynamic block allocation
> > and reuse logic for session metadata and outgoing files work correctly
> > beyond the previous static limits.
> >
> > Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com>
> > ---
> > .../testing/selftests/liveupdate/liveupdate.c | 99 +++++++++++++++++++
> > 1 file changed, 99 insertions(+)
> >
> > diff --git a/tools/testing/selftests/liveupdate/liveupdate.c b/tools/testing/selftests/liveupdate/liveupdate.c
> > index 37c808fbe1e9..0eaf97b19267 100644
> > --- a/tools/testing/selftests/liveupdate/liveupdate.c
> > +++ b/tools/testing/selftests/liveupdate/liveupdate.c
> > @@ -22,6 +22,7 @@
> > #include <fcntl.h>
> > #include <string.h>
> > #include <sys/ioctl.h>
> > +#include <sys/resource.h>
> > #include <unistd.h>
> >
> > #include <linux/liveupdate.h>
> > @@ -386,4 +387,102 @@ TEST_F(liveupdate_device, prevent_double_preservation)
> > ASSERT_EQ(close(session_fd2), 0);
> > }
> >
> > +static void ensure_nofile_limit(struct __test_metadata *_metadata,
> > + long min_limit)
> > +{
> > + 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) {
> > + SKIP(return, "Insufficient privileges to set RLIMIT_NOFILE to %ld",
> > + hl.rlim_cur);
> > + }
> > + ksft_exit_fail_msg("setrlimit to %ld failed: %s\n",
> > + hl.rlim_cur, strerror(errno));
> > + }
> > +}
> > +
> > +/*
> > + * Test Case: Manage Many Sessions
> > + *
> > + * Verifies that a large number of sessions can be created and then
> > + * destroyed during normal system operation. This specifically tests the
> > + * dynamic block allocation and reuse logic for session metadata management
> > + * without preserving any files.
> > + */
> > +TEST_F(liveupdate_device, preserve_many_sessions)
> > +{
> > +#define MANY_SESSIONS 2000
> > + int session_fds[MANY_SESSIONS];
> > + int i;
> > +
> > + self->fd1 = open(LIVEUPDATE_DEV, O_RDWR);
> > + if (self->fd1 < 0 && errno == ENOENT)
> > + SKIP(return, "%s does not exist", LIVEUPDATE_DEV);
> > + ASSERT_GE(self->fd1, 0);
> > +
> > + ensure_nofile_limit(_metadata, MANY_SESSIONS + 10);
> > + if (_metadata->exit_code == KSFT_SKIP)
> > + return;
>
> Nit: This is strange. Why not just return errno in ensure_nofile_limit()
> and handle the skipping here? Same below.
>
> LGTM otherwise.
Good suggestion. Done.
next prev parent reply other threads:[~2026-05-12 20:13 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-14 20:02 [PATCH 0/5] liveupdate: Remove limits on the number of files and sessions Pasha Tatashin
2026-04-14 20:02 ` [PATCH 1/5] liveupdate: Remove limit on the number of sessions Pasha Tatashin
2026-04-15 0:05 ` yanjun.zhu
2026-04-15 0:14 ` Pasha Tatashin
2026-04-20 4:32 ` Zhu Yanjun
2026-04-20 4:45 ` Pasha Tatashin
2026-04-20 7:13 ` Mike Rapoport
2026-04-20 13:26 ` Pasha Tatashin
2026-05-12 13:35 ` Pratyush Yadav
2026-05-12 15:55 ` Pasha Tatashin
2026-04-14 20:02 ` [PATCH 2/5] liveupdate: Remove limit on the number of files per session Pasha Tatashin
2026-05-12 13:58 ` Pratyush Yadav
2026-05-12 20:06 ` Pasha Tatashin
2026-04-14 20:02 ` [PATCH 3/5] selftests/liveupdate: Test session and file limit removal Pasha Tatashin
2026-05-12 14:04 ` Pratyush Yadav
2026-05-12 20:13 ` Pasha Tatashin [this message]
2026-04-14 20:02 ` [PATCH 4/5] selftests/liveupdate: Add stress-sessions kexec test Pasha Tatashin
2026-05-12 14:09 ` Pratyush Yadav
2026-05-12 20:41 ` Pasha Tatashin
2026-04-14 20:02 ` [PATCH 5/5] selftests/liveupdate: Add stress-files " Pasha Tatashin
2026-05-12 14:10 ` Pratyush Yadav
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=agOJui6EOiJR3cgn@plex \
--to=pasha.tatashin@soleen.com \
--cc=akpm@linux-foundation.org \
--cc=dmatlack@google.com \
--cc=graf@amazon.com \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=pratyush@kernel.org \
--cc=rppt@kernel.org \
--cc=shuah@kernel.org \
--cc=skhawaja@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.