Date
1 - 1 of 1
TianoCore Community Design Meeting Minutes - Jul 26
Ni, Ray
1. Edk2 Build Cache Enhancement
Presenter: Steven Shi Slides: https://edk2.groups.io/g/devel/files/Designs/2019/0726/Edk2BuildCacheEnhancement-v1.pdf * Background (page #2 - #8) Build cache is enabled already in today's build tool. Hash depends on unnecessary inputs. Cache is very easy to miss. * Proposal (page #9 - #12) Fine-grain and precise hash is needed -> Post-makefile Cache checkpoint Today's coarse hash is still needed to quickly bypass no source change -> Pre-makefile Cache checkpoint Question to page #3: The proposal is to improve the cache hit rate through Fine-grain and precise hash. When cache is hit, build task directly jumps from AutoGen to GenFds. Do we have plans to consider jumping from AutoGen to other phases? Answer: We call it multiple-level build caches. Refer to last page. Today focuses on improving the cache hit rate only. No build options to enable it individually. Question to page #10: What Others in AutoGen mean? Answer: Others can be removed in the flow chart. Post-makefile Cache checkpoint is the last step in AutoGen. Module Post-makefile hash = Hash(Makefile content) + Hash (include headers contents) + hash (AutoGen files contents) + lib Post-makefile hash + Hash (Module files contents) * Performance (page #13) With only pre-makefile cache checkpoint, build is fast (<30s) without changes, but slow (2-3mins) with DSC changes. With both pre&post-makefile cache checkpoint, build is fast (~40s) with DSC changes. Question: What's the penalty (extra time if all modules post-makefile cache miss against cache disable) of post-makefile cache checkpoint? Answer: Haven't collected the data. Will collect and present. * Open Question: Cache can be shared across platforms or is bound to a specific platform? Answer: No share across platforms. But a good timing to consider the share across platforms with the new fine-grain and precise hash. Share is possible if the output path can be excluded from hash. No support of debug symbol cache. 2. Open: Seeking tasks for Google Summer of Code (Stephano Cetola) Who will investigate "BZ1959 BaseLib.h linked list macros EFI_LIST_FOR_EACH_SAFE"? Pkg maintainers or new comers to work on? Liming will have a look at it. Google Summer of Code looks for projects that students can learn from. EDKII Bugzilla is a good candidate. 3. Open: HPE will bring Redfish topics to this meeting in future (Abner Chang) Thanks, Ray |
|