Skip to content

Commit ca995ce

Browse files
committed
Merge tag 'for-linus-6.7-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
Pull xen updates from Juergen Gross: - two small cleanup patches - a fix for PCI passthrough under Xen - a four patch series speeding up virtio under Xen with user space backends * tag 'for-linus-6.7-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen-pciback: Consider INTx disabled when MSI/MSI-X is enabled xen: privcmd: Add support for ioeventfd xen: evtchn: Allow shared registration of IRQ handers xen: irqfd: Use _IOW instead of the internal _IOC() macro xen: Make struct privcmd_irqfd's layout architecture independent xen/xenbus: Add __counted_by for struct read_buffer and use struct_size() xenbus: fix error exit in xenbus_init()
2 parents 8999ad9 + 2c269f4 commit ca995ce

11 files changed

Lines changed: 508 additions & 39 deletions

File tree

drivers/xen/Kconfig

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -269,12 +269,12 @@ config XEN_PRIVCMD
269269
disaggregated Xen setups this driver might be needed for other
270270
domains, too.
271271

272-
config XEN_PRIVCMD_IRQFD
273-
bool "Xen irqfd support"
272+
config XEN_PRIVCMD_EVENTFD
273+
bool "Xen Ioeventfd and irqfd support"
274274
depends on XEN_PRIVCMD && XEN_VIRTIO && EVENTFD
275275
help
276-
Using the irqfd mechanism a virtio backend running in a daemon can
277-
speed up interrupt injection into a guest.
276+
Using the ioeventfd / irqfd mechanism a virtio backend running in a
277+
daemon can speed up interrupt delivery from / to a guest.
278278

279279
config XEN_ACPI_PROCESSOR
280280
tristate "Xen ACPI processor"

drivers/xen/events/events_base.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1229,7 +1229,8 @@ static int bind_evtchn_to_irq_chip(evtchn_port_t evtchn, struct irq_chip *chip,
12291229
bind_evtchn_to_cpu(evtchn, 0, false);
12301230
} else {
12311231
struct irq_info *info = info_for_irq(irq);
1232-
WARN_ON(info == NULL || info->type != IRQT_EVTCHN);
1232+
if (!WARN_ON(!info || info->type != IRQT_EVTCHN))
1233+
info->refcnt++;
12331234
}
12341235

12351236
out:

drivers/xen/evtchn.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ static int evtchn_bind_to_user(struct per_user_data *u, evtchn_port_t port,
397397
if (rc < 0)
398398
goto err;
399399

400-
rc = bind_evtchn_to_irqhandler_lateeoi(port, evtchn_interrupt, 0,
400+
rc = bind_evtchn_to_irqhandler_lateeoi(port, evtchn_interrupt, IRQF_SHARED,
401401
u->name, evtchn);
402402
if (rc < 0)
403403
goto err;

0 commit comments

Comments
 (0)