TianoCore Community Design Meeting Minutes - Jun 28


Ni, Ray
 

1. BaseTools: Multiple-thread AutoGen
Presenter: Bob Feng
Slides: https://edk2.groups.io/g/devel/files/Designs/2019/0627/Multiple-thread-AutoGen.pdf

* 5 phases: Pre-build, AutoGen, Make, GenFds, Post-build
AutoGen taks 24% time averagely

* The change
platform scope settings: Global information such as info in DSC file, build option, ENV variable and etc.
module scope settings: PCDs used in module, module output folder, module lib deps, source code files and etc.
A new intermediate file is created to store platform scope settings, consumed by each sub AutoGen process.

* Improvement
Ovmf: 38.9% save in AutoGen, 5.56% save in total-build

* Incremental Build
No performance regression.
Intermediate file saving platform settings can be re-used when DSC/FDF is not changed.

* Test
Unit test, internal CI test.
Liming Gao owns the code review.

* Python multiple-processing library (https://docs.python.org/3/library/multiprocessing.html)
Regarding Channel between processes, can Pipe be used instead of the intermediate file?
File is needed by incremental build.

2. Propose to add FCE/FMMT C tools in edk2 BaseTools
Presenter: Liming Gao
Slides: https://edk2.groups.io/g/devel/files/Designs/2019/0627/FCE_FMMT%20tool.pdf

* They are common tools to update FD/FV binaries

* Problem: FCE/FMMT C sources may not pass build in ARM C compilers
* Option:
1. Set up an ARM env to verify
2. Ask ARM people to verify
Stephano will ask Linaro for help.

* Guide lines regarding adding new tools
Address basic build issues, handle functionality issues case by case when users report back.


Liming Gao
 

Ray:
For FCE & FMMT, I add patch link below.

Thanks
Liming

-----Original Message-----
From: announce@edk2.groups.io [mailto:announce@edk2.groups.io] On
Behalf Of Ni, Ray
Sent: Friday, June 28, 2019 10:26 AM
To: announce@edk2.groups.io
Subject: [edk2-announce] TianoCore Community Design Meeting Minutes -
Jun 28

1. BaseTools: Multiple-thread AutoGen
Presenter: Bob Feng
Slides: https://edk2.groups.io/g/devel/files/Designs/2019/0627/Multiple-
thread-AutoGen.pdf

* 5 phases: Pre-build, AutoGen, Make, GenFds, Post-build
AutoGen taks 24% time averagely

* The change
platform scope settings: Global information such as info in DSC file, build
option, ENV variable and etc.
module scope settings: PCDs used in module, module output folder,
module lib deps, source code files and etc.
A new intermediate file is created to store platform scope settings,
consumed by each sub AutoGen process.

* Improvement
Ovmf: 38.9% save in AutoGen, 5.56% save in total-build

* Incremental Build
No performance regression.
Intermediate file saving platform settings can be re-used when DSC/FDF is
not changed.

* Test
Unit test, internal CI test.
Liming Gao owns the code review.

* Python multiple-processing library
(https://docs.python.org/3/library/multiprocessing.html)
Regarding Channel between processes, can Pipe be used instead of the
intermediate file?
File is needed by incremental build.

2. Propose to add FCE/FMMT C tools in edk2 BaseTools
Presenter: Liming Gao
Slides:
https://edk2.groups.io/g/devel/files/Designs/2019/0627/FCE_FMMT%20tool.
pdf

* They are common tools to update FD/FV binaries

* Problem: FCE/FMMT C sources may not pass build in ARM C compilers
* Option:
1. Set up an ARM env to verify
2. Ask ARM people to verify
Stephano will ask Linaro for help.
Here is FCE & FMMT patch https://edk2.groups.io/g/devel/message/42168

* Guide lines regarding adding new tools
Address basic build issues, handle functionality issues case by case when
users report back.