Re: cosd multi-second stalls cause "wrongly marked me down"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2011-03-10 at 16:40 -0700, Sage Weil wrote:
> > > Hmm, maybe.  I wouldn't expect this behavior from any allocator,
> though!
> > >
> > > Can you drill down a bit further and see if either of these is
> > > responsible?
> > >
> > >   virtual ~Message() {
> > >     assert(nref.read() == 0);
> > >     if (connection)
> > >       connection->put();
> > >     if (throttler)
> > >       throttler->put(payload.length() + middle.length() +
> data.length());
> > >   }
> > >
> > > (msg/Message.h)
> >
> > Hmmm, this is the patch I'm running to produce above.
> > It seems pretty definitive to me; am I missing something?
> 
>         delete this;
> 
> is calling the virtual destructor ~MOSDPing(), and then ~Message(),
> and
> only then releasing the memory to the allocator. 

Doh!!!  Sorry, I should have been doing more thinking
and less typing last night.

>  ~MOSDPing doesn't do
> anything, but ~Message adjusts the throttler (which involves a mutex
> that
> *shouldn't* be contended :) and a connection->put(), which calls
> ~Connection() and then releases memory.
> 
> My money is on the throttler, but let's see!

OK, I see what you're after.....

-- Jim

> 
> sage
> 


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


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux