All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: dev@dpdk.org
Cc: dmitry.kozliuk@gmail.com, david.marchand@redhat.com,
	Tyler Retzlaff <roretzla@linux.microsoft.com>
Subject: [PATCH v3] eal/windows: set Windows main lcore affinitization
Date: Thu, 14 Apr 2022 05:43:43 -0700	[thread overview]
Message-ID: <1649940223-11193-1-git-send-email-roretzla@linux.microsoft.com> (raw)
In-Reply-To: <1648630829-4372-1-git-send-email-roretzla@linux.microsoft.com>

Add missing code to affinitize main_lcore from lcore configuration.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---

v3: update commit message s/add/Add/
v2: RTE_LOG of eal_thread_dump_current_affinity as linux does

 lib/eal/windows/eal.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/lib/eal/windows/eal.c b/lib/eal/windows/eal.c
index ca3c41a..98d8b15 100644
--- a/lib/eal/windows/eal.c
+++ b/lib/eal/windows/eal.c
@@ -279,6 +279,7 @@ enum rte_proc_type_t
 	bool has_phys_addr;
 	enum rte_iova_mode iova_mode;
 	int ret;
+	char cpuset[RTE_CPU_AFFINITY_STR_LEN];
 
 	eal_log_init(NULL, 0);
 
@@ -401,9 +402,20 @@ enum rte_proc_type_t
 		return -1;
 	}
 
+	if (pthread_setaffinity_np(pthread_self(), sizeof(rte_cpuset_t),
+			&lcore_config[config->main_lcore].cpuset) != 0) {
+		rte_eal_init_alert("Cannot set affinity");
+		rte_errno = EINVAL;
+		return -1;
+	}
 	__rte_thread_init(config->main_lcore,
 		&lcore_config[config->main_lcore].cpuset);
 
+	ret = eal_thread_dump_current_affinity(cpuset, sizeof(cpuset));
+	RTE_LOG(DEBUG, EAL, "Main lcore %u is ready (tid=%zx;cpuset=[%s%s])\n",
+		config->main_lcore, (uintptr_t)pthread_self(), cpuset,
+		ret == 0 ? "" : "...");
+
 	RTE_LCORE_FOREACH_WORKER(i) {
 
 		/*
-- 
1.8.3.1


  parent reply	other threads:[~2022-04-14 12:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-30  9:00 [PATCH] eal/windows: set Windows main lcore affinitization Tyler Retzlaff
2022-04-07 13:14 ` David Marchand
2022-04-12 16:30   ` Tyler Retzlaff
2022-04-14  9:50     ` David Marchand
2022-04-14 12:40 ` [PATCH v2] " Tyler Retzlaff
2022-04-14 12:43 ` Tyler Retzlaff [this message]
2022-04-14 13:08   ` [PATCH v3] " David Marchand
2022-04-25  8:28     ` David Marchand

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=1649940223-11193-1-git-send-email-roretzla@linux.microsoft.com \
    --to=roretzla@linux.microsoft.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.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.