mbox series

[v4,0/4] raw/ifpga/base: An inprovement for multi-process

Message ID 1600846213-18093-1-git-send-email-tianfei.zhang@intel.com (mailing list archive)
Headers
Series raw/ifpga/base: An inprovement for multi-process |

Message

Zhang, Tianfei Sept. 23, 2020, 7:30 a.m. UTC
  This patches set will impove the ifpga base driver reliablity in
multi-process envirment.

Patch #1: Fix a bug for register and unregister interrupt
functions.
Patch #2: Add two functions to free the resouce when we destroy the
opae adapter.
Patch #3: Add function ifpga_rawdev_cleanup() to cleanup all ifpga
raw devices.
Patch #4: An inprovement of the concurrent in multi-process operation.
A share memory mechanism and some new mutex will be used for multi-proces
protection.

Wei Huang (4):
  raw/ifpga/base: fix bug in IRQ functions
  raw/ifpga/base: free resources when destroying ifpga device
  raw/ifpga/base: cleanup ifpga raw devices when process quit
  raw/ifpga/base: enhance driver reliablity in multi-process

 drivers/raw/ifpga/base/ifpga_api.c            |  12 +
 drivers/raw/ifpga/base/ifpga_enumerate.c      |  16 ++
 drivers/raw/ifpga/base/ifpga_enumerate.h      |   1 +
 drivers/raw/ifpga/base/ifpga_fme.c            |  52 +++-
 drivers/raw/ifpga/base/meson.build            |  12 +
 drivers/raw/ifpga/base/opae_hw_api.c          | 250 ++++++++++++++++++
 drivers/raw/ifpga/base/opae_hw_api.h          |  27 +-
 drivers/raw/ifpga/base/opae_i2c.c             |   9 +-
 drivers/raw/ifpga/base/opae_i2c.h             |   1 +
 drivers/raw/ifpga/base/opae_intel_max10.c     | 152 ++++++-----
 drivers/raw/ifpga/base/opae_spi.c             |   4 +
 drivers/raw/ifpga/base/opae_spi.h             |   5 +
 drivers/raw/ifpga/base/opae_spi_transaction.c |  15 +-
 drivers/raw/ifpga/ifpga_rawdev.c              |  69 +++--
 14 files changed, 534 insertions(+), 91 deletions(-)
  

Comments

Zhang, Tianfei Oct. 23, 2020, 9:06 a.m. UTC | #1
This patches set will improve the ifpga base driver reliability in
multi-process environment.

Main changes from v2:
- Fix typo in some commit log.

Main changes from v3:
- Split into 2 small patches, one is fix the pointer variable, other is
fix the return value.
- Free the driver's resource in rawdev close ops. 

Patch #1: Fix a bug for register and unregister interrupt
functions.
Patch #2: Fix the return value of unsupported interrupt type.
Patch #3: Fix the return value of ifpga_unregister_msix_irq(), because 
rte_intr_callback_unregister() can return positive as success.
Patch #4: Clean up the ifpga resource when close the application.
Patch #5: An improvement of the concurrent in multi-process operation.
A share memory mechanism and some new mutex will be used for multi-process
protection.


Wei Huang (5):
  raw/ifpga/base: fix interrupt handler instance usage
  raw/ifpga/base: handle unsupported interrupt type
  raw/ifpga/base: fix return of IRQ unregister properly
  raw/ifpga/base: free resources when destroying ifpga device
  raw/ifpga/base: enhance driver reliablity in multi-process

 drivers/raw/ifpga/base/ifpga_api.c            |  12 +
 drivers/raw/ifpga/base/ifpga_enumerate.c      |  16 ++
 drivers/raw/ifpga/base/ifpga_enumerate.h      |   1 +
 drivers/raw/ifpga/base/ifpga_fme.c            |  52 +++-
 drivers/raw/ifpga/base/meson.build            |  12 +
 drivers/raw/ifpga/base/opae_hw_api.c          | 250 ++++++++++++++++++
 drivers/raw/ifpga/base/opae_hw_api.h          |  27 +-
 drivers/raw/ifpga/base/opae_i2c.c             |   9 +-
 drivers/raw/ifpga/base/opae_i2c.h             |   1 +
 drivers/raw/ifpga/base/opae_intel_max10.c     | 152 ++++++-----
 drivers/raw/ifpga/base/opae_spi.c             |   4 +
 drivers/raw/ifpga/base/opae_spi.h             |   5 +
 drivers/raw/ifpga/base/opae_spi_transaction.c |  15 +-
 drivers/raw/ifpga/ifpga_rawdev.c              |  60 +++--
 14 files changed, 523 insertions(+), 93 deletions(-)