Messages in this thread | | | Date | Tue, 1 Mar 2011 23:23:20 -0600 | From | Shaun Ruffell <> | Subject | Re: [PATCH] mm/dmapool.c: Do not create/destroy sysfs file while holding pools_lock |
| |
On Tue, Mar 01, 2011 at 08:35:53PM -0800, Eric W. Biederman wrote: > Andrew Morton <akpm@linux-foundation.org> writes: > > One way of fixing this would be to create another singleton lock: > > > > > > { > > static DEFINE_MUTEX(pools_sysfs_lock); > > static bool pools_sysfs_done; > > > > mutex_lock(&pools_sysfs_lock); > > if (pools_sysfs_done == false) { > > create_sysfs_stuff(); > > pools_sysfs_done = true; > > } > > mutex_unlock(&pools_sysfs_lock); > > } > > > > That's not terribly pretty. > > Or possibly use module_init style magic. Where use module > initialization and remove to trigger creation and deletion of the sysfs. >
I'm not following how module initialization can help here. Are you suggesting that all devices get a 'pools' attribute regardless of whether any dma pools are actually created?
Shaun
| |