From: kernel test robot <lkp@intel.com>
To: Guanghui Feng <guanghuifeng@linux.alibaba.com>,
baolin.wang@linux.alibaba.com, catalin.marinas@arm.com,
will@kernel.org, akpm@linux-foundation.org, david@redhat.com,
jianyong.wu@arm.com, james.morse@arm.com,
quic_qiancai@quicinc.com, christophe.leroy@csgroup.eu,
jonathan@marek.ca, mark.rutland@arm.com,
thunder.leizhen@huawei.com, anshuman.khandual@arm.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, rppt@kernel.org,
geert+renesas@glider.be, ardb@kernel.org, linux-mm@kvack.org,
yaohongbo@linux.alibaba.com
Cc: kbuild-all@lists.01.org, alikernel-developer@linux.alibaba.com
Subject: Re: [PATCH v2] arm64: mm: fix linear mapping mem access performance degradation
Date: Fri, 1 Jul 2022 04:15:13 +0800 [thread overview]
Message-ID: <202207010409.ajCVDXYO-lkp@intel.com> (raw)
In-Reply-To: <1656578288-11259-1-git-send-email-guanghuifeng@linux.alibaba.com>
Hi Guanghui,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on v5.19-rc4]
[also build test WARNING on linus/master next-20220630]
[cannot apply to arm64/for-next/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/intel-lab-lkp/linux/commits/Guanghui-Feng/arm64-mm-fix-linear-mapping-mem-access-performance-degradation/20220630-163924
base: 03c765b0e3b4cb5063276b086c76f7a612856a9a
config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20220701/202207010409.ajCVDXYO-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/168f0d56f0a26c4f7a9470d6f1c398b4e1c1b5b9
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Guanghui-Feng/arm64-mm-fix-linear-mapping-mem-access-performance-degradation/20220630-163924
git checkout 168f0d56f0a26c4f7a9470d6f1c398b4e1c1b5b9
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/mm/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
arch/arm64/mm/mmu.c: In function 'alloc_init_pud':
>> arch/arm64/mm/mmu.c:426:35: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
426 | pud_clear_fixmap();
| ^
vim +/if +426 arch/arm64/mm/mmu.c
d27cfa1fc823d3 Ard Biesheuvel 2017-03-09 333
20a004e7b017cc Will Deacon 2018-02-15 334 static void alloc_init_pud(pgd_t *pgdp, unsigned long addr, unsigned long end,
da141706aea52c Laura Abbott 2015-01-21 335 phys_addr_t phys, pgprot_t prot,
90292aca9854a2 Yu Zhao 2019-03-11 336 phys_addr_t (*pgtable_alloc)(int),
c0951366d4b7e0 Ard Biesheuvel 2017-03-09 337 int flags)
c1cc1552616d0f Catalin Marinas 2012-03-05 338 {
168f0d56f0a26c Guanghui Feng 2022-06-30 339 phys_addr_t map_offset;
c1cc1552616d0f Catalin Marinas 2012-03-05 340 unsigned long next;
168f0d56f0a26c Guanghui Feng 2022-06-30 341 pudval_t pudval;
20a004e7b017cc Will Deacon 2018-02-15 342 pud_t *pudp;
e9f6376858b979 Mike Rapoport 2020-06-04 343 p4d_t *p4dp = p4d_offset(pgdp, addr);
e9f6376858b979 Mike Rapoport 2020-06-04 344 p4d_t p4d = READ_ONCE(*p4dp);
c1cc1552616d0f Catalin Marinas 2012-03-05 345
e9f6376858b979 Mike Rapoport 2020-06-04 346 if (p4d_none(p4d)) {
87143f404f338d Ard Biesheuvel 2021-03-10 347 p4dval_t p4dval = P4D_TYPE_TABLE | P4D_TABLE_UXN;
132233a759580f Laura Abbott 2016-02-05 348 phys_addr_t pud_phys;
87143f404f338d Ard Biesheuvel 2021-03-10 349
87143f404f338d Ard Biesheuvel 2021-03-10 350 if (flags & NO_EXEC_MAPPINGS)
87143f404f338d Ard Biesheuvel 2021-03-10 351 p4dval |= P4D_TABLE_PXN;
132233a759580f Laura Abbott 2016-02-05 352 BUG_ON(!pgtable_alloc);
90292aca9854a2 Yu Zhao 2019-03-11 353 pud_phys = pgtable_alloc(PUD_SHIFT);
87143f404f338d Ard Biesheuvel 2021-03-10 354 __p4d_populate(p4dp, pud_phys, p4dval);
e9f6376858b979 Mike Rapoport 2020-06-04 355 p4d = READ_ONCE(*p4dp);
c79b954bf6c006 Jungseok Lee 2014-05-12 356 }
e9f6376858b979 Mike Rapoport 2020-06-04 357 BUG_ON(p4d_bad(p4d));
c79b954bf6c006 Jungseok Lee 2014-05-12 358
ee017ee353506f Jianyong Wu 2022-02-01 359 /*
ee017ee353506f Jianyong Wu 2022-02-01 360 * No need for locking during early boot. And it doesn't work as
ee017ee353506f Jianyong Wu 2022-02-01 361 * expected with KASLR enabled.
ee017ee353506f Jianyong Wu 2022-02-01 362 */
ee017ee353506f Jianyong Wu 2022-02-01 363 if (system_state != SYSTEM_BOOTING)
ee017ee353506f Jianyong Wu 2022-02-01 364 mutex_lock(&fixmap_lock);
168f0d56f0a26c Guanghui Feng 2022-06-30 365
168f0d56f0a26c Guanghui Feng 2022-06-30 366 pudp = (flags & NO_SEC_REMAPPINGS) ? pud_offset(p4dp, addr) :
168f0d56f0a26c Guanghui Feng 2022-06-30 367 pud_set_fixmap_offset(p4dp, addr);
c1cc1552616d0f Catalin Marinas 2012-03-05 368 do {
20a004e7b017cc Will Deacon 2018-02-15 369 pud_t old_pud = READ_ONCE(*pudp);
c1cc1552616d0f Catalin Marinas 2012-03-05 370 next = pud_addr_end(addr, end);
206a2a73a62d37 Steve Capper 2014-05-06 371
168f0d56f0a26c Guanghui Feng 2022-06-30 372 if (flags & NO_SEC_REMAPPINGS) {
168f0d56f0a26c Guanghui Feng 2022-06-30 373 if (!pud_none(*pudp) && pud_sect(*pudp)) {
168f0d56f0a26c Guanghui Feng 2022-06-30 374 phys_addr_t pmd_phys = pgtable_alloc(PMD_SHIFT);
168f0d56f0a26c Guanghui Feng 2022-06-30 375 pud_clear(pudp);
168f0d56f0a26c Guanghui Feng 2022-06-30 376 pudval = PUD_TYPE_TABLE | PUD_TABLE_UXN;
168f0d56f0a26c Guanghui Feng 2022-06-30 377 if (flags & NO_EXEC_MAPPINGS)
168f0d56f0a26c Guanghui Feng 2022-06-30 378 pudval |= PUD_TABLE_PXN;
168f0d56f0a26c Guanghui Feng 2022-06-30 379
168f0d56f0a26c Guanghui Feng 2022-06-30 380 __pud_populate(pudp, pmd_phys, pudval);
168f0d56f0a26c Guanghui Feng 2022-06-30 381 flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
168f0d56f0a26c Guanghui Feng 2022-06-30 382
168f0d56f0a26c Guanghui Feng 2022-06-30 383 map_offset = addr - (addr & PUD_MASK);
168f0d56f0a26c Guanghui Feng 2022-06-30 384 if (map_offset)
168f0d56f0a26c Guanghui Feng 2022-06-30 385 alloc_init_cont_pmd(pudp, addr & PUD_MASK,
168f0d56f0a26c Guanghui Feng 2022-06-30 386 addr, phys - map_offset,
168f0d56f0a26c Guanghui Feng 2022-06-30 387 prot, pgtable_alloc,
168f0d56f0a26c Guanghui Feng 2022-06-30 388 flags & (~NO_SEC_REMAPPINGS));
168f0d56f0a26c Guanghui Feng 2022-06-30 389
168f0d56f0a26c Guanghui Feng 2022-06-30 390 if (next < (addr & PUD_MASK) + PUD_SIZE)
168f0d56f0a26c Guanghui Feng 2022-06-30 391 alloc_init_cont_pmd(pudp, next,
168f0d56f0a26c Guanghui Feng 2022-06-30 392 (addr & PUD_MASK) +
168f0d56f0a26c Guanghui Feng 2022-06-30 393 PUD_SIZE,
168f0d56f0a26c Guanghui Feng 2022-06-30 394 next - addr + phys,
168f0d56f0a26c Guanghui Feng 2022-06-30 395 prot, pgtable_alloc,
168f0d56f0a26c Guanghui Feng 2022-06-30 396 flags & (~NO_SEC_REMAPPINGS));
168f0d56f0a26c Guanghui Feng 2022-06-30 397 }
168f0d56f0a26c Guanghui Feng 2022-06-30 398 alloc_init_cont_pmd(pudp, addr, next, phys, prot,
168f0d56f0a26c Guanghui Feng 2022-06-30 399 pgtable_alloc, flags);
168f0d56f0a26c Guanghui Feng 2022-06-30 400 }
206a2a73a62d37 Steve Capper 2014-05-06 401 /*
206a2a73a62d37 Steve Capper 2014-05-06 402 * For 4K granule only, attempt to put down a 1GB block
206a2a73a62d37 Steve Capper 2014-05-06 403 */
168f0d56f0a26c Guanghui Feng 2022-06-30 404 else if (pud_sect_supported() &&
1310222c276b79 Anshuman Khandual 2022-02-16 405 ((addr | next | phys) & ~PUD_MASK) == 0 &&
c0951366d4b7e0 Ard Biesheuvel 2017-03-09 406 (flags & NO_BLOCK_MAPPINGS) == 0) {
20a004e7b017cc Will Deacon 2018-02-15 407 pud_set_huge(pudp, phys, prot);
206a2a73a62d37 Steve Capper 2014-05-06 408
206a2a73a62d37 Steve Capper 2014-05-06 409 /*
e98216b52176ba Ard Biesheuvel 2016-10-21 410 * After the PUD entry has been populated once, we
e98216b52176ba Ard Biesheuvel 2016-10-21 411 * only allow updates to the permission attributes.
206a2a73a62d37 Steve Capper 2014-05-06 412 */
e98216b52176ba Ard Biesheuvel 2016-10-21 413 BUG_ON(!pgattr_change_is_safe(pud_val(old_pud),
20a004e7b017cc Will Deacon 2018-02-15 414 READ_ONCE(pud_val(*pudp))));
206a2a73a62d37 Steve Capper 2014-05-06 415 } else {
20a004e7b017cc Will Deacon 2018-02-15 416 alloc_init_cont_pmd(pudp, addr, next, phys, prot,
c0951366d4b7e0 Ard Biesheuvel 2017-03-09 417 pgtable_alloc, flags);
e98216b52176ba Ard Biesheuvel 2016-10-21 418
e98216b52176ba Ard Biesheuvel 2016-10-21 419 BUG_ON(pud_val(old_pud) != 0 &&
20a004e7b017cc Will Deacon 2018-02-15 420 pud_val(old_pud) != READ_ONCE(pud_val(*pudp)));
206a2a73a62d37 Steve Capper 2014-05-06 421 }
c1cc1552616d0f Catalin Marinas 2012-03-05 422 phys += next - addr;
20a004e7b017cc Will Deacon 2018-02-15 423 } while (pudp++, addr = next, addr != end);
f4710445458c0a Mark Rutland 2016-01-25 424
168f0d56f0a26c Guanghui Feng 2022-06-30 425 if (!(flags & NO_SEC_REMAPPINGS))
f4710445458c0a Mark Rutland 2016-01-25 @426 pud_clear_fixmap();
ee017ee353506f Jianyong Wu 2022-02-01 427 if (system_state != SYSTEM_BOOTING)
ee017ee353506f Jianyong Wu 2022-02-01 428 mutex_unlock(&fixmap_lock);
c1cc1552616d0f Catalin Marinas 2012-03-05 429 }
c1cc1552616d0f Catalin Marinas 2012-03-05 430
--
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Guanghui Feng <guanghuifeng@linux.alibaba.com>,
baolin.wang@linux.alibaba.com, catalin.marinas@arm.com,
will@kernel.org, akpm@linux-foundation.org, david@redhat.com,
jianyong.wu@arm.com, james.morse@arm.com,
quic_qiancai@quicinc.com, christophe.leroy@csgroup.eu,
jonathan@marek.ca, mark.rutland@arm.com,
thunder.leizhen@huawei.com, anshuman.khandual@arm.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, rppt@kernel.org,
geert+renesas@glider.be, ardb@kernel.org, linux-mm@kvack.org,
yaohongbo@linux.alibaba.com
Cc: kbuild-all@lists.01.org, alikernel-developer@linux.alibaba.com
Subject: Re: [PATCH v2] arm64: mm: fix linear mapping mem access performance degradation
Date: Fri, 1 Jul 2022 04:15:13 +0800 [thread overview]
Message-ID: <202207010409.ajCVDXYO-lkp@intel.com> (raw)
In-Reply-To: <1656578288-11259-1-git-send-email-guanghuifeng@linux.alibaba.com>
Hi Guanghui,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on v5.19-rc4]
[also build test WARNING on linus/master next-20220630]
[cannot apply to arm64/for-next/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/intel-lab-lkp/linux/commits/Guanghui-Feng/arm64-mm-fix-linear-mapping-mem-access-performance-degradation/20220630-163924
base: 03c765b0e3b4cb5063276b086c76f7a612856a9a
config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20220701/202207010409.ajCVDXYO-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/168f0d56f0a26c4f7a9470d6f1c398b4e1c1b5b9
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Guanghui-Feng/arm64-mm-fix-linear-mapping-mem-access-performance-degradation/20220630-163924
git checkout 168f0d56f0a26c4f7a9470d6f1c398b4e1c1b5b9
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/mm/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
arch/arm64/mm/mmu.c: In function 'alloc_init_pud':
>> arch/arm64/mm/mmu.c:426:35: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
426 | pud_clear_fixmap();
| ^
vim +/if +426 arch/arm64/mm/mmu.c
d27cfa1fc823d3 Ard Biesheuvel 2017-03-09 333
20a004e7b017cc Will Deacon 2018-02-15 334 static void alloc_init_pud(pgd_t *pgdp, unsigned long addr, unsigned long end,
da141706aea52c Laura Abbott 2015-01-21 335 phys_addr_t phys, pgprot_t prot,
90292aca9854a2 Yu Zhao 2019-03-11 336 phys_addr_t (*pgtable_alloc)(int),
c0951366d4b7e0 Ard Biesheuvel 2017-03-09 337 int flags)
c1cc1552616d0f Catalin Marinas 2012-03-05 338 {
168f0d56f0a26c Guanghui Feng 2022-06-30 339 phys_addr_t map_offset;
c1cc1552616d0f Catalin Marinas 2012-03-05 340 unsigned long next;
168f0d56f0a26c Guanghui Feng 2022-06-30 341 pudval_t pudval;
20a004e7b017cc Will Deacon 2018-02-15 342 pud_t *pudp;
e9f6376858b979 Mike Rapoport 2020-06-04 343 p4d_t *p4dp = p4d_offset(pgdp, addr);
e9f6376858b979 Mike Rapoport 2020-06-04 344 p4d_t p4d = READ_ONCE(*p4dp);
c1cc1552616d0f Catalin Marinas 2012-03-05 345
e9f6376858b979 Mike Rapoport 2020-06-04 346 if (p4d_none(p4d)) {
87143f404f338d Ard Biesheuvel 2021-03-10 347 p4dval_t p4dval = P4D_TYPE_TABLE | P4D_TABLE_UXN;
132233a759580f Laura Abbott 2016-02-05 348 phys_addr_t pud_phys;
87143f404f338d Ard Biesheuvel 2021-03-10 349
87143f404f338d Ard Biesheuvel 2021-03-10 350 if (flags & NO_EXEC_MAPPINGS)
87143f404f338d Ard Biesheuvel 2021-03-10 351 p4dval |= P4D_TABLE_PXN;
132233a759580f Laura Abbott 2016-02-05 352 BUG_ON(!pgtable_alloc);
90292aca9854a2 Yu Zhao 2019-03-11 353 pud_phys = pgtable_alloc(PUD_SHIFT);
87143f404f338d Ard Biesheuvel 2021-03-10 354 __p4d_populate(p4dp, pud_phys, p4dval);
e9f6376858b979 Mike Rapoport 2020-06-04 355 p4d = READ_ONCE(*p4dp);
c79b954bf6c006 Jungseok Lee 2014-05-12 356 }
e9f6376858b979 Mike Rapoport 2020-06-04 357 BUG_ON(p4d_bad(p4d));
c79b954bf6c006 Jungseok Lee 2014-05-12 358
ee017ee353506f Jianyong Wu 2022-02-01 359 /*
ee017ee353506f Jianyong Wu 2022-02-01 360 * No need for locking during early boot. And it doesn't work as
ee017ee353506f Jianyong Wu 2022-02-01 361 * expected with KASLR enabled.
ee017ee353506f Jianyong Wu 2022-02-01 362 */
ee017ee353506f Jianyong Wu 2022-02-01 363 if (system_state != SYSTEM_BOOTING)
ee017ee353506f Jianyong Wu 2022-02-01 364 mutex_lock(&fixmap_lock);
168f0d56f0a26c Guanghui Feng 2022-06-30 365
168f0d56f0a26c Guanghui Feng 2022-06-30 366 pudp = (flags & NO_SEC_REMAPPINGS) ? pud_offset(p4dp, addr) :
168f0d56f0a26c Guanghui Feng 2022-06-30 367 pud_set_fixmap_offset(p4dp, addr);
c1cc1552616d0f Catalin Marinas 2012-03-05 368 do {
20a004e7b017cc Will Deacon 2018-02-15 369 pud_t old_pud = READ_ONCE(*pudp);
c1cc1552616d0f Catalin Marinas 2012-03-05 370 next = pud_addr_end(addr, end);
206a2a73a62d37 Steve Capper 2014-05-06 371
168f0d56f0a26c Guanghui Feng 2022-06-30 372 if (flags & NO_SEC_REMAPPINGS) {
168f0d56f0a26c Guanghui Feng 2022-06-30 373 if (!pud_none(*pudp) && pud_sect(*pudp)) {
168f0d56f0a26c Guanghui Feng 2022-06-30 374 phys_addr_t pmd_phys = pgtable_alloc(PMD_SHIFT);
168f0d56f0a26c Guanghui Feng 2022-06-30 375 pud_clear(pudp);
168f0d56f0a26c Guanghui Feng 2022-06-30 376 pudval = PUD_TYPE_TABLE | PUD_TABLE_UXN;
168f0d56f0a26c Guanghui Feng 2022-06-30 377 if (flags & NO_EXEC_MAPPINGS)
168f0d56f0a26c Guanghui Feng 2022-06-30 378 pudval |= PUD_TABLE_PXN;
168f0d56f0a26c Guanghui Feng 2022-06-30 379
168f0d56f0a26c Guanghui Feng 2022-06-30 380 __pud_populate(pudp, pmd_phys, pudval);
168f0d56f0a26c Guanghui Feng 2022-06-30 381 flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
168f0d56f0a26c Guanghui Feng 2022-06-30 382
168f0d56f0a26c Guanghui Feng 2022-06-30 383 map_offset = addr - (addr & PUD_MASK);
168f0d56f0a26c Guanghui Feng 2022-06-30 384 if (map_offset)
168f0d56f0a26c Guanghui Feng 2022-06-30 385 alloc_init_cont_pmd(pudp, addr & PUD_MASK,
168f0d56f0a26c Guanghui Feng 2022-06-30 386 addr, phys - map_offset,
168f0d56f0a26c Guanghui Feng 2022-06-30 387 prot, pgtable_alloc,
168f0d56f0a26c Guanghui Feng 2022-06-30 388 flags & (~NO_SEC_REMAPPINGS));
168f0d56f0a26c Guanghui Feng 2022-06-30 389
168f0d56f0a26c Guanghui Feng 2022-06-30 390 if (next < (addr & PUD_MASK) + PUD_SIZE)
168f0d56f0a26c Guanghui Feng 2022-06-30 391 alloc_init_cont_pmd(pudp, next,
168f0d56f0a26c Guanghui Feng 2022-06-30 392 (addr & PUD_MASK) +
168f0d56f0a26c Guanghui Feng 2022-06-30 393 PUD_SIZE,
168f0d56f0a26c Guanghui Feng 2022-06-30 394 next - addr + phys,
168f0d56f0a26c Guanghui Feng 2022-06-30 395 prot, pgtable_alloc,
168f0d56f0a26c Guanghui Feng 2022-06-30 396 flags & (~NO_SEC_REMAPPINGS));
168f0d56f0a26c Guanghui Feng 2022-06-30 397 }
168f0d56f0a26c Guanghui Feng 2022-06-30 398 alloc_init_cont_pmd(pudp, addr, next, phys, prot,
168f0d56f0a26c Guanghui Feng 2022-06-30 399 pgtable_alloc, flags);
168f0d56f0a26c Guanghui Feng 2022-06-30 400 }
206a2a73a62d37 Steve Capper 2014-05-06 401 /*
206a2a73a62d37 Steve Capper 2014-05-06 402 * For 4K granule only, attempt to put down a 1GB block
206a2a73a62d37 Steve Capper 2014-05-06 403 */
168f0d56f0a26c Guanghui Feng 2022-06-30 404 else if (pud_sect_supported() &&
1310222c276b79 Anshuman Khandual 2022-02-16 405 ((addr | next | phys) & ~PUD_MASK) == 0 &&
c0951366d4b7e0 Ard Biesheuvel 2017-03-09 406 (flags & NO_BLOCK_MAPPINGS) == 0) {
20a004e7b017cc Will Deacon 2018-02-15 407 pud_set_huge(pudp, phys, prot);
206a2a73a62d37 Steve Capper 2014-05-06 408
206a2a73a62d37 Steve Capper 2014-05-06 409 /*
e98216b52176ba Ard Biesheuvel 2016-10-21 410 * After the PUD entry has been populated once, we
e98216b52176ba Ard Biesheuvel 2016-10-21 411 * only allow updates to the permission attributes.
206a2a73a62d37 Steve Capper 2014-05-06 412 */
e98216b52176ba Ard Biesheuvel 2016-10-21 413 BUG_ON(!pgattr_change_is_safe(pud_val(old_pud),
20a004e7b017cc Will Deacon 2018-02-15 414 READ_ONCE(pud_val(*pudp))));
206a2a73a62d37 Steve Capper 2014-05-06 415 } else {
20a004e7b017cc Will Deacon 2018-02-15 416 alloc_init_cont_pmd(pudp, addr, next, phys, prot,
c0951366d4b7e0 Ard Biesheuvel 2017-03-09 417 pgtable_alloc, flags);
e98216b52176ba Ard Biesheuvel 2016-10-21 418
e98216b52176ba Ard Biesheuvel 2016-10-21 419 BUG_ON(pud_val(old_pud) != 0 &&
20a004e7b017cc Will Deacon 2018-02-15 420 pud_val(old_pud) != READ_ONCE(pud_val(*pudp)));
206a2a73a62d37 Steve Capper 2014-05-06 421 }
c1cc1552616d0f Catalin Marinas 2012-03-05 422 phys += next - addr;
20a004e7b017cc Will Deacon 2018-02-15 423 } while (pudp++, addr = next, addr != end);
f4710445458c0a Mark Rutland 2016-01-25 424
168f0d56f0a26c Guanghui Feng 2022-06-30 425 if (!(flags & NO_SEC_REMAPPINGS))
f4710445458c0a Mark Rutland 2016-01-25 @426 pud_clear_fixmap();
ee017ee353506f Jianyong Wu 2022-02-01 427 if (system_state != SYSTEM_BOOTING)
ee017ee353506f Jianyong Wu 2022-02-01 428 mutex_unlock(&fixmap_lock);
c1cc1552616d0f Catalin Marinas 2012-03-05 429 }
c1cc1552616d0f Catalin Marinas 2012-03-05 430
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next prev parent reply other threads:[~2022-06-30 20:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-30 8:38 [PATCH v2] arm64: mm: fix linear mapping mem access performance degradation Guanghui Feng
2022-06-30 8:38 ` Guanghui Feng
2022-06-30 11:54 ` guanghui.fgh
2022-06-30 11:54 ` guanghui.fgh
2022-06-30 20:15 ` kernel test robot [this message]
2022-06-30 20:15 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202207010409.ajCVDXYO-lkp@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=alikernel-developer@linux.alibaba.com \
--cc=anshuman.khandual@arm.com \
--cc=ardb@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=catalin.marinas@arm.com \
--cc=christophe.leroy@csgroup.eu \
--cc=david@redhat.com \
--cc=geert+renesas@glider.be \
--cc=guanghuifeng@linux.alibaba.com \
--cc=james.morse@arm.com \
--cc=jianyong.wu@arm.com \
--cc=jonathan@marek.ca \
--cc=kbuild-all@lists.01.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mark.rutland@arm.com \
--cc=quic_qiancai@quicinc.com \
--cc=rppt@kernel.org \
--cc=thunder.leizhen@huawei.com \
--cc=will@kernel.org \
--cc=yaohongbo@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.