Messages in this thread | | | Date | Mon, 8 Dec 2008 11:42:06 -0500 (EST) | From | Steven Rostedt <> | Subject | Re: [PATCH] [RT] avoid preemption in memory controller code |
| |
Hi Tim,
On Mon, 8 Dec 2008, Tim Blechmann wrote:
> the lru_lock of struct mem_group_per_zone is used to avoid preemption > during the __mem_cgroup_stat_add_safe function. > therefore, a raw_spinlock_t should be used.
What is the reason that this must avoid preemption? Is there another way to solve this? I rather not just add a raw spinlock if we can help it.
-- Steve
> > Signed-off-by: Tim Blechmann <tim@klingt.org> > --- > mm/memcontrol.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index 517f945..8661732 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -95,9 +95,9 @@ enum mem_cgroup_zstat_index { > > struct mem_cgroup_per_zone { > /* > - * spin_lock to protect the per cgroup LRU > + * raw_spin_lock to protect the per cgroup LRU > */ > - spinlock_t lru_lock; > + raw_spinlock_t lru_lock; > struct list_head active_list; > struct list_head inactive_list; > unsigned long count[NR_MEM_CGROUP_ZSTAT]; > -- > 1.5.6.3 > > >
| |