[EMAIL PROTECTED] wrote on Mon, 05 Jun 2006 10:53 -0500:
> Pete, I think you're on to something!  Adding the sched_yield() call to 
> the BMI_ib_testcontext() function has sped things up tremendously.  In 
> addition, pvfs2-server now only shows 10% CPU usage (and not for nearly 
> as long as previously) in top when doing the pvfs2-mkdir command.
> 
> I've attached the pvfs2-server.log for a pvfs2-mkdir after adding the 
> sync_yield call.  The fact that a mkdir still takes 10% of the CPU still 
> bothers me, so I'm wondering if there is still some small thread 
> starvation problem somewhere else.  What do you think?

Wow!  The section I had been looking at in previous traces now all
have the same timestamp value, meaning that it completed in less
than 10 ms.

I think we can declare success and chalk it up to weird scheduler
behavior.  I'll run some tests myself, then probably stick that
sched_yield in the source, as it should be harmless for more recent
kernels in that location.

The fact that mkdir is eating 10% CPU on the server is due to this
continuous polling thing that's in there.  Even when yielding the
processor to the dbpf thread once in a while, the bmi thread will
still busywait for 1 sec hoping to get some more action from the
network.  When we switch to event-driven rather than polling, this
should go away (or at least be configurable to go away).

Thanks for your perseverance.  Let us know if you find other
breakage.

                -- Pete
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to