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 23:04:36 +0000 [thread overview]
Message-ID: <20241031230436.5lqih4wfrlshcq3v@master> (raw)
In-Reply-To: <fs2mmau42zex4dey4cjzp7vyaxyjprsdtkb52rmuyszzigptqb@ikrbpshdg7gb>
On Thu, Oct 31, 2024 at 07:17:28AM -0400, Liam R. Howlett wrote:
>* Wei Yang <richard.weiyang@gmail.com> [241031 04:02]:
>> 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?
>
>Please fix what you added. The rest will need to eventually be fixed,
>but someone can do that later.
>
Got it, thanks.
>>
>> >>
>> >>
>> >> > 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
--
Wei Yang
Help you, Help me
next prev parent reply other threads:[~2024-10-31 23:04 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
2024-10-31 11:17 ` Liam R. Howlett
2024-10-31 23:04 ` Wei Yang [this message]
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=20241031230436.5lqih4wfrlshcq3v@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.