Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1248718
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 13/25] scsi: hisi_sas: add path from phyup irq to SAS framework |
| Date | 2015-10-16 15:00 +0200 |
| Message-ID | <qkcM2-6LS-15@gated-at.bofh.it> (permalink) |
| References | <qiN3k-2LY-27@gated-at.bofh.it> <qkcM2-6LS-17@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Monday 12 October 2015 23:20:25 John Garry wrote: > @@ -804,6 +818,16 @@ static irqreturn_t int_phyup_v1_hw(int irq_no, void *p) > phy->identify.target_port_protocols = > SAS_PROTOCOL_SMP; > > + wq = kmalloc(sizeof(*wq), GFP_ATOMIC); > + if (!wq) > + goto end; > + > + wq->event = PHYUP; > + wq->hisi_hba = hisi_hba; > + wq->phy_no = phy_no; > + > + INIT_WORK(&wq->work_struct, hisi_sas_wq_process); > + queue_work(hisi_hba->wq, &wq->work_struct); > > end: > hisi_sas_phy_write32(hisi_hba, phy_no, CHL_INT2, > While rereading some other parts of the code, I stumbled over this piece. You should generally not allocate work structs dynamically. Why not embed the work struct inside of the phy structure and then just queue that? Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
Re: [PATCH 13/25] scsi: hisi_sas: add path from phyup irq to SAS framework Arnd Bergmann <arnd@arndb.de> - 2015-10-16 15:00 +0200 Re: [PATCH 13/25] scsi: hisi_sas: add path from phyup irq to SAS framework Arnd Bergmann <arnd@arndb.de> - 2015-10-16 15:40 +0200 Re: [PATCH 13/25] scsi: hisi_sas: add path from phyup irq to SAS framework John Garry <john.garry@huawei.com> - 2015-10-16 15:40 +0200
csiph-web