From: tglx@linutronix.de (Thomas Gleixner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v11 04/10] genirq/msi-doorbell: allow MSI doorbell (un)registration
Date: Tue, 19 Jul 2016 16:22:08 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.11.1607191617071.3596@nanos> (raw)
In-Reply-To: <1468933367-23159-5-git-send-email-eric.auger@redhat.com>
On Tue, 19 Jul 2016, Eric Auger wrote:
> +
> +#include <linux/slab.h>
> +#include <linux/irq.h>
> +#include <linux/msi-doorbell.h>
> +
> +struct irqchip_doorbell {
> + struct irq_chip_msi_doorbell_info info;
> + struct list_head next;
Again, please align the struct members.
> +};
> +
> +static LIST_HEAD(irqchip_doorbell_list);
> +static DEFINE_MUTEX(irqchip_doorbell_mutex);
> +
> +struct irq_chip_msi_doorbell_info *
> +msi_doorbell_register_global(phys_addr_t base, size_t size,
> + int prot, bool irq_remapping)
> +{
> + struct irqchip_doorbell *db;
> +
> + db = kmalloc(sizeof(*db), GFP_KERNEL);
> + if (!db)
> + return ERR_PTR(-ENOMEM);
> +
> + db->info.doorbell_is_percpu = false;
Please use kzalloc and get rid of zero initialization. If you add stuff to the
struct then initialization will be automatically 0.
> +void msi_doorbell_unregister_global(struct irq_chip_msi_doorbell_info *dbinfo)
> +{
> + struct irqchip_doorbell *db, *tmp;
> +
> + mutex_lock(&irqchip_doorbell_mutex);
> + list_for_each_entry_safe(db, tmp, &irqchip_doorbell_list, next) {
Why do you need that iterator?
db = container_of(dbinfo, struct ....., info);
Hmm?
> + if (dbinfo == &db->info) {
> + list_del(&db->next);
> + kfree(db);
Please move the kfree() outside of the lock region. It does not matter much
here, but we really should stop doing random crap in locked regions.
Thanks,
tglx
next prev parent reply other threads:[~2016-07-19 14:22 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-19 13:02 [PATCH v11 00/10] KVM PCIe/MSI passthrough on ARM/ARM64: kernel part 2/3: msi changes Eric Auger
2016-07-19 13:02 ` [PATCH v11 01/10] genirq/msi: export msi_get_domain_info Eric Auger
2016-07-19 13:02 ` [PATCH v11 02/10] genirq/msi: msi_compose wrapper Eric Auger
2016-07-19 13:02 ` [PATCH v11 03/10] genirq/irq: introduce msi_doorbell_info Eric Auger
2016-07-19 14:15 ` Thomas Gleixner
2016-07-19 13:02 ` [PATCH v11 04/10] genirq/msi-doorbell: allow MSI doorbell (un)registration Eric Auger
2016-07-19 14:22 ` Thomas Gleixner [this message]
2016-07-20 7:50 ` Auger Eric
2016-07-19 13:02 ` [PATCH v11 05/10] genirq/msi-doorbell: msi_doorbell_pages Eric Auger
2016-07-19 14:38 ` Thomas Gleixner
2016-07-20 7:50 ` Auger Eric
2016-07-21 13:38 ` Auger Eric
2016-07-19 13:02 ` [PATCH v11 06/10] genirq/msi-doorbell: msi_doorbell_safe Eric Auger
2016-07-20 8:12 ` Thomas Gleixner
2016-07-21 13:38 ` Auger Eric
2016-07-22 12:44 ` Thomas Gleixner
2016-07-22 14:08 ` Auger Eric
2016-07-19 13:02 ` [PATCH v11 07/10] irqchip/gicv2m: register the MSI global doorbell Eric Auger
2016-07-19 13:02 ` [PATCH v11 08/10] irqchip/gicv3-its: " Eric Auger
2016-07-19 13:02 ` [PATCH v11 09/10] genirq/msi: map/unmap the MSI doorbells on msi_domain_alloc/free_irqs Eric Auger
2016-07-20 9:04 ` Thomas Gleixner
2016-07-25 16:21 ` Auger Eric
2016-07-26 9:00 ` Thomas Gleixner
2016-07-26 9:54 ` Auger Eric
2016-07-26 11:01 ` Thomas Gleixner
2016-07-19 13:02 ` [PATCH v11 10/10] genirq/msi: use the MSI doorbell's IOVA when requested Eric Auger
2016-07-20 9:09 ` Thomas Gleixner
2016-07-25 16:31 ` Auger Eric
2016-07-26 9:04 ` Thomas Gleixner
2016-07-26 10:02 ` Auger Eric
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.11.1607191617071.3596@nanos \
--to=tglx@linutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox