From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: passt.top; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=aByOB7m6; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by passt.top (Postfix) with ESMTPS id EDDE05A061B for ; Fri, 17 Oct 2025 19:43:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1760723021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3jeb5MmiAdXMiW+hBeHIUaPUgfJEvWob7FfjW3dfC74=; b=aByOB7m6wQYRS1hR7XPk1R+UYkqiesJeQl/6ASS9jxjCtlCIOOAW0RJvogSosraRmsFREZ EXchQVZg9N/nFXIJRdc5QZT+6NRYL5JGtRbPP66bmhhx7qzXB7E4HuLifcWLoVz3ETtDFu Hif2SVKenuxRWgT2AZbu6X6SsCUQLTc= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-629-7AC8Ruh7OdaQgdmZFh1YuQ-1; Fri, 17 Oct 2025 13:43:39 -0400 X-MC-Unique: 7AC8Ruh7OdaQgdmZFh1YuQ-1 X-Mimecast-MFC-AGG-ID: 7AC8Ruh7OdaQgdmZFh1YuQ_1760723018 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-46b303f6c9cso23070785e9.2 for ; Fri, 17 Oct 2025 10:43:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760723017; x=1761327817; h=content-transfer-encoding:mime-version:organization:references :in-reply-to:message-id:subject:cc:to:from:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=3jeb5MmiAdXMiW+hBeHIUaPUgfJEvWob7FfjW3dfC74=; b=ivXAZcxo7CeQZXpoDEl4EXxFeMPxCMP9F4ztgHMYV2fdaA/1VAMseZxaV8cjsEvS5j 6W24bYY37B/COZWeK0EcMaLWdqLJ+nk3vaMCONG853+uYsuUdG1suDByO1XQgQ7oH7nI 2P2TCGbHMyU+4Ky/9lqcRKJND2DwVgyh3+XYx1LlBiJBK9a+tAZDOYBRHlz+FAfNL+D2 H+yLbNpIFjFFIJtwa0VrHUIJxARXdtLZjHdTmx32+SK7Cl2X+w9Mh+4kDP8frPYbKzJR ogYSOCOqdLTK3iejk0H7nzWE9fdJpC3NGgk8wPtdrQP19Kw65Ge6HNlctoZFO4FXeLX+ 5YUA== X-Gm-Message-State: AOJu0Yzkji0Hzj0Srj/fZtpp4xbJFmEM5EL5dWUpJ6wuG/Q30z4/ntO5 uuQirRd2C5d9nCMbr4nEdCfVPqfMnCW2dz8J9J1+jAVkBwDv9233ah8P+cB52PLVS4o8DahAOX7 jkFM0Sv6TyNzaDyQaPdhnL6yY/I0cfYD9lMarYgJfTpF1f+Ols4HlLpQ7S+zobrJKL97mPHnPML MafZecbr9vD0GEq0hNl50C9L7/K30e9njr27CE X-Gm-Gg: ASbGncvVaHQnaH5mh1hShlOSR0jXvnHNGLhESnRROQZfiCSOLAMcWLXQ+RyjgX5FtWJ NhXwZ67aXBEO+ErJbzHatbilZvPOE0P/JZFTH+VwVoOoo7RIqkiiecL+hOgltuynhtMUBBE9RAF FSeHeO1YPYeQEE8R1pHB4F/Xj6BxTf5UpsfOwtfAwHNddrHQRL2+x2dXcLHh1U4b06N5PLI1Pn6 7bO+fTzc5xfZsX2ciZY8lHc3QZ0WH+Q8UciPFrRH4hNR4OzuDi6AtK7lRW8G2YQUSymSxHkumxL abRbC+CbYtwc9khioxGL0a2xYZ/Fpe10/FTV7v6Cjgi8Zhwb4S53MLU6SZIjGsLWwUlmChCJkqV SPFy3j2SFDw== X-Received: by 2002:a05:600c:45c9:b0:471:115e:87bd with SMTP id 5b1f17b1804b1-4711791c601mr34865915e9.26.1760723017017; Fri, 17 Oct 2025 10:43:37 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGitShz9/vdyYl5pJE2kDJMig80S/6fmWye++z9PtYYdqpGHHDaopk9IWpUqF/A9mr2cC/EEA== X-Received: by 2002:a05:600c:45c9:b0:471:115e:87bd with SMTP id 5b1f17b1804b1-4711791c601mr34865785e9.26.1760723016428; Fri, 17 Oct 2025 10:43:36 -0700 (PDT) Received: from maya.myfinge.rs (ifcgrfdd.trafficplex.cloud. [2a10:fc81:a806:d6a9::1]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-471144c82b8sm91931615e9.15.2025.10.17.10.43.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 10:43:35 -0700 (PDT) Date: Fri, 17 Oct 2025 19:43:34 +0200 From: Stefano Brivio To: Laurent Vivier Subject: Re: [PATCH v4 7/7] passt: Move main event loop processing into passt_worker() Message-ID: <20251017194334.5dd4d098@elisabeth> In-Reply-To: <20251017103129.229412-8-lvivier@redhat.com> References: <20251017103129.229412-1-lvivier@redhat.com> <20251017103129.229412-8-lvivier@redhat.com> Organization: Red Hat X-Mailer: Claws Mail 4.2.0 (GTK 3.24.49; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: h-iZFMw7OaFEuIH2qs1VdUXtrU7DuTVyhSAXhlioX5A_1760723018 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-ID-Hash: VM72K2SDH6SP6RWJUJWHOGEQI7ICH5D6 X-Message-ID-Hash: VM72K2SDH6SP6RWJUJWHOGEQI7ICH5D6 X-MailFrom: sbrivio@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: passt-dev@passt.top X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Fri, 17 Oct 2025 12:31:29 +0200 Laurent Vivier wrote: > Extract the epoll event processing logic from main() into a separate > passt_worker() function. This refactoring prepares the code for future > threading support where passt_worker() will be called as a worker thread > callback. > > The new function handles: > - Processing epoll events and dispatching to protocol handlers > - Event statistics tracking and printing > - Post-handler periodic tasks (timers, deferred work) > - Migration handling > > No functional changes, purely a code restructuring. > > Signed-off-by: Laurent Vivier > --- > passt.c | 160 +++++++++++++++++++++++++++++++------------------------- > 1 file changed, 88 insertions(+), 72 deletions(-) > > diff --git a/passt.c b/passt.c > index 37f2c897be84..5bfa4c6353d9 100644 > --- a/passt.c > +++ b/passt.c > @@ -229,6 +229,92 @@ static void print_stats(const struct ctx *c, const struct passt_stats *stats, > lines_printed++; > } > > +/** > + * passt_worker() - Process epoll events and handle protocol operations > + * @opaque: Pointer to execution context (struct ctx) > + * @nfds: Number of file descriptors ready (epoll_wait return value) > + * @events: epoll_event array of ready file descriptors > + */ > +static void passt_worker(void *opaque, int nfds, struct epoll_event *events) Nit: excess whitespace. The rest of the series looks good to me, all tests pass as well. -- Stefano