From 56dd0d460ec24bbc1b819b2dd4498abfb0850507 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Fri, 28 Jul 2023 17:45:07 -0700 Subject: til: add til_fragmenter_slice_per_cpu_x16() variant This restores the original til_fragmenter_slice_per_cpu() while adding an explicit x16 variant for what til_fragmenter_slice_per_cpu() had become. The impetus for this is realizing the x16 multiplier is terrible for sparkler's crappy threading, and it really need strictly n_cpus slices for the threading to be beneficial. So I'm just getting rid of the hidden x16 in favor of making it explicit in an _x16 variant. Subsequent commit will pivot all the non-sparkler callers to til_fragmenter_slice_per_cpu_x16(). --- src/til.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/til.c') diff --git a/src/til.c b/src/til.c index 5d9a91f..0aa8efd 100644 --- a/src/til.c +++ b/src/til.c @@ -795,8 +795,15 @@ int til_module_setup_finalize(const til_module_t *module, const til_settings_t * } -/* generic fragmenter using a horizontal slice per cpu according to context->n_cpus (multiplied by a constant factor) */ +/* generic fragmenter using a horizontal slice per cpu according to context->n_cpus */ int til_fragmenter_slice_per_cpu(til_module_context_t *context, const til_fb_fragment_t *fragment, unsigned number, til_fb_fragment_t *res_fragment) +{ + return til_fb_fragment_slice_single(fragment, context->n_cpus, number, res_fragment); +} + + +/* generic fragmenter using a horizontal slice per cpu according to context->n_cpus * 16 */ +int til_fragmenter_slice_per_cpu_x16(til_module_context_t *context, const til_fb_fragment_t *fragment, unsigned number, til_fb_fragment_t *res_fragment) { /* The *16 is to combat leaving CPUs idle waiting for others to finish their work. * -- cgit v1.2.1