From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 44083C4332F for ; Fri, 3 Nov 2023 09:23:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 40123280014; Fri, 3 Nov 2023 05:23:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3B0C128000F; Fri, 3 Nov 2023 05:23:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 252B5280014; Fri, 3 Nov 2023 05:23:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 14DCE28000F for ; Fri, 3 Nov 2023 05:23:31 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id D34E5C085F for ; Fri, 3 Nov 2023 09:23:30 +0000 (UTC) X-FDA: 81416104980.12.2A17734 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by imf16.hostedemail.com (Postfix) with ESMTP id 37E5A180003 for ; Fri, 3 Nov 2023 09:23:27 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=bnF0DI6z; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf16.hostedemail.com: domain of lkp@intel.com designates 192.55.52.151 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699003409; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=VJK/E5i9/kByqjpk7d4pBsj0Eu1+zsdpiPhEzpQht9g=; b=VRuz1gz3Z0Q8izosVHtiLrUy+6l8dhhKAg5QtNEDlOfgP6ouSeni5IrpTHHTa+FDJrjWAi nPgMKIMfY2VHleNlA4Bls1cOrSRSg5QlTuGAgtPLB/xziM1awfkoFvuHu9v3vV1f5lfCjN Y8DFfZzl0O17PDZiNZTINXbHZJzEGrQ= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=bnF0DI6z; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf16.hostedemail.com: domain of lkp@intel.com designates 192.55.52.151 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699003409; a=rsa-sha256; cv=none; b=njBUqhfhdoipam0YbklDL+Lahs0/ntOI4fEBfuUPejYekZE0b3krlM5+MgSy5xtTvI7ZJV uY4N0lpPt4Ddq9P8cgci/botxVLzur3tduCE53w2GKIwf7sZuBQyUn6nd7VJ3XcfVSWWAn KIl6NYyz2x3mdQIVMF4GqIxpLoa2gcg= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699003408; x=1730539408; h=date:from:to:cc:subject:message-id:mime-version; bh=caxLlzN5XKc6UxZPqX21DUdjJqLfek1l6k5WzgqWzj4=; b=bnF0DI6zu0+ivx98FgnrXSgXqb/z8FvAn7HaFi92HlEu6h74LfyKglZb VM3sWLp1/OdTCft21bkLE1wYjBvDS1i46yJPNaxR0zP8VWAAp0FaVQWet OvcF9x0aZxrIOtAelmufiA+bz+djQf8PWRRJM8QC49Pwr++1v4ZPy46sy tI+5eqSrvzwt9+F7VDA/Qx4bHWSRb6Y/fZibPDKcE1q3GXmczheRkK2qA Ampx7Lvv37TYNy2RWBZWbKJQrO/LBLSFxbyNbIuGNxWm7jOWngYO1clCW n4zPl1G1iuwJzshQJssLWoX96u4ny/SzLWv89UpNfDpbj0GzvhQSZy4l9 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10882"; a="369117553" X-IronPort-AV: E=Sophos;i="6.03,273,1694761200"; d="scan'208";a="369117553" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Nov 2023 02:23:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.03,273,1694761200"; d="scan'208";a="9671039" Received: from lkp-server01.sh.intel.com (HELO 17d9e85e5079) ([10.239.97.150]) by fmviesa001.fm.intel.com with ESMTP; 03 Nov 2023 02:23:20 -0700 Received: from kbuild by 17d9e85e5079 with local (Exim 4.96) (envelope-from ) id 1qyqOc-0002PL-1t; Fri, 03 Nov 2023 09:23:18 +0000 Date: Fri, 3 Nov 2023 17:22:58 +0800 From: kernel test robot To: Palmer Dabbelt Cc: oe-kbuild-all@lists.linux.dev, Linux Memory Management List Subject: [linux-next:master 16110/16252] arch/riscv/kernel/cpufeature.c:560:6: error: conflicting types for 'check_unaligned_access'; have 'void(int)' Message-ID: <202311031714.Xwzfduzn-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspam-User: X-Stat-Signature: wszp8imh5qe6jhuyayrk6zt3wd4ku9wy X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 37E5A180003 X-HE-Tag: 1699003407-928528 X-HE-Meta: U2FsdGVkX1+p9lXNo+MU1n7w+LkqKaIal396mC0voR05me7knDfOkze4XEW5WPtctgidTpRPEziemfhh3xhW7JQ9T0nIp7G6o2vgCNWIjWU+TNgMSj+eP0+/hQBlbOpZF0d6SQCXmGqohnq3WZgODQVSZFVR9GFqHEQW9+TwC5EHuZizeNsHwOISRChlk5aY1AeIOtRhu1zOa7Hag9DNd3J9pZFb23ofV8dmYlF8WACeqx81TULy3eJzh0g5l0NF8aPYCFVaPjdyLkM4E0B5nkpTTib9LG4MH5dSo3Uxct0sVZOnkEM9S4+5HoD5LimfswBH2sXULmKqdyFNl79FPL8E718tArxHAZfUaESADPiKSVjSs3ylZNwcm/P71WaqxljpJy3F7eph5N67Vx8A+/NbYZvwZKbP8zCKYAfAobfGQBeIUtElgs4yOuptpkdCtSC+E2bWDXZg5yHHqGuktSnAptHuD+Y4GBolkpT58ArJ+qXD0ckOAOtzQHXNN6eQ3d2qbUNqNLFgPKwX2j6h7tqNsILhZA8jx8xrGjzbnREI1rNt6FDq1uCd8WsurcOLbOu/n2Z7RScPtx3qQvyYlC8y9ItSbKE23a77TB9MmafkBViYi6ECdKxs2Gf36hoX858btjvt6BCTY1NR/dLE0ueWRq0a9WuLbhfB6Pzcw9KtelY9CLmLf1KKzQflfUjc35v/gLG4jmXOR83OUhraflIV2PG3plngmmpKCdm2v/g3LVYCRrNVO9n8f59rmfkS9gHKACa16ZZESRjKwO/J2ebvAi/W3Ooc6ADU2+v4CONr0q7qCPPqyf1J1i9doMIl4IEvo39fEBzbketuIQ7S/uLwMKh7hgwPgyUEmpnR2l0R3g1wvHjimpCGvKghJMkJPirqJN/oJVqKC3kmInZikg6migeOGqN4fa3dTxunwN7Y65xy3kTlhYkGYz2kti5DOdobTJbxlX+DlDhn6Vc lhWsQnrN DaFylP4Sfgw5lR38l/XJglI1nexqvBAtwxgnnAccUHblm8qqSmq1QQnvwnepfnUJ5BIjm4c6ipLT4tNe9K8+2QzAQTc+v4B/szLvihSxSehACmYRDMiSGMW5Qf++8Zl4+0Vz1n5caYTrg1xflXoCWzXrMZYIZEQu+n+ySLlg31whj9yi0YP4W0VcPEZWVS9oLe2ZjnksD7DF/fzE0uSRRJeBoByp6DUbL0VUOOlv+16bEHLnFM5CnVZR4gaN3omMkmZClXSg3kifVRvdbRpjMjpIfb7N3bmaKDaUmw5V12XX26UT0R3NN35a/bdxReJRmGseuI0GIA+L+aV17LcPrTewndjCvvZ2LclWUyxW7KqfENjDnYQLueFyWaNPxpawWmKQai/xWOhLA0R3jv8mvRNcgAUCDom4LhVGZ X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: e27090b1413ff236ca1aec26d6b022149115de2c commit: 8aefa036ccd9b3745e8f68c7a78ee4172296462f [16110/16252] Merge patch series "Add support to handle misaligned accesses in S-mode" config: riscv-randconfig-r052-20230821 (https://download.01.org/0day-ci/archive/20231103/202311031714.Xwzfduzn-lkp@intel.com/config) compiler: riscv64-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231103/202311031714.Xwzfduzn-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202311031714.Xwzfduzn-lkp@intel.com/ All errors (new ones prefixed by >>): >> arch/riscv/kernel/cpufeature.c:560:6: error: conflicting types for 'check_unaligned_access'; have 'void(int)' 560 | void check_unaligned_access(int cpu) | ^~~~~~~~~~~~~~~~~~~~~~ In file included from arch/riscv/include/asm/hwcap.h:73, from arch/riscv/include/asm/alternative.h:19, from arch/riscv/include/asm/errata_list.h:8, from arch/riscv/include/asm/tlbflush.h:12, from arch/riscv/include/asm/pgtable.h:117, from include/linux/pgtable.h:6, from include/linux/kasan.h:33, from include/linux/slab.h:180, from include/linux/resource_ext.h:11, from include/linux/acpi.h:13, from arch/riscv/kernel/cpufeature.c:9: arch/riscv/include/asm/cpufeature.h:33:5: note: previous declaration of 'check_unaligned_access' with type 'int(void *)' 33 | int check_unaligned_access(void *unused); | ^~~~~~~~~~~~~~~~~~~~~~ vim +560 arch/riscv/kernel/cpufeature.c 50724efcb370c6 Andy Chiu 2023-06-05 559 584ea6564bcaea Evan Green 2023-08-18 @560 void check_unaligned_access(int cpu) 584ea6564bcaea Evan Green 2023-08-18 561 { 584ea6564bcaea Evan Green 2023-08-18 562 u64 start_cycles, end_cycles; 584ea6564bcaea Evan Green 2023-08-18 563 u64 word_cycles; 584ea6564bcaea Evan Green 2023-08-18 564 u64 byte_cycles; 584ea6564bcaea Evan Green 2023-08-18 565 int ratio; 584ea6564bcaea Evan Green 2023-08-18 566 unsigned long start_jiffies, now; 584ea6564bcaea Evan Green 2023-08-18 567 struct page *page; 584ea6564bcaea Evan Green 2023-08-18 568 void *dst; 584ea6564bcaea Evan Green 2023-08-18 569 void *src; 584ea6564bcaea Evan Green 2023-08-18 570 long speed = RISCV_HWPROBE_MISALIGNED_SLOW; 584ea6564bcaea Evan Green 2023-08-18 571 584ea6564bcaea Evan Green 2023-08-18 572 page = alloc_pages(GFP_NOWAIT, get_order(MISALIGNED_BUFFER_SIZE)); 584ea6564bcaea Evan Green 2023-08-18 573 if (!page) { 584ea6564bcaea Evan Green 2023-08-18 574 pr_warn("Can't alloc pages to measure memcpy performance"); 584ea6564bcaea Evan Green 2023-08-18 575 return; 584ea6564bcaea Evan Green 2023-08-18 576 } 584ea6564bcaea Evan Green 2023-08-18 577 584ea6564bcaea Evan Green 2023-08-18 578 /* Make an unaligned destination buffer. */ 584ea6564bcaea Evan Green 2023-08-18 579 dst = (void *)((unsigned long)page_address(page) | 0x1); 584ea6564bcaea Evan Green 2023-08-18 580 /* Unalign src as well, but differently (off by 1 + 2 = 3). */ 584ea6564bcaea Evan Green 2023-08-18 581 src = dst + (MISALIGNED_BUFFER_SIZE / 2); 584ea6564bcaea Evan Green 2023-08-18 582 src += 2; 584ea6564bcaea Evan Green 2023-08-18 583 word_cycles = -1ULL; 584ea6564bcaea Evan Green 2023-08-18 584 /* Do a warmup. */ 584ea6564bcaea Evan Green 2023-08-18 585 __riscv_copy_words_unaligned(dst, src, MISALIGNED_COPY_SIZE); 584ea6564bcaea Evan Green 2023-08-18 586 preempt_disable(); 584ea6564bcaea Evan Green 2023-08-18 587 start_jiffies = jiffies; 584ea6564bcaea Evan Green 2023-08-18 588 while ((now = jiffies) == start_jiffies) 584ea6564bcaea Evan Green 2023-08-18 589 cpu_relax(); 584ea6564bcaea Evan Green 2023-08-18 590 584ea6564bcaea Evan Green 2023-08-18 591 /* 584ea6564bcaea Evan Green 2023-08-18 592 * For a fixed amount of time, repeatedly try the function, and take 584ea6564bcaea Evan Green 2023-08-18 593 * the best time in cycles as the measurement. 584ea6564bcaea Evan Green 2023-08-18 594 */ 584ea6564bcaea Evan Green 2023-08-18 595 while (time_before(jiffies, now + (1 << MISALIGNED_ACCESS_JIFFIES_LG2))) { 584ea6564bcaea Evan Green 2023-08-18 596 start_cycles = get_cycles64(); 584ea6564bcaea Evan Green 2023-08-18 597 /* Ensure the CSR read can't reorder WRT to the copy. */ 584ea6564bcaea Evan Green 2023-08-18 598 mb(); 584ea6564bcaea Evan Green 2023-08-18 599 __riscv_copy_words_unaligned(dst, src, MISALIGNED_COPY_SIZE); 584ea6564bcaea Evan Green 2023-08-18 600 /* Ensure the copy ends before the end time is snapped. */ 584ea6564bcaea Evan Green 2023-08-18 601 mb(); 584ea6564bcaea Evan Green 2023-08-18 602 end_cycles = get_cycles64(); 584ea6564bcaea Evan Green 2023-08-18 603 if ((end_cycles - start_cycles) < word_cycles) 584ea6564bcaea Evan Green 2023-08-18 604 word_cycles = end_cycles - start_cycles; 584ea6564bcaea Evan Green 2023-08-18 605 } 584ea6564bcaea Evan Green 2023-08-18 606 584ea6564bcaea Evan Green 2023-08-18 607 byte_cycles = -1ULL; 584ea6564bcaea Evan Green 2023-08-18 608 __riscv_copy_bytes_unaligned(dst, src, MISALIGNED_COPY_SIZE); 584ea6564bcaea Evan Green 2023-08-18 609 start_jiffies = jiffies; 584ea6564bcaea Evan Green 2023-08-18 610 while ((now = jiffies) == start_jiffies) 584ea6564bcaea Evan Green 2023-08-18 611 cpu_relax(); 584ea6564bcaea Evan Green 2023-08-18 612 584ea6564bcaea Evan Green 2023-08-18 613 while (time_before(jiffies, now + (1 << MISALIGNED_ACCESS_JIFFIES_LG2))) { 584ea6564bcaea Evan Green 2023-08-18 614 start_cycles = get_cycles64(); 584ea6564bcaea Evan Green 2023-08-18 615 mb(); 584ea6564bcaea Evan Green 2023-08-18 616 __riscv_copy_bytes_unaligned(dst, src, MISALIGNED_COPY_SIZE); 584ea6564bcaea Evan Green 2023-08-18 617 mb(); 584ea6564bcaea Evan Green 2023-08-18 618 end_cycles = get_cycles64(); 584ea6564bcaea Evan Green 2023-08-18 619 if ((end_cycles - start_cycles) < byte_cycles) 584ea6564bcaea Evan Green 2023-08-18 620 byte_cycles = end_cycles - start_cycles; 584ea6564bcaea Evan Green 2023-08-18 621 } 584ea6564bcaea Evan Green 2023-08-18 622 584ea6564bcaea Evan Green 2023-08-18 623 preempt_enable(); 584ea6564bcaea Evan Green 2023-08-18 624 584ea6564bcaea Evan Green 2023-08-18 625 /* Don't divide by zero. */ 584ea6564bcaea Evan Green 2023-08-18 626 if (!word_cycles || !byte_cycles) { 584ea6564bcaea Evan Green 2023-08-18 627 pr_warn("cpu%d: rdtime lacks granularity needed to measure unaligned access speed\n", 584ea6564bcaea Evan Green 2023-08-18 628 cpu); 584ea6564bcaea Evan Green 2023-08-18 629 584ea6564bcaea Evan Green 2023-08-18 630 goto out; 584ea6564bcaea Evan Green 2023-08-18 631 } 584ea6564bcaea Evan Green 2023-08-18 632 584ea6564bcaea Evan Green 2023-08-18 633 if (word_cycles < byte_cycles) 584ea6564bcaea Evan Green 2023-08-18 634 speed = RISCV_HWPROBE_MISALIGNED_FAST; 584ea6564bcaea Evan Green 2023-08-18 635 584ea6564bcaea Evan Green 2023-08-18 636 ratio = div_u64((byte_cycles * 100), word_cycles); 584ea6564bcaea Evan Green 2023-08-18 637 pr_info("cpu%d: Ratio of byte access time to unaligned word access is %d.%02d, unaligned accesses are %s\n", 584ea6564bcaea Evan Green 2023-08-18 638 cpu, 584ea6564bcaea Evan Green 2023-08-18 639 ratio / 100, 584ea6564bcaea Evan Green 2023-08-18 640 ratio % 100, 584ea6564bcaea Evan Green 2023-08-18 641 (speed == RISCV_HWPROBE_MISALIGNED_FAST) ? "fast" : "slow"); 584ea6564bcaea Evan Green 2023-08-18 642 584ea6564bcaea Evan Green 2023-08-18 643 per_cpu(misaligned_access_speed, cpu) = speed; 584ea6564bcaea Evan Green 2023-08-18 644 584ea6564bcaea Evan Green 2023-08-18 645 out: 584ea6564bcaea Evan Green 2023-08-18 646 __free_pages(page, get_order(MISALIGNED_BUFFER_SIZE)); 584ea6564bcaea Evan Green 2023-08-18 647 } 584ea6564bcaea Evan Green 2023-08-18 648 :::::: The code at line 560 was first introduced by commit :::::: 584ea6564bcaead223840cdafe84e4947ba85509 RISC-V: Probe for unaligned access speed :::::: TO: Evan Green :::::: CC: Palmer Dabbelt -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki