[PATCH v14 0/4] debugfs to hisilicon migration driver

Longfang Liu posted 4 patches 1 year, 1 month ago
There is a newer version of this series
.../ABI/testing/debugfs-hisi-migration        |  25 ++
.../vfio/pci/hisilicon/hisi_acc_vfio_pci.c    | 266 ++++++++++++++++--
.../vfio/pci/hisilicon/hisi_acc_vfio_pci.h    |  19 ++
3 files changed, 279 insertions(+), 31 deletions(-)
create mode 100644 Documentation/ABI/testing/debugfs-hisi-migration
[PATCH v14 0/4] debugfs to hisilicon migration driver
Posted by Longfang Liu 1 year, 1 month ago
Add a debugfs function to the hisilicon migration driver in VFIO to
provide intermediate state values and data during device migration.

When the execution of live migration fails, the user can view the
status and data during the migration process separately from the
source and the destination, which is convenient for users to analyze
and locate problems.

Changes v13 -> v14
	Bugfix the parameter problem of seq_puts()

Changes v12 -> v13
	Replace seq_printf() with seq_puts()

Changes v11 -> v12
	Update comments and delete unnecessary logs

Changes v10 -> v11
	Update conditions for debugfs registration

Changes v9 -> v10
	Optimize symmetry processing of mutex

Changes v8 -> v9
	Added device enable mutex

Changes v7 -> v8
	Delete unnecessary information

Changes v6 -> v7
	Remove redundant kernel error log printing and
	remove unrelated bugfix code

Changes v5 -> v6
	Modify log output calling error

Changes v4 -> v5
	Adjust the descriptioniptionbugfs file directory

Changes v3 -> v4
	Rebased on kernel6.9

Changes 2 -> v3
	Solve debugfs serialization problem.

Changes v1 -> v2
	Solve the racy problem of io_base.

Longfang Liu (4):
  hisi_acc_vfio_pci: extract public functions for container_of
  hisi_acc_vfio_pci: create subfunction for data reading
  hisi_acc_vfio_pci: register debugfs for hisilicon migration driver
  Documentation: add debugfs description for hisi migration

 .../ABI/testing/debugfs-hisi-migration        |  25 ++
 .../vfio/pci/hisilicon/hisi_acc_vfio_pci.c    | 266 ++++++++++++++++--
 .../vfio/pci/hisilicon/hisi_acc_vfio_pci.h    |  19 ++
 3 files changed, 279 insertions(+), 31 deletions(-)
 create mode 100644 Documentation/ABI/testing/debugfs-hisi-migration

-- 
2.24.0
Re: [PATCH v14 0/4] debugfs to hisilicon migration driver
Posted by Alex Williamson 1 year, 1 month ago
On Fri, 8 Nov 2024 14:55:34 +0800
Longfang Liu <liulongfang@huawei.com> wrote:

> Add a debugfs function to the hisilicon migration driver in VFIO to
> provide intermediate state values and data during device migration.
> 
> When the execution of live migration fails, the user can view the
> status and data during the migration process separately from the
> source and the destination, which is convenient for users to analyze
> and locate problems.
> 
> Changes v13 -> v14
> 	Bugfix the parameter problem of seq_puts()

Should we assume this one is at least compile tested?  Thanks,

Alex

> 
> Changes v12 -> v13
> 	Replace seq_printf() with seq_puts()
> 
> Changes v11 -> v12
> 	Update comments and delete unnecessary logs
> 
> Changes v10 -> v11
> 	Update conditions for debugfs registration
> 
> Changes v9 -> v10
> 	Optimize symmetry processing of mutex
> 
> Changes v8 -> v9
> 	Added device enable mutex
> 
> Changes v7 -> v8
> 	Delete unnecessary information
> 
> Changes v6 -> v7
> 	Remove redundant kernel error log printing and
> 	remove unrelated bugfix code
> 
> Changes v5 -> v6
> 	Modify log output calling error
> 
> Changes v4 -> v5
> 	Adjust the descriptioniptionbugfs file directory
> 
> Changes v3 -> v4
> 	Rebased on kernel6.9
> 
> Changes 2 -> v3
> 	Solve debugfs serialization problem.
> 
> Changes v1 -> v2
> 	Solve the racy problem of io_base.
> 
> Longfang Liu (4):
>   hisi_acc_vfio_pci: extract public functions for container_of
>   hisi_acc_vfio_pci: create subfunction for data reading
>   hisi_acc_vfio_pci: register debugfs for hisilicon migration driver
>   Documentation: add debugfs description for hisi migration
> 
>  .../ABI/testing/debugfs-hisi-migration        |  25 ++
>  .../vfio/pci/hisilicon/hisi_acc_vfio_pci.c    | 266 ++++++++++++++++--
>  .../vfio/pci/hisilicon/hisi_acc_vfio_pci.h    |  19 ++
>  3 files changed, 279 insertions(+), 31 deletions(-)
>  create mode 100644 Documentation/ABI/testing/debugfs-hisi-migration
>
Re: [PATCH v14 0/4] debugfs to hisilicon migration driver
Posted by liulongfang 1 year, 1 month ago
On 2024/11/9 5:01, Alex Williamson wrote:
> On Fri, 8 Nov 2024 14:55:34 +0800
> Longfang Liu <liulongfang@huawei.com> wrote:
> 
>> Add a debugfs function to the hisilicon migration driver in VFIO to
>> provide intermediate state values and data during device migration.
>>
>> When the execution of live migration fails, the user can view the
>> status and data during the migration process separately from the
>> source and the destination, which is convenient for users to analyze
>> and locate problems.
>>
>> Changes v13 -> v14
>> 	Bugfix the parameter problem of seq_puts()
> 
> Should we assume this one is at least compile tested?  Thanks,
> 
> Alex
>
Yes, the patch needs to be fully tested..
I use the latest kernel6.12 and openEuler file system.
The verification test found that there is no problem with seq_printf()
and seq_puts(). But there is something wrong with the memory allocated
by "migf" and it needs to be fixed.

Thanks.
Longfang.

>>
>> Changes v12 -> v13
>> 	Replace seq_printf() with seq_puts()
>>
>> Changes v11 -> v12
>> 	Update comments and delete unnecessary logs
>>
>> Changes v10 -> v11
>> 	Update conditions for debugfs registration
>>
>> Changes v9 -> v10
>> 	Optimize symmetry processing of mutex
>>
>> Changes v8 -> v9
>> 	Added device enable mutex
>>
>> Changes v7 -> v8
>> 	Delete unnecessary information
>>
>> Changes v6 -> v7
>> 	Remove redundant kernel error log printing and
>> 	remove unrelated bugfix code
>>
>> Changes v5 -> v6
>> 	Modify log output calling error
>>
>> Changes v4 -> v5
>> 	Adjust the descriptioniptionbugfs file directory
>>
>> Changes v3 -> v4
>> 	Rebased on kernel6.9
>>
>> Changes 2 -> v3
>> 	Solve debugfs serialization problem.
>>
>> Changes v1 -> v2
>> 	Solve the racy problem of io_base.
>>
>> Longfang Liu (4):
>>   hisi_acc_vfio_pci: extract public functions for container_of
>>   hisi_acc_vfio_pci: create subfunction for data reading
>>   hisi_acc_vfio_pci: register debugfs for hisilicon migration driver
>>   Documentation: add debugfs description for hisi migration
>>
>>  .../ABI/testing/debugfs-hisi-migration        |  25 ++
>>  .../vfio/pci/hisilicon/hisi_acc_vfio_pci.c    | 266 ++++++++++++++++--
>>  .../vfio/pci/hisilicon/hisi_acc_vfio_pci.h    |  19 ++
>>  3 files changed, 279 insertions(+), 31 deletions(-)
>>  create mode 100644 Documentation/ABI/testing/debugfs-hisi-migration
>>
> 
> 
> .
>
Re: [PATCH v14 0/4] debugfs to hisilicon migration driver
Posted by liulongfang 1 year, 1 month ago
On 2024/11/11 21:59, liulongfang wrote:
> On 2024/11/9 5:01, Alex Williamson wrote:
>> On Fri, 8 Nov 2024 14:55:34 +0800
>> Longfang Liu <liulongfang@huawei.com> wrote:
>>
>>> Add a debugfs function to the hisilicon migration driver in VFIO to
>>> provide intermediate state values and data during device migration.
>>>
>>> When the execution of live migration fails, the user can view the
>>> status and data during the migration process separately from the
>>> source and the destination, which is convenient for users to analyze
>>> and locate problems.
>>>
>>> Changes v13 -> v14
>>> 	Bugfix the parameter problem of seq_puts()
>>
>> Should we assume this one is at least compile tested?  Thanks,
>>
>> Alex
>>
> Yes, the patch needs to be fully tested..
> I use the latest kernel6.12 and openEuler file system.
> The verification test found that there is no problem with seq_printf()
> and seq_puts(). But there is something wrong with the memory allocated
> by "migf" and it needs to be fixed.
>

