RE: Cache pool bug?

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

 



On Mon, 27 Oct 2014, Wang, Zhiqiang wrote:
> Hi,
> 
> I agree with you this is a bug.
> 
> I think we should change the following code:
> 
>     // KISS: if [lower,upper] spans our target effort, evict it.
>     if (atime_lower >= agent_state->evict_effort)
>       return false;
> 
> to something like this:
> 
>     if (1000000 - atime_upper >= agent_state->evict_effort)
>       return false;
> 
> cc the ceph-devel list for comments.

Yes, that does look backwards. Good catch!  If you submit a pull request 
we can get it merged and then backported.

Thanks!
sage


> ________________________________________
> Date: Mon, 27 Oct 2014 10:20:01 +0800
> Subject: Cache pool bug?
> From: xmdxcxz@xxxxxxxxx
> To: wonzhq@xxxxxxxxxxx
> hi, zhiqiang?
> 
>      When I read the ReplicatedPG::agent_maybe_evic, I found than the newest object has 
> 
> more probability to be evicted. For Example:
> 
>      the object in hit_set is newest object,   call 
> 
>       the funtion agent_estimate_atime_temp(soid, &atime, NULL /*FIXME &temp*/); atime is 0 when return. 
> 
>      agent_state->atime_hist.get_position_micro(atime, &atime_lower, &atime_upper), the atime_lower is 0 when return.
> 
>     // KISS: if [lower,upper] spans our target effort, evict it.
>     if (atime_lower >= agent_state->evict_effort)
>       return false;
> 
>     Above, the newest object in hit_set is evicted.
> 
>     Is there a bug? Or, whether I skip something?
> 
> 
>     Thanks
> N?????r??y??????X???v???)?{.n?????z?]z????ay?????j??f???h??????w??????j:+v???w????????????zZ+???????j"????i

[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