Re: [PATCH v4] lib: cpu_rmap: avoid flushing all workqueues

From: Ben Hutchings
Date: Tue Jan 08 2013 - 11:05:10 EST


On Thu, 2013-01-03 at 13:58 -0800, Andrew Morton wrote:
> On Wed, 2 Jan 2013 23:46:46 +0000
> Ben Hutchings <bhutchings@xxxxxxxxxxxxxx> wrote:
[...]
> > > drivers/net/ethernet/mellanox/mlx4/ appears to be using
> > > msix_ctl.pool_lock for exclusion, but I didn't check for coverage.
> > >
> > > drivers/net/ethernet/sfc/efx.c seems to not need locking because
> > > all its cpu_rmap operations are at module_init() time.
> > >
> > > The cpu_rmap code would be less of a hand grenade if each of its
> > > interface functions documented the caller's locking requirements.
> >
> > This particular 'hand grenade' *was* documented. So I don't think
> > documentation is the problem.
>
> Dunno what you're referring to here. There is no cpu_rmap() locking
> documentation.
[...]

/**
* free_irq_cpu_rmap - free a CPU affinity reverse-map used for IRQs
* @rmap: Reverse-map allocated with alloc_irq_cpu_map(), or %NULL
*
* Must be called in process context, before freeing the IRQs, and
* without holding any locks required by global workqueue items.
*/

Ben.

--
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/