On Wed, Dec 11, 2019 at 08:22:56AM +0000, Ard Biesheuvel wrote: > (+ Andy) > > On Wed, 11 Dec 2019 at 00:24, Arvind Sankar <nivedita@xxxxxxxxxxxx> wrote: > > > > On x86, until PAT is initialized, WC translates into UC-. Since we > > calculate and store pgprot_writecombine(PAGE_KERNEL) when earlycon is > > initialized, this means we actually use UC- mappings instead of WC > > mappings, which makes scrolling very slow. > > > > Instead store a boolean flag to indicate whether we want to use > > writeback or write-combine mappings, and recalculate the actual pgprot_t > > we need on every mapping. Once PAT is initialized, we will start using > > write-combine mappings, which speeds up the scrolling considerably. > > > > Fixes: 69c1f396f25b ("efi/x86: Convert x86 EFI earlyprintk into generic earlycon implementation") > > Signed-off-by: Arvind Sankar <nivedita@xxxxxxxxxxxx> Make sense. One comment below. > > - if (pgprot_val(fb_prot) == pgprot_val(PAGE_KERNEL)) > > - efi_fb = memremap(fb_base, screen_info.lfb_size, MEMREMAP_WB); > > - else > > - efi_fb = memremap(fb_base, screen_info.lfb_size, MEMREMAP_WC); > > + efi_fb = memremap(fb_base, screen_info.lfb_size, > > + fb_wb ? MEMREMAP_WB : MEMREMAP_WC); I would really like to keep the style with if-else. -- With Best Regards, Andy Shevchenko