The following reply was made to PR port-arm/38950; it has been noted by GNATS.
From: Rafal Boni <rafal@xxxxxxxxx>
Cc: port-arm-maintainer@xxxxxxxxxx, gnats-admin@xxxxxxxxxx,
Subject: Re: port-arm/38950 (shark,
hpcarm kernels prone to hard hangs on process exit)
Date: Mon, 23 Jun 2008 20:33:37 -0400
Steve Woodford wrote:
> On Friday 20 June 2008 04:35:01 Rafal Boni wrote:
> > This just occurred to me after having filed this in the "I don't
> > have time to think about it right now" bin. The issue here is that
> > the pmap code is using the last-active-lwp as a proxy for
> > last-active-pmap. What we should do is just save the pmap pointed to
> > by the last-active-lwp vs. the lwp itself.
> While that may solve the problem, it may well work against the intention
> of "last-active-pmap", which is to reduce the impact of
> context-switching between user-mode processes/lwps.
> A simple fix would be to add the following to pmap_deactivate():
[...fixed snip'ed to avoid repetition in GNATS...]
The fix does indeed work as advertised, and the shark is happily
building packages currently. I haven't yet tested on hpcarm but have no
reason to think it won't work there as well.