On Fri, 2011-03-11 at 15:45 -0700, Sage Weil wrote:
> On Fri, 11 Mar 2011, Jim Schutt wrote:
> > > So it occurs to me that one call to Message::put() entails many 
> > > calls to buffer::ptr::release(), depending on what the message 
> > > is, right?  Maybe time the "delete _raw" in there and assert() 
> > > if it's too long?
> > 
> > Also, any chance all incoming data is causing buffer_total_alloc
> > to be contended?  I don't have libatomic_ops either, so that
> > atomic_t is implemented via a pthread_spinlock_t, right?
> > How to check that?
> 
> Hmm, it could be.  I pushed a nobuffer branch that compiles out the 
> buffer_total_alloc accounting, if you want to give that a go.

That seems to have helped, although it's not a complete solution.

I still got some OSDs failed, but since I use

        osd min down reporters = 3
        osd min down reports = 2

only 1 OSD got marked down; it noticed quickly and marked
itself up, and my 64-client dd finished.  That's new for
me at 96 OSDs.

I saw this on this run:

# grep -Hn RefCountedObject::put osd.*.log | egrep "took [0-9][0-9]\." | wc -l 
192

# grep -Hn RefCountedObject::put osd.*.log | egrep "took [1-9]\." | wc -l
12578

which compares to a previous run in an earlier email:


> > > # grep -Hn RefCountedObject::put osd.*.log | egrep "took [1-9]\." | wc -l
> > > 8911
> > > 
> > > # grep -Hn RefCountedObject::put osd.*.log | egrep "took [0-9][0-9]\." | 
> > > wc -l
> > > 415

-- Jim

> 
> sage
> 


--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to