Re: [PATCH v6 0/3] genirq/vfio: Introduce irq_update_devid() and optimize VFIO irq ops

2019-09-16 Thread Thomas Gleixner
On Fri, 13 Sep 2019, Alex Williamson wrote:

> On Tue, 10 Sep 2019 14:30:16 +0800
> Ben Luo  wrote:
> 
> > A friendly reminder.
> 
> The vfio patch looks ok to me.  Thomas, do you have further comments or
> a preference on how to merge these?  I'd tend to prefer the vfio
> changes through my branch for testing and can pull the irq changes with
> your approval, but we could do the reverse or split them and I could
> follow with the vfio change once the irq changes are in mainline.

I can provide you a branch, once I looked again at that stuff. It's
somewhere in that huge conference induced backlog.

Thanks,

tglx


Re: [PATCH v6 0/3] genirq/vfio: Introduce irq_update_devid() and optimize VFIO irq ops

2019-09-13 Thread Alex Williamson
On Tue, 10 Sep 2019 14:30:16 +0800
Ben Luo  wrote:

> A friendly reminder.

The vfio patch looks ok to me.  Thomas, do you have further comments or
a preference on how to merge these?  I'd tend to prefer the vfio
changes through my branch for testing and can pull the irq changes with
your approval, but we could do the reverse or split them and I could
follow with the vfio change once the irq changes are in mainline.
Thanks,

Alex

> 在 2019/9/2 下午12:01, Ben Luo 写道:
> > Currently, VFIO takes a free-then-request-irq way to do interrupt
> > affinity setting and masking/unmasking for a VM with device passthru
> > via VFIO. Sometimes it only changes the cookie data of irqaction or even
> > changes nothing. The free-then-request-irq not only adds more latency,
> > but also increases the risk of losing interrupt, which may lead to a
> > VM hang forever in waiting for IO completion
> >
> > This patchset solved the issue by:
> > Patch 2 introduces irq_update_devid() to only update dev_id of irqaction
> > Patch 3 make use of this function and optimize irq operations in VFIO
> >
> > changes from v5:
> >   - Patch 3: remove an error log to avoid potential DDoS attacking
> >   _ Patch 3: fix typo in comment
> >
> > changes from v4:
> >   - Patch 3: follow the previous behavior to disable interrupt on error path
> >   - Patch 3: do irqbypass registration before update or free the interrupt
> >   - Patch 3: add more comments
> >
> > changes from v3:
> >   - Patch 2: rename the new function to irq_update_devid()
> >   - Patch 2: use disbale_irq() to avoid a twist for threaded interrupt
> >   - ALL: amend commit messages and code comments
> >
> > changes from v2:
> >   - reformat to avoid quoted string split across lines and etc.
> >
> > changes from v1:
> >   - add Patch 1 to enhance error recovery etc. in free irq per tglx's 
> > comments
> >   - enhance error recovery code and debugging info in irq_update_devid
> >   - use __must_check in external referencing of this function
> >   - use EXPORT_SYMBOL_GPL for irq_update_devid
> >   - reformat code of patch 3 for better readability
> >
> > Ben Luo (3):
> >genirq: enhance error recovery code in free irq
> >genirq: introduce irq_update_devid()
> >vfio/pci: make use of irq_update_devid() and optimize irq ops
> >
> >   drivers/vfio/pci/vfio_pci_intrs.c | 118 
> > ++
> >   include/linux/interrupt.h |   3 +
> >   kernel/irq/manage.c   | 105 +
> >   3 files changed, 177 insertions(+), 49 deletions(-)
> >  



Re: [PATCH v6 0/3] genirq/vfio: Introduce irq_update_devid() and optimize VFIO irq ops

2019-09-10 Thread Ben Luo

A friendly reminder.


Thanks,

    Ben

在 2019/9/2 下午12:01, Ben Luo 写道:

Currently, VFIO takes a free-then-request-irq way to do interrupt
affinity setting and masking/unmasking for a VM with device passthru
via VFIO. Sometimes it only changes the cookie data of irqaction or even
changes nothing. The free-then-request-irq not only adds more latency,
but also increases the risk of losing interrupt, which may lead to a
VM hang forever in waiting for IO completion

This patchset solved the issue by:
Patch 2 introduces irq_update_devid() to only update dev_id of irqaction
Patch 3 make use of this function and optimize irq operations in VFIO

changes from v5:
  - Patch 3: remove an error log to avoid potential DDoS attacking
  _ Patch 3: fix typo in comment

changes from v4:
  - Patch 3: follow the previous behavior to disable interrupt on error path
  - Patch 3: do irqbypass registration before update or free the interrupt
  - Patch 3: add more comments

changes from v3:
  - Patch 2: rename the new function to irq_update_devid()
  - Patch 2: use disbale_irq() to avoid a twist for threaded interrupt
  - ALL: amend commit messages and code comments

changes from v2:
  - reformat to avoid quoted string split across lines and etc.

changes from v1:
  - add Patch 1 to enhance error recovery etc. in free irq per tglx's comments
  - enhance error recovery code and debugging info in irq_update_devid
  - use __must_check in external referencing of this function
  - use EXPORT_SYMBOL_GPL for irq_update_devid
  - reformat code of patch 3 for better readability

Ben Luo (3):
   genirq: enhance error recovery code in free irq
   genirq: introduce irq_update_devid()
   vfio/pci: make use of irq_update_devid() and optimize irq ops

  drivers/vfio/pci/vfio_pci_intrs.c | 118 ++
  include/linux/interrupt.h |   3 +
  kernel/irq/manage.c   | 105 +
  3 files changed, 177 insertions(+), 49 deletions(-)



[PATCH v6 0/3] genirq/vfio: Introduce irq_update_devid() and optimize VFIO irq ops

2019-09-01 Thread Ben Luo
Currently, VFIO takes a free-then-request-irq way to do interrupt
affinity setting and masking/unmasking for a VM with device passthru
via VFIO. Sometimes it only changes the cookie data of irqaction or even
changes nothing. The free-then-request-irq not only adds more latency,
but also increases the risk of losing interrupt, which may lead to a
VM hang forever in waiting for IO completion

This patchset solved the issue by:
Patch 2 introduces irq_update_devid() to only update dev_id of irqaction
Patch 3 make use of this function and optimize irq operations in VFIO

changes from v5:
 - Patch 3: remove an error log to avoid potential DDoS attacking
 _ Patch 3: fix typo in comment

changes from v4:
 - Patch 3: follow the previous behavior to disable interrupt on error path
 - Patch 3: do irqbypass registration before update or free the interrupt
 - Patch 3: add more comments

changes from v3:
 - Patch 2: rename the new function to irq_update_devid()
 - Patch 2: use disbale_irq() to avoid a twist for threaded interrupt
 - ALL: amend commit messages and code comments

changes from v2:
 - reformat to avoid quoted string split across lines and etc.

changes from v1:
 - add Patch 1 to enhance error recovery etc. in free irq per tglx's comments
 - enhance error recovery code and debugging info in irq_update_devid
 - use __must_check in external referencing of this function
 - use EXPORT_SYMBOL_GPL for irq_update_devid
 - reformat code of patch 3 for better readability

Ben Luo (3):
  genirq: enhance error recovery code in free irq
  genirq: introduce irq_update_devid()
  vfio/pci: make use of irq_update_devid() and optimize irq ops

 drivers/vfio/pci/vfio_pci_intrs.c | 118 ++
 include/linux/interrupt.h |   3 +
 kernel/irq/manage.c   | 105 +
 3 files changed, 177 insertions(+), 49 deletions(-)

-- 
1.8.3.1