On Fri, Jun 26 2015, Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > On Fri, Jun 26, 2015 at 04:00:50PM +0200, Rasmus Villemoes wrote: >> > I tried doing a `smatch_data/db/create_db.sh -p=kernel warns.txt` and it >> > was way slower. :( I had to kill it after some hours. >> >> That's odd. What kind of hardware do you run this on? >> > > The number of cores shouldn't matter for building the DB, but I'm on > intel quad core with hyper threading and 32 GB RAM. Agree, but I'm counting the time for the smatch run as well, which does parallelize pretty well. Kind of sad the the DB building doesn't. > How big is your smatch_db.sqlite? Mine is 11GB. Mine is half that size, 5.8GB for the allmodconfig. I'll probably try to rebuild it tonight and see how much larger it gets. > Btw, I changed your cut commands from: > > - cut -f3 -d: > + cut -d: -f3- > > Because the original breaks if the SQL has a ':' char in it. Of course, thanks. But the fill_db_sql.sh should be mostly irrelevant with the new version. >> PS: Just noticed that you used warns.txt, which suggests that you used >> the result from an old build. I've changed the format of some of the >> output lines in (smatch_)warns.txt, so you need to build the kernel from >> scratch. > > It was an old build. I don't see where you changed any SQL format... No, I misremembered. But there are changes to smatch_db.c in the new branch (misc_tweaks2). I haven't changed any sql table layout; just the "serialization" used in smatch_warns.txt of the data-to-be-inserted data. > I've started cherry-picking the earlier patches. > >> >> PPS: When you say "My DB takes an hour to build", is that the >> create_db.sh part, or is it the time for an entire build_kernel_data.sh >> run? > > That's just the create_db.sh. To be honest, I'm not sure how long it > takes... I just kick it off and come back later. Every day if you > rebuild the DB, then it gets slightly larger and larger... OK. Is there any chance you could write some documentation on what each table/row/column is supposed to represent? It _seems_ that there are quite a few entries which just mean "don't know/no info", but without knowing what they are used for it's hard to tell. Rasmus -- To unsubscribe from this list: send the line "unsubscribe smatch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html