Powered by Linux
Re: Some minor tweaks — Semantic Matching Tool

Re: Some minor tweaks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux