All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Yang <richard.weiyang@gmail.com>
To: "Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Wei Yang <richard.weiyang@gmail.com>,
	kernel test robot <lkp@intel.com>,
	akpm@linux-foundation.org, oe-kbuild-all@lists.linux.dev,
	maple-tree@lists.infradead.org, linux-mm@kvack.org,
	Sidhartha Kumar <sidhartha.kumar@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Subject: Re: [PATCH v4 5/5] maple_tree: add a test checking storing null
Date: Thu, 31 Oct 2024 08:02:48 +0000	[thread overview]
Message-ID: <20241031080248.7bd5iy52wenptsp4@master> (raw)
In-Reply-To: <jzmsbn7iabvfmsjzjowmmccv2ou54uyyiuxmb3jxdgcc2zpd4m@7olpq7oacxkj>

On Tue, Oct 29, 2024 at 11:29:39AM -0400, Liam R. Howlett wrote:
>* Wei Yang <richard.weiyang@gmail.com> [241022 19:32]:
>> On Wed, Oct 23, 2024 at 01:37:50AM +0800, kernel test robot wrote:
>> >Hi Wei,
>> >
>> >kernel test robot noticed the following build warnings:
>> >
>> >[auto build test WARNING on akpm-mm/mm-nonmm-unstable]
>> >[also build test WARNING on akpm-mm/mm-everything linus/master v6.12-rc4 next-20241022]
>> >[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#_base_tree_information]
>> >
>> >url:    https://github.com/intel-lab-lkp/linux/commits/Wei-Yang/maple_tree-print-empty-for-an-empty-tree-on-mt_dump/20241019-103832
>> >base:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-nonmm-unstable
>> >patch link:    https://lore.kernel.org/r/20241019023716.4516-6-richard.weiyang%40gmail.com
>> >patch subject: [PATCH v4 5/5] maple_tree: add a test checking storing null
>> >config: x86_64-randconfig-123-20241022 (https://download.01.org/0day-ci/archive/20241023/202410230105.UApdwd9S-lkp@intel.com/config)
>> >compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
>> >reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241023/202410230105.UApdwd9S-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 <lkp@intel.com>
>> >| Closes: https://lore.kernel.org/oe-kbuild-all/202410230105.UApdwd9S-lkp@intel.com/
>> >
>> >sparse warnings: (new ones prefixed by >>)
>> >>> lib/test_maple_tree.c:1456:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const *entry @@     got void [noderef] __rcu *ma_root @@
>> >   lib/test_maple_tree.c:1456:9: sparse:     expected void const *entry
>> >   lib/test_maple_tree.c:1456:9: sparse:     got void [noderef] __rcu *ma_root
>> >>> lib/test_maple_tree.c:1456:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const *entry @@     got void [noderef] __rcu *ma_root @@
>> >   lib/test_maple_tree.c:1456:9: sparse:     expected void const *entry
>> >   lib/test_maple_tree.c:1456:9: sparse:     got void [noderef] __rcu *ma_root
>> >   lib/test_maple_tree.c:1468:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const *entry @@     got void [noderef] __rcu *ma_root @@
>> >   lib/test_maple_tree.c:1468:9: sparse:     expected void const *entry
>> >   lib/test_maple_tree.c:1468:9: sparse:     got void [noderef] __rcu *ma_root
>> >   lib/test_maple_tree.c:1468:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const *entry @@     got void [noderef] __rcu *ma_root @@
>> >   lib/test_maple_tree.c:1468:9: sparse:     expected void const *entry
>> >   lib/test_maple_tree.c:1468:9: sparse:     got void [noderef] __rcu *ma_root
>> >
>> >vim +1456 lib/test_maple_tree.c
>> >
>> >  1389	
>> >  1390	static noinline void __init check_store_null(struct maple_tree *mt)
>> >  1391	{
>> >  1392		MA_STATE(mas, mt, 0, ULONG_MAX);
>> >  1393	
>> >  1394		/*
>> >  1395		 * Store NULL at range [0, ULONG_MAX] to an empty tree should result
>> >  1396		 * in an empty tree
>> >  1397		 */
>> >  1398		mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE);
>> >  1399		mas_lock(&mas);
>> >  1400		mas_store_gfp(&mas, NULL, GFP_KERNEL);
>> >  1401		MT_BUG_ON(mt, !mtree_empty(mt));
>> >  1402		mas_unlock(&mas);
>> >  1403		mtree_destroy(mt);
>> >  1404	
>> >  1405		/*
>> >  1406		 * Store NULL at any range to an empty tree should result in an empty
>> >  1407		 * tree
>> >  1408		 */
>> >  1409		mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE);
>> >  1410		mas_lock(&mas);
>> >  1411		mas_set_range(&mas, 3, 10);
>> >  1412		mas_store_gfp(&mas, NULL, GFP_KERNEL);
>> >  1413		MT_BUG_ON(mt, !mtree_empty(mt));
>> >  1414		mas_unlock(&mas);
>> >  1415		mtree_destroy(mt);
>> >  1416	
>> >  1417		/*
>> >  1418		 * Store NULL at range [0, ULONG_MAX] to a single entry tree should
>> >  1419		 * result in an empty tree
>> >  1420		 */
>> >  1421		mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE);
>> >  1422		mas_lock(&mas);
>> >  1423		mas_set(&mas, 0);
>> >  1424		mas_store_gfp(&mas, &mas, GFP_KERNEL);
>> >  1425		mas_set_range(&mas, 0, ULONG_MAX);
>> >  1426		mas_store_gfp(&mas, NULL, GFP_KERNEL);
>> >  1427		MT_BUG_ON(mt, !mtree_empty(mt));
>> >  1428		mas_unlock(&mas);
>> >  1429		mtree_destroy(mt);
>> >  1430	
>> >  1431		/*
>> >  1432		 * Store NULL at range [0, n] to a single entry tree should
>> >  1433		 * result in an empty tree
>> >  1434		 */
>> >  1435		mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE);
>> >  1436		mas_lock(&mas);
>> >  1437		mas_set(&mas, 0);
>> >  1438		mas_store_gfp(&mas, &mas, GFP_KERNEL);
>> >  1439		mas_set_range(&mas, 0, 5);
>> >  1440		mas_store_gfp(&mas, NULL, GFP_KERNEL);
>> >  1441		MT_BUG_ON(mt, !mtree_empty(mt));
>> >  1442		mas_unlock(&mas);
>> >  1443		mtree_destroy(mt);
>> >  1444	
>> >  1445		/*
>> >  1446		 * Store NULL at range [m, n] where m > 0 to a single entry tree
>> >  1447		 * should still be a single entry tree
>> >  1448		 */
>> >  1449		mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE);
>> >  1450		mas_lock(&mas);
>> >  1451		mas_set(&mas, 0);
>> >  1452		mas_store_gfp(&mas, &mas, GFP_KERNEL);
>> >  1453		mas_set_range(&mas, 2, 5);
>> >  1454		mas_store_gfp(&mas, NULL, GFP_KERNEL);
>> >  1455		MT_BUG_ON(mt, mtree_empty(mt));
>> >> 1456		MT_BUG_ON(mt, xa_is_node(mt->ma_root));
>> 
>> Thanks.
>> 
>> Will fix it to xa_is_node(mas_root(&mas)) in next version.
>
>By the looks of the bot output, there are quite a lot of existing cases
>of this in the test code.
>

Hi, Liam

Thanks for your review. I may not follow you.

I saw you add you RB. Do you prefer me to spin a new round with this adjusted
or the current version is fine?

>> 
>> 
>> >  1457		mas_unlock(&mas);
>> >  1458		mtree_destroy(mt);
>> >  1459	
>> >  1460		/*
>> >  1461		 * Store NULL at range [0, ULONG_MAX] to a tree with node should
>> >  1462		 * result in an empty tree
>> >  1463		 */
>> >  1464		mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE);
>> >  1465		mas_lock(&mas);
>> >  1466		mas_set_range(&mas, 1, 3);
>> >  1467		mas_store_gfp(&mas, &mas, GFP_KERNEL);
>> >  1468		MT_BUG_ON(mt, !xa_is_node(mt->ma_root));
>> >  1469		mas_set_range(&mas, 0, ULONG_MAX);
>> >  1470		mas_store_gfp(&mas, NULL, GFP_KERNEL);
>> >  1471		MT_BUG_ON(mt, !mtree_empty(mt));
>> >  1472		mas_unlock(&mas);
>> >  1473		mtree_destroy(mt);
>> >  1474	}
>> >  1475	
>> >
>> >-- 
>> >0-DAY CI Kernel Test Service
>> >https://github.com/intel/lkp-tests/wiki
>> 
>> -- 
>> Wei Yang
>> Help you, Help me

-- 
Wei Yang
Help you, Help me

  reply	other threads:[~2024-10-31  8:02 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-19  2:37 [PATCH v4 0/5] refine storing NULL Wei Yang
2024-10-19  2:37 ` [PATCH v4 1/5] maple_tree: print empty for an empty tree on mt_dump() Wei Yang
2024-10-29 15:23   ` Liam R. Howlett
2024-10-19  2:37 ` [PATCH v4 2/5] maple_tree: the return value of mas_root_expand() is not used Wei Yang
2024-10-29 15:23   ` Liam R. Howlett
2024-10-19  2:37 ` [PATCH v4 3/5] maple_tree: not necessary to check index/last again Wei Yang
2024-10-29 15:23   ` Liam R. Howlett
2024-10-19  2:37 ` [PATCH v4 4/5] maple_tree: refine mas_store_root() on storing NULL Wei Yang
2024-10-29 15:24   ` Liam R. Howlett
2024-10-19  2:37 ` [PATCH v4 5/5] maple_tree: add a test checking storing null Wei Yang
2024-10-22 17:37   ` kernel test robot
2024-10-22 23:32     ` Wei Yang
2024-10-29 15:29       ` Liam R. Howlett
2024-10-31  8:02         ` Wei Yang [this message]
2024-10-31 11:17           ` Liam R. Howlett
2024-10-31 23:04             ` Wei Yang
2024-10-29 15:17   ` Liam R. Howlett
2024-10-29 15:22     ` Liam R. Howlett
2024-10-19  2:42 ` [PATCH v4 0/5] refine storing NULL Wei Yang

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=20241031080248.7bd5iy52wenptsp4@master \
    --to=richard.weiyang@gmail.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-mm@kvack.org \
    --cc=lkp@intel.com \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=maple-tree@lists.infradead.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=sidhartha.kumar@oracle.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.