mbox series

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

Message ID 20241108065538.45710-1-liulongfang@huawei.com (mailing list archive)
Headers show
Series debugfs to hisilicon migration driver | expand

Message

liulongfang Nov. 8, 2024, 6:55 a.m. UTC
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

Comments

Alex Williamson Nov. 8, 2024, 9:01 p.m. UTC | #1
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
>
liulongfang Nov. 11, 2024, 1:59 p.m. UTC | #2
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
>>
> 
> 
> .
>
liulongfang Nov. 12, 2024, 8:15 a.m. UTC | #3
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
>>>
>>
>>
>> .
>>
> 
> .
>