All of lore.kernel.org
 help / color / mirror / Atom feed
* fs/xfs/xfs_zone_gc.c:186: undefined reference to `__divmoddi4'
@ 2025-04-18  4:23 ` kernel test robot
  2025-04-19  9:34   ` Carlos Maiolino
  0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2025-04-18  4:23 UTC (permalink / raw)
  To: Hans Holmberg
  Cc: oe-kbuild-all, linux-kernel, Carlos Maiolino, Christoph Hellwig

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   fc96b232f8e7c0a6c282f47726b2ff6a5fb341d2
commit: 845abeb1f06a8a44e21314460eeb14cddfca52cc xfs: add tunable threshold parameter for triggering zone GC
date:   4 days ago
config: i386-buildonly-randconfig-004-20250418 (https://download.01.org/0day-ci/archive/20250418/202504181233.F7D9Atra-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250418/202504181233.F7D9Atra-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/202504181233.F7D9Atra-lkp@intel.com/

All errors (new ones prefixed by >>):

   ld: fs/xfs/xfs_zone_gc.o: in function `xfs_zoned_need_gc':
>> fs/xfs/xfs_zone_gc.c:186: undefined reference to `__divmoddi4'
>> ld: fs/xfs/xfs_zone_gc.c:186: undefined reference to `__divdi3'


vim +186 fs/xfs/xfs_zone_gc.c

   162	
   163	/*
   164	 * We aim to keep enough zones free in stock to fully use the open zone limit
   165	 * for data placement purposes. Additionally, the m_zonegc_low_space tunable
   166	 * can be set to make sure a fraction of the unused blocks are available for
   167	 * writing.
   168	 */
   169	bool
   170	xfs_zoned_need_gc(
   171		struct xfs_mount	*mp)
   172	{
   173		s64			available, free;
   174	
   175		if (!xfs_group_marked(mp, XG_TYPE_RTG, XFS_RTG_RECLAIMABLE))
   176			return false;
   177	
   178		available = xfs_estimate_freecounter(mp, XC_FREE_RTAVAILABLE);
   179	
   180		if (available <
   181		    mp->m_groups[XG_TYPE_RTG].blocks *
   182		    (mp->m_max_open_zones - XFS_OPEN_GC_ZONES))
   183			return true;
   184	
   185		free = xfs_estimate_freecounter(mp, XC_FREE_RTEXTENTS);
 > 186		if (available < mult_frac(free, mp->m_zonegc_low_space, 100))
   187			return true;
   188	
   189		return false;
   190	}
   191	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: fs/xfs/xfs_zone_gc.c:186: undefined reference to `__divmoddi4'
  2025-04-18  4:23 ` fs/xfs/xfs_zone_gc.c:186: undefined reference to `__divmoddi4' kernel test robot
@ 2025-04-19  9:34   ` Carlos Maiolino
  0 siblings, 0 replies; 2+ messages in thread
From: Carlos Maiolino @ 2025-04-19  9:34 UTC (permalink / raw)
  To: kernel test robot
  Cc: Hans Holmberg, oe-kbuild-all, linux-kernel, Christoph Hellwig

On Fri, Apr 18, 2025 at 12:23:44PM +0800, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   fc96b232f8e7c0a6c282f47726b2ff6a5fb341d2
> commit: 845abeb1f06a8a44e21314460eeb14cddfca52cc xfs: add tunable threshold parameter for triggering zone GC
> date:   4 days ago
> config: i386-buildonly-randconfig-004-20250418 (https://download.01.org/0day-ci/archive/20250418/202504181233.F7D9Atra-lkp@intel.com/config)
> compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250418/202504181233.F7D9Atra-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/202504181233.F7D9Atra-lkp@intel.com/
> 
> All errors (new ones prefixed by >>):
> 
>    ld: fs/xfs/xfs_zone_gc.o: in function `xfs_zoned_need_gc':
> >> fs/xfs/xfs_zone_gc.c:186: undefined reference to `__divmoddi4'
> >> ld: fs/xfs/xfs_zone_gc.c:186: undefined reference to `__divdi3'

I don't think there is anything xfs can do here, this likely
requires to be fixed on math.h and make mult_frac be properly built
on i386. I'm testing a patch here and will submit it at least to start
a discussion.

> 
> 
> vim +186 fs/xfs/xfs_zone_gc.c
> 
>    162
>    163	/*
>    164	 * We aim to keep enough zones free in stock to fully use the open zone limit
>    165	 * for data placement purposes. Additionally, the m_zonegc_low_space tunable
>    166	 * can be set to make sure a fraction of the unused blocks are available for
>    167	 * writing.
>    168	 */
>    169	bool
>    170	xfs_zoned_need_gc(
>    171		struct xfs_mount	*mp)
>    172	{
>    173		s64			available, free;
>    174
>    175		if (!xfs_group_marked(mp, XG_TYPE_RTG, XFS_RTG_RECLAIMABLE))
>    176			return false;
>    177
>    178		available = xfs_estimate_freecounter(mp, XC_FREE_RTAVAILABLE);
>    179
>    180		if (available <
>    181		    mp->m_groups[XG_TYPE_RTG].blocks *
>    182		    (mp->m_max_open_zones - XFS_OPEN_GC_ZONES))
>    183			return true;
>    184
>    185		free = xfs_estimate_freecounter(mp, XC_FREE_RTEXTENTS);
>  > 186		if (available < mult_frac(free, mp->m_zonegc_low_space, 100))
>    187			return true;
>    188
>    189		return false;
>    190	}
>    191
> 
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-04-19  9:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <JFG83gowJu7PQG7cgkRFCITghKWsYeEpl0cJ6taDtZfbh4UFDCne2aW3fz7CzitHRGYciMHb7iO-Qewa_wteRw==@protonmail.internalid>
2025-04-18  4:23 ` fs/xfs/xfs_zone_gc.c:186: undefined reference to `__divmoddi4' kernel test robot
2025-04-19  9:34   ` Carlos Maiolino

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.