* [PATCH] eal: allow both allow and block options coexistence
@ 2023-07-07 5:07 Marvin Liu
2023-07-07 7:12 ` Thomas Monjalon
0 siblings, 1 reply; 3+ messages in thread
From: Marvin Liu @ 2023-07-07 5:07 UTC (permalink / raw)
To: thomas, dev; +Cc: Marvin Liu
Currently, all buses use the same eal allow and block options. Need to
allow both allow and block options for different buses to coexist.
It wouldn't be a problem for pci bus if both allow and block options
were present. When the first option occurs, the scan mode for pci bus is
set.
For example:
--allow 0000:05:00.0 --block wq0.0
only pci device 0000:05:00.0 will be scanned
all devices except wq0.0 on dsa bus will be scanned
--allow 0000:05:00.0 --block 0000:05:00.1
block option will be ignored
--block 0000:05:00.1 --allow 0000:05:00.0
allow option will be ignored
Signed-off-by: Marvin Liu <yong.liu@intel.com>
---
.mailmap | 2 +-
lib/eal/common/eal_common_options.c | 14 --------------
2 files changed, 1 insertion(+), 15 deletions(-)
diff --git a/.mailmap b/.mailmap
index 0443e461a9..d256696485 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1548,7 +1548,7 @@ Yogesh Jangra <yogesh.jangra@intel.com>
Yogev Chaimovich <yogev@cgstowernetworks.com>
Yongjie Gu <yongjiex.gu@intel.com>
Yongji Xie <xieyongji@baidu.com>
-Yong Liu <yong.liu@intel.com>
+Marvin Liu <yong.liu@intel.com>
Yongping Zhang <yongping.zhang@broadcom.com>
Yongseok Koh <yskoh@mellanox.com>
Yong Wang <wang.yong19@zte.com.cn> <yongwang@vmware.com>
diff --git a/lib/eal/common/eal_common_options.c b/lib/eal/common/eal_common_options.c
index 0305933698..0d8f9c5a38 100644
--- a/lib/eal/common/eal_common_options.c
+++ b/lib/eal/common/eal_common_options.c
@@ -1623,24 +1623,15 @@ int
eal_parse_common_option(int opt, const char *optarg,
struct internal_config *conf)
{
- static int b_used;
- static int a_used;
-
switch (opt) {
case 'b':
- if (a_used)
- goto ba_conflict;
if (eal_option_device_add(RTE_DEVTYPE_BLOCKED, optarg) < 0)
return -1;
- b_used = 1;
break;
case 'a':
- if (b_used)
- goto ba_conflict;
if (eal_option_device_add(RTE_DEVTYPE_ALLOWED, optarg) < 0)
return -1;
- a_used = 1;
break;
/* coremask */
case 'c': {
@@ -1929,11 +1920,6 @@ eal_parse_common_option(int opt, const char *optarg,
}
return 0;
-
-ba_conflict:
- RTE_LOG(ERR, EAL,
- "Options allow (-a) and block (-b) can't be used at the same time\n");
- return -1;
}
static void
--
2.24.0.rc1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] eal: allow both allow and block options coexistence
2023-07-07 5:07 [PATCH] eal: allow both allow and block options coexistence Marvin Liu
@ 2023-07-07 7:12 ` Thomas Monjalon
0 siblings, 0 replies; 3+ messages in thread
From: Thomas Monjalon @ 2023-07-07 7:12 UTC (permalink / raw)
To: Marvin Liu; +Cc: dev, david.marchand
07/07/2023 07:07, Marvin Liu:
> Currently, all buses use the same eal allow and block options. Need to
> allow both allow and block options for different buses to coexist.
> It wouldn't be a problem for pci bus if both allow and block options
> were present. When the first option occurs, the scan mode for pci bus is
> set.
>
> For example:
> --allow 0000:05:00.0 --block wq0.0
> only pci device 0000:05:00.0 will be scanned
> all devices except wq0.0 on dsa bus will be scanned
> --allow 0000:05:00.0 --block 0000:05:00.1
> block option will be ignored
> --block 0000:05:00.1 --allow 0000:05:00.0
> allow option will be ignored
It is wrong to ignore a user parameter silently.
Also, it would be clearer to use the new devargs syntax
with bus=pci,addr=0000:05:00.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] eal: allow both allow and block options coexistence
@ 2023-05-19 2:29 Marvin Liu
0 siblings, 0 replies; 3+ messages in thread
From: Marvin Liu @ 2023-05-19 2:29 UTC (permalink / raw)
To: anatoly.burakov, dev; +Cc: Marvin Liu
Since all buses share the same eal allow and block options. There's a
need to allow both allow and block options coexist. At the same time,
this wouldn't be a problem if both allow and block options were present
on the same bus. The scan mode of a bus will be set when met the first
type option.
eg: --allow 0000:05:00.0 --block wq0.0
only pci device 0000:05:00.0 will be scanned
all devices except wq0.0 on dsa bus will be scanned
eg: --allow 0000:05:00.0 --block 0000:05:00.1
block option will be ingored
eg: --block 0000:05:00.1 --allow 0000:05:00.0
allow option will be ignored
Signed-off-by: Marvin Liu <yong.liu@intel.com>
---
.mailmap | 2 +-
lib/eal/common/eal_common_options.c | 14 --------------
2 files changed, 1 insertion(+), 15 deletions(-)
diff --git a/.mailmap b/.mailmap
index 0443e461a9..d256696485 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1548,7 +1548,7 @@ Yogesh Jangra <yogesh.jangra@intel.com>
Yogev Chaimovich <yogev@cgstowernetworks.com>
Yongjie Gu <yongjiex.gu@intel.com>
Yongji Xie <xieyongji@baidu.com>
-Yong Liu <yong.liu@intel.com>
+Marvin Liu <yong.liu@intel.com>
Yongping Zhang <yongping.zhang@broadcom.com>
Yongseok Koh <yskoh@mellanox.com>
Yong Wang <wang.yong19@zte.com.cn> <yongwang@vmware.com>
diff --git a/lib/eal/common/eal_common_options.c b/lib/eal/common/eal_common_options.c
index 0305933698..0d8f9c5a38 100644
--- a/lib/eal/common/eal_common_options.c
+++ b/lib/eal/common/eal_common_options.c
@@ -1623,24 +1623,15 @@ int
eal_parse_common_option(int opt, const char *optarg,
struct internal_config *conf)
{
- static int b_used;
- static int a_used;
-
switch (opt) {
case 'b':
- if (a_used)
- goto ba_conflict;
if (eal_option_device_add(RTE_DEVTYPE_BLOCKED, optarg) < 0)
return -1;
- b_used = 1;
break;
case 'a':
- if (b_used)
- goto ba_conflict;
if (eal_option_device_add(RTE_DEVTYPE_ALLOWED, optarg) < 0)
return -1;
- a_used = 1;
break;
/* coremask */
case 'c': {
@@ -1929,11 +1920,6 @@ eal_parse_common_option(int opt, const char *optarg,
}
return 0;
-
-ba_conflict:
- RTE_LOG(ERR, EAL,
- "Options allow (-a) and block (-b) can't be used at the same time\n");
- return -1;
}
static void
--
2.24.0.rc1
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-07-07 7:12 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-07 5:07 [PATCH] eal: allow both allow and block options coexistence Marvin Liu
2023-07-07 7:12 ` Thomas Monjalon
-- strict thread matches above, loose matches on Subject: below --
2023-05-19 2:29 Marvin Liu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).