On 09/18/2018 11:22 AM, Johannes Berg wrote: > On Mon, 2018-09-17 at 23:55 +0200, Hauke Mehrtens wrote: >> The 0079-netdev-destructor.cocci spatch in backports is very slow for >> me. For bigger files I get a warning that it takes over to 15 seconds to >> apply it to just one file, for the complete backports tree it takes over >> an hour to apply. >> >> This is the patch: >> https://git.kernel.org/pub/scm/linux/kernel/git/backports/backports.git/tree/patches/0079-netdev-destructor.cocci >> >> When I remove the <-- --> in the first rule, it is applied in some >> seconds on the complete tree, so an speed improvement of about 100 >> times, but it is not working correctly any more. ;-) >> >> Is this normal or how can I improve the spatch to be faster? I am using >> coccinelle 1.0.7 build with default configure arguments against the >> libraries from Debian stable. > > We've had this discussion before :-) > I think we determined that it was normal. > >> If this is normal I should probably try to reduce the number of files it >> tries to apply this against in gentree.py before spatch gets started. > > spatch should already try that internally, but perhaps with some extra > knowledge we can do a better job ... > > johannes > Hi Johannes, Yes we talked about this topic some months ago in IRC. If there is really no better solution, then I will grep in all files for needs_free_netdev and priv_destructor and only apply this to the files which are matching. This list should be pretty short. It looks like coccinelle already does such a grep when I remove the <-- --> from the patch, because this is about 100 times faster. Hauke