This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] libgomp: Introduce gomp_thread::spare_team
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Sebastian Huber <sebastian dot huber at embedded-brains dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 13 Jul 2015 09:17:30 +0200
- Subject: Re: [PATCH] libgomp: Introduce gomp_thread::spare_team
- Authentication-results: sourceware.org; auth=none
- References: <1436271477-16941-1-git-send-email-sebastian dot huber at embedded-brains dot de> <55A35B81 dot 1040806 at embedded-brains dot de>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Mon, Jul 13, 2015 at 08:32:33AM +0200, Sebastian Huber wrote:
> Ping.
Space in gomp_thread is precious, that is a TLS variable, and you want
to only handle the non-nested case only anyway, so why don't you
just try to use
if (thr->thread_pool)
{
struct gomp_thread *last_team = thr->thread_pool->last_team;
if (last_team && last_team->nthreads == nthreads)
{
team = last_team;
thr->thread_pool->last_team = NULL;
}
}
?
The move of mutex, barrier and sem inits/destroy is possible (on Linux
likely not measurable due to destroys being nops and inits being very cheap,
but on other OSes it might be).
Jakub