Re: [rfc 19/45] cpu alloc: NFS statistics

Trond Myklebust
2007-11-20T20:56:24Z

On Tue, 2007-11-20 at 12:49 -0800, Christoph Lameter wrote:
> On Tue, 20 Nov 2007, Mathieu Desnoyers wrote:
>
> > > Index: linux-2.6/fs/nfs/iostat.h
> > > ===================================================================
> > > --- linux-2.6.orig/fs/nfs/iostat.h 2007-11-15 21:17:24.391404458 -0800
> > > +++ linux-2.6/fs/nfs/iostat.h 2007-11-15 21:25:33.167654066 -0800
> > > @@ -123,7 +123,7 @@ static inline void nfs_inc_server_stats(
> > > int cpu;
> > >
> > > cpu = get_cpu();
> > > - iostats = per_cpu_ptr(server->io_stats, cpu);
> > > + iostats = CPU_PTR(server->io_stats, cpu);
> > > iostats->events[stat] ++;
> >
> > Is there a way to change this into a CPU_ADD ?
>
> Yes I must have missed that.
>
> Could be
>
> CPU_INC(server->io_stats->events[stat]);
>
> >
> > > put_cpu_no_resched();
> >
> > Why put_cpu_no_resched here ?
>
> We do not want to reschedule here? We may have already disabled interrupts
> or some such thing.

Some of these statistics are updated from inside a spinlocked
environment, hence the put_no_resched().

Trond