All Virtuozzo development lists (kernel + QEMU)
 help / color / mirror / Atom feed
From: Vladimir Riabchun <vladimir.riabchun@virtuozzo.com>
To: devel@openvz.org
Subject: [Devel] [PATCH VZ10 v9 0/8] Add per-VE failcount support
Date: Tue, 15 Sep 2026 17:22:28 +0000	[thread overview]
Message-ID: <cover.1789491989.git.vladimir.riabchun@virtuozzo.com> (raw)

This patchset introduces per-VE failcount support.
We have several resources, that have per-VE limits,
the users might want to know what limit hits make
operations fail.

- Patch 1 is cosmetic, nothing special.
- Patches 2-4 change mount number and limit processing,
  unifying it with other resources. VE selftest is updated
  in patch 3.
- Patch 5 greatly reduces the amount of copy-pasted code
  by introducing some useful macros.
- Patch 6 adds per-VE failcount file.
- Patch 7 fixes kernel log leak to containers from interrupts.
- Patch 8 introduces new VE selftest, that checks mounts
  accounting, limits and failcount updates.

NOTE: for running new selftest this change should be applied on
top of "[PATCH VZ10 v2 0/3] Improvements for ve selftests" patchset.

https://virtuozzo.atlassian.net/browse/VSTOR-135520

Changes since v8:
 - Added new patch 7 to fix logs leakage from interrupts.
   We are fine if we miss some failure logs in container
   dmesg - CT can check failcounts anyway, and bringing
   new ratelimited printks with specified VE is too hard
   for such a small thing.
 - Selftest in patch 8 got major rework:
   1. Correct mmap error handling.
   2. Dropped mnt_cost value. Let's force 1, it is expected
      value in fresh mount+VE namespaces.
   3. Proper solution for pending mount destructions. It used
      to be just sleep(1) which may not be enoght on loaded
      machines. Instead, issue rcu_barrier and wait on mnt_avail_nr.
      Since we forced mnt_cost == 1, it know precisely what the
      new value should be.

Vladimir Riabchun (8):
  ve/ve.{h,c}: Farewell to spaces as indents
  ve/fs: Rework per-ve mount count
  selftests/ve: Update ve_ns_owner_test
  ve: Move from global VE mounts limit to per-VE limit
  ve/ve.c: Generate VE resource accessors using macros
  ve: Introduce per-VE failcount
  ve/printk: Don't use ve log outside task context
  selftests/ve: Add mount accounting selftest

 fs/aio.c                                      |   1 +
 fs/namespace.c                                |  80 ++-
 include/linux/ve.h                            |  35 +-
 kernel/bpf/syscall.c                          |   1 +
 kernel/printk/printk.c                        |   7 +-
 kernel/ve/ve.c                                | 277 ++++-----
 kernel/ve/veowner.c                           |  19 -
 net/core/dev.c                                |  10 +-
 net/core/neighbour.c                          |   3 +-
 net/core/net_namespace.c                      |   4 +-
 tools/testing/selftests/ve/.gitignore         |   1 +
 tools/testing/selftests/ve/Makefile           |   1 +
 .../selftests/ve/ve_mount_accounting_test.c   | 550 ++++++++++++++++++
 tools/testing/selftests/ve/ve_ns_owner_test.c |  37 +-
 tools/testing/selftests/ve/ve_selftest.h      |  21 +
 15 files changed, 822 insertions(+), 225 deletions(-)
 create mode 100644 tools/testing/selftests/ve/ve_mount_accounting_test.c

-- 
2.47.1

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

             reply	other threads:[~2026-09-15 17:24 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-15 17:22 Vladimir Riabchun [this message]
2026-09-15 17:22 ` [Devel] [PATCH VZ10 v9 1/8] ve/ve.{h, c}: Farewell to spaces as indents Vladimir Riabchun
2026-09-25 15:55   ` Konstantin Khorenko
2026-09-15 17:22 ` [Devel] [PATCH VZ10 v9 2/8] ve/fs: Rework per-ve mount count Vladimir Riabchun
2026-09-18 13:22   ` Vladimir Riabchun
2026-09-15 17:22 ` [Devel] [PATCH VZ10 v9 3/8] selftests/ve: Update ve_ns_owner_test Vladimir Riabchun
2026-09-18 13:28   ` Vladimir Riabchun
2026-09-15 17:22 ` [Devel] [PATCH VZ10 v9 4/8] ve: Move from global VE mounts limit to per-VE limit Vladimir Riabchun
2026-09-18 14:29   ` Vladimir Riabchun
2026-09-15 17:22 ` [Devel] [PATCH VZ10 v9 5/8] ve/ve.c: Generate VE resource accessors using macros Vladimir Riabchun
2026-09-18 14:36   ` Vladimir Riabchun
2026-09-15 17:22 ` [Devel] [PATCH VZ10 v9 6/8] ve: Introduce per-VE failcount Vladimir Riabchun
2026-09-18 14:42   ` Vladimir Riabchun
2026-09-25 16:02   ` Konstantin Khorenko
2026-09-25 16:08   ` Konstantin Khorenko
2026-09-15 17:22 ` [Devel] [PATCH VZ10 v9 7/8] ve/printk: Don't use ve log outside task context Vladimir Riabchun
2026-09-18 14:50   ` Vladimir Riabchun
2026-09-22 11:21   ` Vladimir Riabchun
2026-09-25 16:02     ` Konstantin Khorenko
2026-09-15 17:22 ` [Devel] [PATCH VZ10 v9 8/8] selftests/ve: Add mount accounting selftest Vladimir Riabchun
2026-09-18 15:06   ` Vladimir Riabchun
2026-09-25 16:04   ` Konstantin Khorenko
2026-09-16 12:30 ` [Devel] [PATCH VZ10 v9 0/8] Add per-VE failcount support Vasileios Almpanis
2026-09-16 17:30 ` Konstantin Khorenko
2026-09-18 15:07   ` Vladimir Riabchun
2026-09-18 16:02   ` Vladimir Riabchun

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=cover.1789491989.git.vladimir.riabchun@virtuozzo.com \
    --to=vladimir.riabchun@virtuozzo.com \
    --cc=devel@openvz.org \
    /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.