[Intel-gfx] [PATCH v1 1/2] drm/selftests/mm: Switch to bitmap_zalloc()
kbuild test robot
lkp at intel.com
Mon Mar 4 11:03:31 UTC 2019
Hi Andy,
I love your patch! Yet something to improve:
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v5.0 next-20190301]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Andy-Shevchenko/drm-selftests-mm-Switch-to-bitmap_zalloc/20190304-183335
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: nds32-allyesconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 6.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=6.4.0 make.cross ARCH=nds32
All error/warnings (new ones prefixed by >>):
drivers/gpu/drm/selftests/test-drm_mm.c: In function 'igt_bottomup':
>> drivers/gpu/drm/selftests/test-drm_mm.c:1747:11: error: implicit declaration of function 'bitmap_zcalloc' [-Werror=implicit-function-declaration]
bitmap = bitmap_zcalloc(count, GFP_KERNEL);
^~~~~~~~~~~~~~
>> drivers/gpu/drm/selftests/test-drm_mm.c:1747:9: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
bitmap = bitmap_zcalloc(count, GFP_KERNEL);
^
cc1: some warnings being treated as errors
vim +/bitmap_zcalloc +1747 drivers/gpu/drm/selftests/test-drm_mm.c
1725
1726 static int igt_bottomup(void *ignored)
1727 {
1728 const struct insert_mode *bottomup = &insert_modes[BOTTOMUP];
1729 DRM_RND_STATE(prng, random_seed);
1730 const unsigned int count = 8192;
1731 unsigned int size;
1732 unsigned long *bitmap;
1733 struct drm_mm mm;
1734 struct drm_mm_node *nodes, *node, *next;
1735 unsigned int *order, n, m, o = 0;
1736 int ret;
1737
1738 /* Like igt_topdown, but instead of searching for the last hole,
1739 * we search for the first.
1740 */
1741
1742 ret = -ENOMEM;
1743 nodes = vzalloc(array_size(count, sizeof(*nodes)));
1744 if (!nodes)
1745 goto err;
1746
> 1747 bitmap = bitmap_zcalloc(count, GFP_KERNEL);
1748 if (!bitmap)
1749 goto err_nodes;
1750
1751 order = drm_random_order(count, &prng);
1752 if (!order)
1753 goto err_bitmap;
1754
1755 ret = -EINVAL;
1756 for (size = 1; size <= 64; size <<= 1) {
1757 drm_mm_init(&mm, 0, size*count);
1758 for (n = 0; n < count; n++) {
1759 if (!expect_insert(&mm, &nodes[n],
1760 size, 0, n,
1761 bottomup)) {
1762 pr_err("bottomup insert failed, size %u step %d\n", size, n);
1763 goto out;
1764 }
1765
1766 if (!assert_one_hole(&mm, size*(n + 1), size*count))
1767 goto out;
1768 }
1769
1770 if (!assert_continuous(&mm, size))
1771 goto out;
1772
1773 drm_random_reorder(order, count, &prng);
1774 for_each_prime_number_from(n, 1, min(count, max_prime)) {
1775 for (m = 0; m < n; m++) {
1776 node = &nodes[order[(o + m) % count]];
1777 drm_mm_remove_node(node);
1778 __set_bit(node_index(node), bitmap);
1779 }
1780
1781 for (m = 0; m < n; m++) {
1782 unsigned int first;
1783
1784 node = &nodes[order[(o + m) % count]];
1785 if (!expect_insert(&mm, node,
1786 size, 0, 0,
1787 bottomup)) {
1788 pr_err("insert failed, step %d/%d\n", m, n);
1789 goto out;
1790 }
1791
1792 first = find_first_bit(bitmap, count);
1793 if (node_index(node) != first) {
1794 pr_err("node %d/%d not inserted into bottom hole, expected %d, found %d\n",
1795 m, n, first, node_index(node));
1796 goto out;
1797 }
1798 __clear_bit(first, bitmap);
1799 }
1800
1801 DRM_MM_BUG_ON(find_first_bit(bitmap, count) != count);
1802
1803 o += n;
1804 }
1805
1806 drm_mm_for_each_node_safe(node, next, &mm)
1807 drm_mm_remove_node(node);
1808 DRM_MM_BUG_ON(!drm_mm_clean(&mm));
1809 cond_resched();
1810 }
1811
1812 ret = 0;
1813 out:
1814 drm_mm_for_each_node_safe(node, next, &mm)
1815 drm_mm_remove_node(node);
1816 drm_mm_takedown(&mm);
1817 kfree(order);
1818 err_bitmap:
1819 bitmap_free(bitmap);
1820 err_nodes:
1821 vfree(nodes);
1822 err:
1823 return ret;
1824 }
1825
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 49979 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20190304/ba8ad240/attachment-0001.gz>
More information about the Intel-gfx
mailing list