"migf" issue:

void *migf = NULL;
migf = kzalloc(sizeof(struct hisi_acc_vf_migration_file), GFP_KERNEL);

modified since last review:
void *migf = NULL;
migf = kzalloc(sizeof(*migf), GFP_KERNEL);

The length after kzalloc allocates memory is wrong.
We need to modify the definition of "migf" as follows:

struct hisi_acc_vf_migration_file *migf = NULL;
migf = kzalloc(sizeof(*migf), GFP_KERNEL);

It has been modified in the next version v15.
And completed its functional testing using the latest
kernel 6.12 and openEuler file system.

Thanks.
Longfang.

> Thanks.
> Longfang.
> 
>>>
>>> Changes v12 -> v13
>>> 	Replace seq_printf() with seq_puts()
>>>
>>> Changes v11 -> v12
>>> 	Update comments and delete unnecessary logs
>>>
>>> Changes v10 -> v11
>>> 	Update conditions for debugfs registration
>>>
>>> Changes v9 -> v10
>>> 	Optimize symmetry processing of mutex
>>>
>>> Changes v8 -> v9
>>> 	Added device enable mutex
>>>
>>> Changes v7 -> v8
>>> 	Delete unnecessary information
>>>
>>> Changes v6 -> v7
>>> 	Remove redundant kernel error log printing and
>>> 	remove unrelated bugfix code
>>>
>>> Changes v5 -> v6
>>> 	Modify log output calling error
>>>
>>> Changes v4 -> v5
>>> 	Adjust the descriptioniptionbugfs file directory
>>>
>>> Changes v3 -> v4
>>> 	Rebased on kernel6.9
>>>
>>> Changes 2 -> v3
>>> 	Solve debugfs serialization problem.
>>>
>>> Changes v1 -> v2
>>> 	Solve the racy problem of io_base.
>>>
>>> Longfang Liu (4):
>>>   hisi_acc_vfio_pci: extract public functions for container_of
>>>   hisi_acc_vfio_pci: create subfunction for data reading
>>>   hisi_acc_vfio_pci: register debugfs for hisilicon migration driver
>>>   Documentation: add debugfs description for hisi migration
>>>
>>>  .../ABI/testing/debugfs-hisi-migration        |  25 ++
>>>  .../vfio/pci/hisilicon/hisi_acc_vfio_pci.c    | 266 ++++++++++++++++--
>>>  .../vfio/pci/hisilicon/hisi_acc_vfio_pci.h    |  19 ++
>>>  3 files changed, 279 insertions(+), 31 deletions(-)
>>>  create mode 100644 Documentation/ABI/testing/debugfs-hisi-migration
>>>
>>
>>
>> .
>>
> 
> .
>