Subrata Banik has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34791 )
Change subject: soc/intel/cannonlake: Speed up postcar loading using intermediate caching ......................................................................
Patch Set 12:
Patch Set 12:
Patch Set 12:
(1 comment)
Sorry.. it's very hard to determine which cbmem -t is from which commit. I still do not see the baseline CB:34995 numbers anywhere, as the last two numbers you posted are both with POSTCAR_STAGE=n. Nor can I say what's the change between the last two was.
It got way too convoluted to try derive this correcly from gerrit reviews comments but it still looks like boots with POSTCAR_STAGE=y reach '99: selfboot jmp' the quickest.
Agree, such big cbmem -t data are confusing. Let me summarize it here with data.
1. Baseline number without any code changes:
Total Time till picking kernel: 823,964 Total Time till picking payload: 651,510
2. With POSTCAR_STAGE=y and (CB:34805 + 34995) [romstage -> postcar -> ramstage]
Total Time till picking kernel: 813,549 Total Time till picking payload: 635,250
3. With POSTCAR_STAGE=n and (CB:34995 + CB:34791 + CB:34752) [romstage -> ramstage]
Total Time till picking kernel: 810,332 Total Time till picking payload: 642,655
Now if you compare the end to end time between #2 and #3, we will seeing savings ~3ms+ (as you have pointed rightly "Notice how your fastest entry to kernel had the slowest 1100:finished vboot kernel verification.") savings in #3 approach consistently. All the platform performance scripts we do run to meet product compliance are relying on "Total Time till picking kernel". So if we compare as below
Compare between #1 vs #2: Savings ~10ms+ of total boot time Compare between #1 vs #3: Savings ~13ms+ of total boot time
But if you compare "Total Time till picking payload" between #2 and #3 then #2 is quickest because of postcar smaller size and enabling MTRR type as WB while loading ramstage from postcar. In case of #3, romstage loading ramstage (which is bigger in size) + MTRR type set to WP (to avoid getting stuck with WB during CAR tear down).
I hope these data will help to make a logical closure on this effort.