From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 07971802A7 for ; Tue, 6 Oct 2026 21:55:45 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 696LsViL028180; Wed, 7 Oct 2026 00:54:32 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 696LsViL028180 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="ORnaAuZ4" Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 696LsA7u028127 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 7 Oct 2026 00:54:10 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 696LsA7u028127 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-48af4046a3bso3090647f8f.2 for ; Tue, 06 Oct 2026 14:54:10 -0700 (PDT) X-Forwarded-Encrypted: i=2; AKwUvBxEbzmM7laH4cDArER6R0fX/tInMOe2QCGc6iGz3uMf5rBnWk3TZm+JVpzGOcH6/nS+L1VC7A==@openvz.org X-Gm-Message-State: AFuF++kWD3ZEhUFZFJzi45KLcn/Siv13ZfJ9G/08sVv41m2k1x7defl2 c8nFvZ6qF/jCmb++tw6aEtVaW1e/loQlLDWOh07+AEjYjzbOO6OYHQSP5Ev8FH4ib1vEqyp0+mG zdIPIVmEjbZUuuf3pi6sonCQfV2WIke41Yr1QdgfWtlOayWN64/fRww== X-Gm-Gg: AYBFou24rZMKZm2/KUcNdzuX1nCj7etNvGUYjDHk3lYrvB318E3Bl1PekaPtT22391f YWK8e3a0IkHkhr+P/uEkBjxp1J7zpQw1z9ZuIx9N1IVQTPQHwiysigTOnun5a5BHI2/qymGoD6w MBVHK8PqoHShAAvDyipxxwQzji83svYbv2UWvmtfeskqzjl4xN4meHldZMabR4xw4VBbGBkGiL/ pyuo3G9kJBg1UJgFLL2M9tgE6urb2SeusxPTh4ZIgPbZzyf3ZlRhW+1qpk9PrehZh8RBDAcc1T+ UQO1l2P02Nud0lpC/8AzrutAMQbZ5bmS5unCI84gDZOi/FjF4VKsMia51ZxC4EUfExFXF+0uBr2 Lzx63tVsAAP0T3nYw2b/fmoXJp5GUnA== X-Received: by 2002:a05:600c:4ecf:b0:49f:bd3c:bc1a with SMTP id 5b1f17b1804b1-4a1804556ecmr2248035e9.21.1791323650037; Tue, 06 Oct 2026 14:54:10 -0700 (PDT) X-Received: by 2002:a05:600c:4ecf:b0:49f:bd3c:bc1a with SMTP id 5b1f17b1804b1-4a1804556ecmr2247755e9.21.1791323649507; Tue, 06 Oct 2026 14:54:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1791323649; cv=none; d=google.com; s=arc-20260327; b=Fw0xeHDT4gviqCpYiu67yV7+5daq2AYdBIPZvfWqUTODlTp4N9498glx75EVXPLWG5 FNOjjy9EVdEmiSttBfHOMnfo0INsEGnijRyn67kCoWgoi8bLH0a3fk3Z24QwLggFa6Wb +/KBiROo+nAmsqdkcLmBur0H92JhxGcAvHbH9/auOppmyYEX/7iVhOZZ95yEODnArYx7 hKLm1VUL7cl3C7JYIG0EK5RUr+rDokzRPbF2SEbGGx/iHQTuksdK2rv19Bp8fq0l5wTx HsKtEsjGfmkkArR++WOw/25+ZRq4EJN/Ti4/13vjVChK2Icf1kOZCREDbd2vJ804firw f6JA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:dkim-signature; bh=WCmsBaa6P0Tyy/H3q+/ekf0MNtvLnVdpBjD50i3398s=; fh=qxDc+R3aPG8cEdp5mmd3IFOllj1eLCwZHAcc+Tf/KXA=; b=DRwDd1bdmA6Tx5oegpW8gVhV8BWL8NywYzJMazT1piCYxkkuSRcOQIKP3sCu+zt7nW rH1nwPtNUChbsf6ZlxxY+hyaHezYqIGjtW+eoFB/lIXnRan8tJuFnjryRm3XlQ1ob3M0 M4y2VGK2Tiit94lGGqJyc4N8yvKvs6qXJ7qG0XlvY34RCW/UJNLRyCJec8obVvXNtKKd SQyI5Deg5SVhBNQSnrgS8u8022pTPApZb3wBp4aRGYhU4Z9S7pxUS+7X7XHPNmLwAd6g cSeTCo0B+XBKMOQUeEPC81SQmy834BDMZ2cPuefI4PKfPqQh5b6xriAnPlNBf6cnOJdx TPkQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=ORnaAuZ4; spf=pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=vladimir.riabchun@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id ffacd0b85a97d-48c730a8b95si1313365f8f.447.2026.10.06.14.54.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Oct 2026 14:54:09 -0700 (PDT) Received-SPF: pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=ORnaAuZ4; spf=pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=vladimir.riabchun@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Message-Id:Content-Type:MIME-Version:Subject:Date :From; bh=WCmsBaa6P0Tyy/H3q+/ekf0MNtvLnVdpBjD50i3398s=; b=ORnaAuZ4NtiBbimzDzn GKseil9eI1boPlei6w5NJLIWQsCV1qAL0gKHhTYlc/PM1mRKwjrkI5kTudpxVxKnUsTjRI9QbFV3h WyOrwPK303ugaDKrai9IhHhO6N09PdzcJc2NmQv5gXUBcTTpWcHw+SSM74gXFowdOJDoEqrT2SFAU lfpvIYODCozBusDF0aTBCWQX3kpd62UX7k7tiLM2AlTpvp7I1Fjd72ltoPcMuUMk7jwa+VU1wW1Wf CNQFMMgkzrbdP6jnuE8luclQP7zTmWhVErc3BUmrfUsvE2fPXW+L8674uOU9jfh2GJJEUn97CixQn ee+oDXSmvFYanpA==; Received: from ch-demo-asa.virtuozzo.com ([130.117.225.8] helo=192.168.1.87) by relay.virtuozzo.com with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1xED3f-004Dgb-30; Tue, 06 Oct 2026 23:53:58 +0200 From: Vladimir Riabchun Date: Tue, 06 Oct 2026 23:53:56 +0200 MIME-Version: 1.0 Message-Id: <20261006-ve-printk-irq-v2-5-db1dc4f6ed07@virtuozzo.com> References: <20261006-ve-printk-irq-v2-0-db1dc4f6ed07@virtuozzo.com> In-Reply-To: <20261006-ve-printk-irq-v2-0-db1dc4f6ed07@virtuozzo.com> To: vasileios.almpanis@virtuozzo.com, Konstantin Khorenko X-Mailer: b4 0.14.3 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 v2 5/6] ve/failcount: Use ve_printk with specified ve X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org ve_failcount_inc could be called from IRQ context, and we want the message to go to the right place. Use new __ve_printk helpers for this. https://virtuozzo.atlassian.net/browse/VSTOR-146839 Feature: ve printk Signed-off-by: Vladimir Riabchun --- include/linux/printk.h | 18 ++++++++++++++---- include/linux/ve.h | 16 ++++++++-------- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/include/linux/printk.h b/include/linux/printk.h index a9470c81f8db..620a6f767150 100644 --- a/include/linux/printk.h +++ b/include/linux/printk.h @@ -755,24 +755,31 @@ struct pi_entry { printk(fmt, ##__VA_ARGS__); \ }) -#define ve_printk_ratelimited(dst, fmt, ...) \ +#define __ve_printk_ratelimited(dst, ve, fmt, ...) \ ({ \ static DEFINE_RATELIMIT_STATE(_rs, \ DEFAULT_RATELIMIT_INTERVAL, \ DEFAULT_RATELIMIT_BURST); \ + \ + if (ve_ratelimit(dst, ve, &_rs)) \ + __ve_printk(dst, ve, fmt, ##__VA_ARGS__); \ +}) + +#define ve_printk_ratelimited(dst, fmt, ...) \ +({ \ struct ve_struct *__ve = get_exec_env(); \ \ if (WARN_ON_ONCE((dst & VE_LOG) && !in_task())) \ __ve = get_ve0(); \ - \ - if (ve_ratelimit(dst, __ve, &_rs)) \ - ve_printk(dst, fmt, ##__VA_ARGS__); \ + __ve_printk_ratelimited(dst, __ve, fmt, ##__VA_ARGS__); \ }) #else #define printk_ratelimited(fmt, ...) \ no_printk(fmt, ##__VA_ARGS__) #define ve_printk_ratelimited(dst, fmt, ...) \ no_printk(fmt, ##__VA_ARGS__) +#define __ve_printk_ratelimited(dst, ve, fmt, ...) \ + no_printk(fmt, ##__VA_ARGS__) #endif #define pr_emerg_ratelimited(fmt, ...) \ @@ -790,6 +797,7 @@ struct pi_entry { #define pr_info_ratelimited(fmt, ...) \ printk_ratelimited(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) /* no pr_cont_ratelimited, don't do that... */ + #define ve_pr_emerg_ratelimited(dst, fmt, ...) \ ve_printk_ratelimited(dst, KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) #define ve_pr_alert_ratelimited(dst, fmt, ...) \ @@ -800,6 +808,8 @@ struct pi_entry { ve_printk_ratelimited(dst, KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) #define ve_pr_warn_ratelimited(dst, fmt, ...) \ ve_printk_ratelimited(dst, KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) +#define __ve_pr_warn_ratelimited(dst, ve, fmt, ...) \ + __ve_printk_ratelimited(dst, ve, KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) #define ve_pr_notice_ratelimited(dst, fmt, ...) \ ve_printk_ratelimited(dst, KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__) #define ve_pr_info_ratelimited(dst, fmt, ...) \ diff --git a/include/linux/ve.h b/include/linux/ve.h index a400d21593b2..946df4eebe89 100644 --- a/include/linux/ve.h +++ b/include/linux/ve.h @@ -156,14 +156,14 @@ extern int nr_ve; #define BPF_PROG_MAX_NR_DEFAULT 256 /* number of loaded BPF progs per-VE */ #define MNT_MAX_NR_DEFAULT 4096 /* number of mounts per-VE */ -#define ve_failcount_inc(ve, name) \ -do { \ - struct ve_struct *__ve = (ve); \ - \ - atomic_inc(&__ve->name##_failcount); \ - ve_pr_warn_ratelimited(VE_LOG_BOTH, "CT%s: hits the " #name \ - " limit, see the '" #name "' counter in ve.failcount " \ - "of the container's ve cgroup\n", ve_name(__ve)); \ +#define ve_failcount_inc(ve, name) \ +do { \ + struct ve_struct *__ve = (ve); \ + \ + atomic_inc(&__ve->name##_failcount); \ + __ve_pr_warn_ratelimited(VE_LOG_BOTH, __ve, "CT%s: hits the " #name \ + " limit, see the '" #name "' counter in ve.failcount " \ + "of the container's ve cgroup\n", ve_name(__ve)); \ } while (0) #ifdef CONFIG_VE -- 2.52.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel