You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Exp-mutated_configs/Exp-mutated-doc.txt
+12-6Lines changed: 12 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -11,23 +11,29 @@ Steps :
11
11
/!\ For this step you'll need the kernel sources and place the scripts 'mutate_configs.py' and 'check_sample.py' there.
12
12
Using 'mutate_configs.py' we manage to change the value of the desired option(s) by using a kernel-source integrated script : scripts/config.
13
13
It then checks that only our option(s) have changed using 'make olddefconfig' and compares the two files we have.
14
+
The results of the diffconfig is stored in 'diffs.txt' for each .config we produced
14
15
15
16
2b) Choose the .config files that only differ from originals by our chosen options, and select 100 from them.
16
17
Just run check_sample.py
18
+
It will parse the 'diffs.txt' file and select 100 of the .config that did not change when executing 'make olddefconfig', which means that these files are "valid".
17
19
18
-
3) After doing this, we now have our ready-to-compile .config files in the 'sample_configs' folder. Copy the folder's content on the grid (e.g /temp_dd/igrida-fs1/psaffrau/input_files/configs/).
20
+
3) After doing this, we now have our ready-to-compile .config files in the 'sample_configs' folder. Copy the folder's content on the grid (e.g /temp_dd/igrida-fs1/psaffray/input_files/configs/).
19
21
20
22
4) Compile !
21
23
Using tuxml, we compile our mutated .config which sends the results to database.
22
24
For the moment we have done serialized compilations using one single node, but the objective is to parallelize the task, in order to check several options and do it faster.
25
+
Edit : The version on Mon. 29, July should work in parallel.
26
+
Edit2 : After some tests, it works well
27
+
> When the environment is ready (i.e. .config have been placed in /temp_dd/igrida-fs1/psaffray/input_files/configs/) :
28
+
> ~/oar_script.sh X tuxml
23
29
24
30
5) Comparing the size
25
31
Using a script 'get_cid_per_config.py' on the grid, we manage to get the association between the cid in the old database and the cid of the associated mutated .config compilation in the new database.
26
32
This script uses the output files of the jobs on igrida to find which <old-cid-mutated>.config has been sent with which cid.
27
-
(not ready for parallelized jobs yet)
28
-
29
-
6) Dataframe !
30
-
Using 'get_same_configs_from_db.ipynb' we are now able to compute the size difference between before and after the option(s) manipulation, and store the values in a dataframe.
31
-
33
+
This will print the list of all the associations found when parsing the logs.
34
+
Then it will clean the folders and move the yet uncompiled .config to the original directory configs/, and remove the content of distrib/.
32
35
36
+
6) Produce dataframe
37
+
Using 'produce_df_size_difference.ipynb' we are now able to compute the size difference between before and after the option(s) manipulation, and store the values in a dataframe.
0 commit comments