Message ID | 20230217225558.19837-2-shannon.nelson@amd.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | pds_core driver | expand |
Fri, Feb 17, 2023 at 11:55:45PM CET, shannon.nelson@amd.com wrote: >Add a new device generic parameter to enable/disable support >for live migration in the devlink device. This is intended >primarily for a core device that supports other ports/VFs/SFs. >Those dependent ports may need their own migratable parameter >for individual enable/disable control. > >Examples: > $ devlink dev param set pci/0000:07:00.0 name enable_migration value true cmode runtime > $ devlink dev param show pci/0000:07:00.0 name enable_migration > pci/0000:07:00.0: > name enable_migration type generic > values: > cmode runtime value true > >Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> Could you please elaborate why exactly is this needed? From my perspective, the migration capability is something that is related to the actual function (VF/SF). When instantiating/configuring SF/VF, the admin ask for the particular function to support live migration. We have port function caps now, which is exactly where this makes sense. See DEVLINK_PORT_FN_CAP_MIGRATABLE.
Fri, Feb 17, 2023 at 11:55:45PM CET, shannon.nelson@amd.com wrote: >Add a new device generic parameter to enable/disable support >for live migration in the devlink device. This is intended >primarily for a core device that supports other ports/VFs/SFs. >Those dependent ports may need their own migratable parameter >for individual enable/disable control. > >Examples: > $ devlink dev param set pci/0000:07:00.0 name enable_migration value true cmode runtime > $ devlink dev param show pci/0000:07:00.0 name enable_migration > pci/0000:07:00.0: > name enable_migration type generic > values: > cmode runtime value true > >Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> >--- > Documentation/networking/devlink/devlink-params.rst | 3 +++ > include/net/devlink.h | 4 ++++ > net/devlink/leftover.c | 5 +++++ Why you didn't use get_maintainers.pl script for the cc list?
On 2/20/23 12:22 AM, Jiri Pirko wrote: > Fri, Feb 17, 2023 at 11:55:45PM CET, shannon.nelson@amd.com wrote: >> Add a new device generic parameter to enable/disable support >> for live migration in the devlink device. This is intended >> primarily for a core device that supports other ports/VFs/SFs. >> Those dependent ports may need their own migratable parameter >> for individual enable/disable control. >> >> Examples: >> $ devlink dev param set pci/0000:07:00.0 name enable_migration value true cmode runtime >> $ devlink dev param show pci/0000:07:00.0 name enable_migration >> pci/0000:07:00.0: >> name enable_migration type generic >> values: >> cmode runtime value true >> >> Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> > > Could you please elaborate why exactly is this needed? > > From my perspective, the migration capability is something that > is related to the actual function (VF/SF). > > When instantiating/configuring SF/VF, the admin ask for the particular > function to support live migration. We have port function caps now, > which is exactly where this makes sense. > > See DEVLINK_PORT_FN_CAP_MIGRATABLE. Hi Jiri, Thanks for your questions. My apologies for not getting your name into the To: list – a late Friday afternoon miss. This enable_migration flag is intended to be similar to the enable_vnet, enable_rdma, and similar existing parameters that are used by other core devices. Our pds_core device can be used to support several features (currently VFio and vDPA), and this gives the user a way to control how many of the features are made available in any particular configuration. This is to be enabled to turn on support for our pds_vfio client devices as a whole, not individually port-by-port. I understand FN_CAP_MIGRATABLE to be applied to an individual devlink port, which could be used in conjunction with this once the general feature is enable in pds_core. Thanks, sln
Tue, Feb 21, 2023 at 12:54:25AM CET, shannon.nelson@amd.com wrote: >On 2/20/23 12:22 AM, Jiri Pirko wrote: >> Fri, Feb 17, 2023 at 11:55:45PM CET, shannon.nelson@amd.com wrote: >> > Add a new device generic parameter to enable/disable support >> > for live migration in the devlink device. This is intended >> > primarily for a core device that supports other ports/VFs/SFs. >> > Those dependent ports may need their own migratable parameter >> > for individual enable/disable control. >> > >> > Examples: >> > $ devlink dev param set pci/0000:07:00.0 name enable_migration value true cmode runtime >> > $ devlink dev param show pci/0000:07:00.0 name enable_migration >> > pci/0000:07:00.0: >> > name enable_migration type generic >> > values: >> > cmode runtime value true >> > >> > Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> >> >> Could you please elaborate why exactly is this needed? >> >> From my perspective, the migration capability is something that >> is related to the actual function (VF/SF). >> >> When instantiating/configuring SF/VF, the admin ask for the particular >> function to support live migration. We have port function caps now, >> which is exactly where this makes sense. >> >> See DEVLINK_PORT_FN_CAP_MIGRATABLE. > >Hi Jiri, > >Thanks for your questions. My apologies for not getting your name into the >To: list – a late Friday afternoon miss. > >This enable_migration flag is intended to be similar to the enable_vnet, >enable_rdma, and similar existing parameters that are used by other core >devices. > >Our pds_core device can be used to support several features (currently VFio >and vDPA), and this gives the user a way to control how many of the features >are made available in any particular configuration. This is to be enabled to >turn on support for our pds_vfio client devices as a whole, not individually >port-by-port. I understand FN_CAP_MIGRATABLE to be applied to an individual >devlink port, which could be used in conjunction with this once the general >feature is enable in pds_core. Okay, that sounds legit. Could yout please extend the patch description with this? Thanks! > >Thanks, >sln
On 2/21/23 4:33 AM, Jiri Pirko wrote: > Tue, Feb 21, 2023 at 12:54:25AM CET, shannon.nelson@amd.com wrote: >> On 2/20/23 12:22 AM, Jiri Pirko wrote: >>> Fri, Feb 17, 2023 at 11:55:45PM CET, shannon.nelson@amd.com wrote: >>>> Add a new device generic parameter to enable/disable support >>>> for live migration in the devlink device. This is intended >>>> primarily for a core device that supports other ports/VFs/SFs. >>>> Those dependent ports may need their own migratable parameter >>>> for individual enable/disable control. >>>> >>>> Examples: >>>> $ devlink dev param set pci/0000:07:00.0 name enable_migration value true cmode runtime >>>> $ devlink dev param show pci/0000:07:00.0 name enable_migration >>>> pci/0000:07:00.0: >>>> name enable_migration type generic >>>> values: >>>> cmode runtime value true >>>> >>>> Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> >>> >>> Could you please elaborate why exactly is this needed? >>> >>> From my perspective, the migration capability is something that >>> is related to the actual function (VF/SF). >>> >>> When instantiating/configuring SF/VF, the admin ask for the particular >>> function to support live migration. We have port function caps now, >>> which is exactly where this makes sense. >>> >>> See DEVLINK_PORT_FN_CAP_MIGRATABLE. >> >> Hi Jiri, >> >> Thanks for your questions. My apologies for not getting your name into the >> To: list – a late Friday afternoon miss. >> >> This enable_migration flag is intended to be similar to the enable_vnet, >> enable_rdma, and similar existing parameters that are used by other core >> devices. >> >> Our pds_core device can be used to support several features (currently VFio >> and vDPA), and this gives the user a way to control how many of the features >> are made available in any particular configuration. This is to be enabled to >> turn on support for our pds_vfio client devices as a whole, not individually >> port-by-port. I understand FN_CAP_MIGRATABLE to be applied to an individual >> devlink port, which could be used in conjunction with this once the general >> feature is enable in pds_core. > > Okay, that sounds legit. Could yout please extend the patch description > with this? Thanks! Will do - thanks. sln
diff --git a/Documentation/networking/devlink/devlink-params.rst b/Documentation/networking/devlink/devlink-params.rst index 4e01dc32bc08..900216fd56b9 100644 --- a/Documentation/networking/devlink/devlink-params.rst +++ b/Documentation/networking/devlink/devlink-params.rst @@ -137,3 +137,6 @@ own name. * - ``event_eq_size`` - u32 - Control the size of asynchronous control events EQ. + * - ``enable_migration`` + - Boolean + - Enable/disable support for live migration in the devlink device. diff --git a/include/net/devlink.h b/include/net/devlink.h index 6a942e70e451..bd85a3ff3774 100644 --- a/include/net/devlink.h +++ b/include/net/devlink.h @@ -513,6 +513,7 @@ enum devlink_param_generic_id { DEVLINK_PARAM_GENERIC_ID_ENABLE_IWARP, DEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE, DEVLINK_PARAM_GENERIC_ID_EVENT_EQ_SIZE, + DEVLINK_PARAM_GENERIC_ID_ENABLE_MIGRATION, /* add new param generic ids above here*/ __DEVLINK_PARAM_GENERIC_ID_MAX, @@ -571,6 +572,9 @@ enum devlink_param_generic_id { #define DEVLINK_PARAM_GENERIC_EVENT_EQ_SIZE_NAME "event_eq_size" #define DEVLINK_PARAM_GENERIC_EVENT_EQ_SIZE_TYPE DEVLINK_PARAM_TYPE_U32 +#define DEVLINK_PARAM_GENERIC_ENABLE_MIGRATION_NAME "enable_migration" +#define DEVLINK_PARAM_GENERIC_ENABLE_MIGRATION_TYPE DEVLINK_PARAM_TYPE_BOOL + #define DEVLINK_PARAM_GENERIC(_id, _cmodes, _get, _set, _validate) \ { \ .id = DEVLINK_PARAM_GENERIC_ID_##_id, \ diff --git a/net/devlink/leftover.c b/net/devlink/leftover.c index 3569706c49e1..2e56dfadd37b 100644 --- a/net/devlink/leftover.c +++ b/net/devlink/leftover.c @@ -3923,6 +3923,11 @@ static const struct devlink_param devlink_param_generic[] = { .name = DEVLINK_PARAM_GENERIC_EVENT_EQ_SIZE_NAME, .type = DEVLINK_PARAM_GENERIC_EVENT_EQ_SIZE_TYPE, }, + { + .id = DEVLINK_PARAM_GENERIC_ID_ENABLE_MIGRATION, + .name = DEVLINK_PARAM_GENERIC_ENABLE_MIGRATION_NAME, + .type = DEVLINK_PARAM_GENERIC_ENABLE_MIGRATION_TYPE, + }, }; static int devlink_param_generic_verify(const struct devlink_param *param)
Add a new device generic parameter to enable/disable support for live migration in the devlink device. This is intended primarily for a core device that supports other ports/VFs/SFs. Those dependent ports may need their own migratable parameter for individual enable/disable control. Examples: $ devlink dev param set pci/0000:07:00.0 name enable_migration value true cmode runtime $ devlink dev param show pci/0000:07:00.0 name enable_migration pci/0000:07:00.0: name enable_migration type generic values: cmode runtime value true Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> --- Documentation/networking/devlink/devlink-params.rst | 3 +++ include/net/devlink.h | 4 ++++ net/devlink/leftover.c | 5 +++++ 3 files changed, 12 insertions(+)