Re: [PATCH 07/10] preload-index.c: remove #ifdef NO_PTHREADS
- From
Ben Peart <peartben@gmail.com>
- Date
- Oct 29, 2018, 16:52 UTC
- Message-ID
- <1217c887-cb15-87c6-649f-8b927abe8180@gmail.com>
- In-Reply-To
- <20181027071003.1347-8-pclouds@gmail.com>
On 10/27/2018 3:10 AM, Nguyễn Thái Ngọc Duy wrote:
Show 34 quoted lines
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---
> preload-index.c | 15 ++-------------
> 1 file changed, 2 insertions(+), 13 deletions(-)
>
> diff --git a/preload-index.c b/preload-index.c
> index 9e7152ab14..0e24886aca 100644
> --- a/preload-index.c
> +++ b/preload-index.c
> @@ -7,17 +7,7 @@
> #include "fsmonitor.h"
> #include "config.h"
> #include "progress.h"
> -
> -#ifdef NO_PTHREADS
> -static void preload_index(struct index_state *index,
> - const struct pathspec *pathspec,
> - unsigned int refresh_flags)
> -{
> - ; /* nothing */
> -}
> -#else
> -
> -#include <pthread.h>
> +#include "thread-utils.h"
>
> /*
> * Mostly randomly chosen maximum thread counts: we
> @@ -108,7 +98,7 @@ static void preload_index(struct index_state *index,
> struct thread_data data[MAX_PARALLEL];
> struct progress_data pd;
>
> - if (!core_preload_index)
> + if (!HAVE_THREADS || !core_preload_index)I also "hoped in general that the non-threaded code paths could mostly just collapse into the same as the "threads == 1" cases, and we wouldn't have to "are threads even supported" in a lot of places."
In this case, if we cap the threads to online_cpus() the later test for 'if (threads < 2)' would do that. I haven't measured this specific case but in the other cases I have measured, having more threads than cpus did not result in a performance win.
Show 12 quoted lines
> return;
>
> threads = index->cache_nr / THREAD_COST;
> @@ -151,7 +141,6 @@ static void preload_index(struct index_state *index,
>
> trace_performance_leave("preload index");
> }
> -#endif
>
> int read_index_preload(struct index_state *index,
> const struct pathspec *pathspec,
>