From: Joe Perches <joe@perches.com> To: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>, Arnd Bergmann <arnd@arndb.de> Cc: linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, linux-arch@vger.kernel.org, linux-scsi@vger.kernel.org, iss_storagedev@hp.com, linux-rdma@vger.kernel.org, netdev@vger.kernel.org, linux-atm-general@lists.sourceforge.net, linux-wireless@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-crypto@vger.kernel.org, linux-eata@i-connect.net, linux-media@vger.kernel.org Subject: Re: [PATCH 00/22] Add and use pci_zalloc_consistent Date: Mon, 23 Jun 2014 12:13:29 -0700 [thread overview] Message-ID: <1403550809.15811.13.camel@joe-AO725> (raw) In-Reply-To: <20140623172512.GA1390@garbanzo.do-not-panic.com> On Mon, 2014-06-23 at 10:25 -0700, Luis R. Rodriguez wrote: > On Mon, Jun 23, 2014 at 06:41:28AM -0700, Joe Perches wrote: > > Adding the helper reduces object code size as well as overall > > source size line count. > > > > It's also consistent with all the various zalloc mechanisms > > in the kernel. > > > > Done with a simple cocci script and some typing. > > Awesome, any chance you can paste in the SmPL? Also any chance > we can get this added to a make coccicheck so that maintainers > moving forward can use that to ensure that no new code is > added that uses the old school API? Not many of these are recent. Arnd Bergmann reasonably suggested that the pci_alloc_consistent api be converted the the more widely used dma_alloc_coherent. https://lkml.org/lkml/2014/6/23/513 > Shouldn't these drivers just use the normal dma-mapping API now? and I replied: https://lkml.org/lkml/2014/6/23/525 > Maybe. I wouldn't mind. > They do seem to have a trivial bit of unnecessary overhead for > hwdev == NULL ? NULL : &hwdev->dev Anyway, here's the little script. I'm not sure it's worthwhile to add it though. $ cat ./scripts/coccinelle/api/alloc/pci_zalloc_consistent.cocci /// /// Use pci_zalloc_consistent rather than /// pci_alloc_consistent followed by memset with 0 /// /// This considers some simple cases that are common and easy to validate /// Note in particular that there are no ...s in the rule, so all of the /// matched code has to be contiguous /// /// Blatantly cribbed from: scripts/coccinelle/api/alloc/kzalloc-simple.cocci @@ type T, T2; expression x; expression E1,E2,E3; statement S; @@ - x = (T)pci_alloc_consistent(E1,E2,E3); + x = pci_zalloc_consistent(E1,E2,E3); if ((x==NULL) || ...) S - memset((T2)x,0,E2);
WARNING: multiple messages have this Message-ID (diff)
From: Joe Perches <joe@perches.com> To: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>, Arnd Bergmann <arnd@arndb.de> Cc: devel@driverdev.osuosl.org, linux-arch@vger.kernel.org, linux-scsi@vger.kernel.org, iss_storagedev@hp.com, linux-rdma@vger.kernel.org, netdev@vger.kernel.org, linux-atm-general@lists.sourceforge.net, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-crypto@vger.kernel.org, linux-media@vger.kernel.org, linux-eata@i-connect.net Subject: Re: [PATCH 00/22] Add and use pci_zalloc_consistent Date: Mon, 23 Jun 2014 12:13:29 -0700 [thread overview] Message-ID: <1403550809.15811.13.camel@joe-AO725> (raw) In-Reply-To: <20140623172512.GA1390@garbanzo.do-not-panic.com> On Mon, 2014-06-23 at 10:25 -0700, Luis R. Rodriguez wrote: > On Mon, Jun 23, 2014 at 06:41:28AM -0700, Joe Perches wrote: > > Adding the helper reduces object code size as well as overall > > source size line count. > > > > It's also consistent with all the various zalloc mechanisms > > in the kernel. > > > > Done with a simple cocci script and some typing. > > Awesome, any chance you can paste in the SmPL? Also any chance > we can get this added to a make coccicheck so that maintainers > moving forward can use that to ensure that no new code is > added that uses the old school API? Not many of these are recent. Arnd Bergmann reasonably suggested that the pci_alloc_consistent api be converted the the more widely used dma_alloc_coherent. https://lkml.org/lkml/2014/6/23/513 > Shouldn't these drivers just use the normal dma-mapping API now? and I replied: https://lkml.org/lkml/2014/6/23/525 > Maybe. I wouldn't mind. > They do seem to have a trivial bit of unnecessary overhead for > hwdev == NULL ? NULL : &hwdev->dev Anyway, here's the little script. I'm not sure it's worthwhile to add it though. $ cat ./scripts/coccinelle/api/alloc/pci_zalloc_consistent.cocci /// /// Use pci_zalloc_consistent rather than /// pci_alloc_consistent followed by memset with 0 /// /// This considers some simple cases that are common and easy to validate /// Note in particular that there are no ...s in the rule, so all of the /// matched code has to be contiguous /// /// Blatantly cribbed from: scripts/coccinelle/api/alloc/kzalloc-simple.cocci @@ type T, T2; expression x; expression E1,E2,E3; statement S; @@ - x = (T)pci_alloc_consistent(E1,E2,E3); + x = pci_zalloc_consistent(E1,E2,E3); if ((x==NULL) || ...) S - memset((T2)x,0,E2);
next prev parent reply other threads:[~2014-06-23 19:13 UTC|newest] Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-06-23 13:41 [PATCH 00/22] Add and use pci_zalloc_consistent Joe Perches 2014-06-23 13:41 ` Joe Perches 2014-06-23 13:41 ` [PATCH 01/22] pci-dma-compat: Add pci_zalloc_consistent helper Joe Perches 2014-06-23 13:53 ` Arnd Bergmann 2014-06-23 14:03 ` Joe Perches 2014-06-25 19:27 ` Andrew Morton 2014-06-25 21:51 ` Joe Perches 2014-06-25 21:57 ` Andrew Morton 2014-06-25 22:14 ` Joe Perches 2014-06-25 22:31 ` David Miller 2014-06-23 13:41 ` [PATCH 02/22] atm: Use pci_zalloc_consistent Joe Perches 2014-06-23 13:41 ` [PATCH 03/22] block: " Joe Perches 2014-06-23 13:41 ` [PATCH 04/22] crypto: " Joe Perches 2014-06-23 13:41 ` [PATCH 05/22] infiniband: " Joe Perches [not found] ` <ed5fb1adbe665a8e4a4e18bc316bab261bc55556.1403530604.git.joe-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org> 2014-06-23 13:57 ` Steve Wise 2014-06-23 13:57 ` Steve Wise 2014-06-23 13:41 ` [PATCH 06/22] i810: " Joe Perches 2014-06-23 13:41 ` Joe Perches 2014-07-08 10:13 ` Daniel Vetter 2014-06-23 13:41 ` [PATCH 07/22] media: " Joe Perches 2014-06-27 8:20 ` Hans Verkuil 2014-06-27 10:55 ` Mauro Carvalho Chehab 2014-06-23 13:41 ` [PATCH 08/22] amd: " Joe Perches 2014-06-23 18:02 ` Don Fry 2014-06-23 19:15 ` Joe Perches 2014-06-23 21:05 ` [PATCH V2 " Joe Perches 2014-06-23 21:36 ` [PATCH] amd: Neaten and remove unnecessary OOM messages Joe Perches 2014-06-23 22:42 ` Don Fry 2014-06-25 23:32 ` David Miller [not found] ` <20140625123523.b00c71c3a3f0a9129f9e6f3d@linux-foundation.org> 2014-06-25 23:40 ` [PATCH V2] checkpatch: Add test for blank lines after function/struct/union/enum declarations Joe Perches 2014-06-23 22:22 ` [PATCH V2 08/22] amd: Use pci_zalloc_consistent Don Fry 2014-06-25 4:49 ` Guenter Roeck 2014-06-25 4:59 ` Joe Perches 2014-06-25 23:55 ` [PATCH V2] pcnet32: Neaten and remove unnecessary OOM messages Joe Perches 2014-07-01 19:19 ` David Miller 2014-07-01 19:26 ` Joe Perches 2014-06-25 23:51 ` [PATCH V3 08/22] pcnet32: Use pci_zalloc_consistent Joe Perches 2014-06-23 13:41 ` [PATCH 09/22] atl1e: " Joe Perches 2014-06-23 13:41 ` [PATCH 10/22] enic: " Joe Perches 2014-06-26 6:27 ` Govindarajulu Varadarajan 2014-06-23 13:41 ` [PATCH 11/22] sky2: " Joe Perches 2014-06-23 13:41 ` [PATCH 12/22] micrel: " Joe Perches 2014-06-23 13:41 ` [PATCH 13/22] qlogic: " Joe Perches 2014-06-23 13:41 ` [PATCH 14/22] irda: " Joe Perches 2014-06-23 13:41 ` [PATCH 15/22] ipw2100: " Joe Perches 2014-06-23 13:41 ` [PATCH 16/22] mwl8k: " Joe Perches 2014-06-23 13:41 ` [PATCH 17/22] rtl818x: " Joe Perches 2014-06-23 13:41 ` [PATCH 18/22] rtlwifi: " Joe Perches 2014-06-23 13:41 ` [PATCH 19/22] scsi: " Joe Perches 2014-06-23 13:41 ` [PATCH 20/22] staging: " Joe Perches 2014-06-23 16:14 ` Greg Kroah-Hartman 2014-06-23 13:41 ` [PATCH 21/22] synclink_gt: " Joe Perches 2014-06-23 16:15 ` Greg Kroah-Hartman 2014-06-23 13:41 ` [PATCH 22/22] vme: bridges: " Joe Perches 2014-06-23 16:15 ` Greg Kroah-Hartman 2014-06-23 17:25 ` [PATCH 00/22] Add and use pci_zalloc_consistent Luis R. Rodriguez 2014-06-23 17:25 ` Luis R. Rodriguez 2014-06-23 19:13 ` Joe Perches [this message] 2014-06-23 19:13 ` Joe Perches 2014-06-23 23:27 ` Julian Calaby 2014-06-23 23:48 ` Joe Perches 2014-06-24 5:24 ` Julia Lawall 2014-06-24 7:15 ` Joe Perches 2014-06-24 12:11 ` Julia Lawall 2014-06-24 11:32 ` Johannes Berg 2014-06-23 21:49 ` David Miller 2014-06-23 21:49 ` David Miller 2014-06-25 19:41 ` John W. Linville
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=1403550809.15811.13.camel@joe-AO725 \ --to=joe@perches.com \ --cc=arnd@arndb.de \ --cc=devel@driverdev.osuosl.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=iss_storagedev@hp.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-atm-general@lists.sourceforge.net \ --cc=linux-crypto@vger.kernel.org \ --cc=linux-eata@i-connect.net \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-media@vger.kernel.org \ --cc=linux-rdma@vger.kernel.org \ --cc=linux-scsi@vger.kernel.org \ --cc=linux-wireless@vger.kernel.org \ --cc=mcgrof@do-not-panic.com \ --cc=netdev@vger.kernel.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.