I wonder if it was meant to be "e->hits >>= 1;" - that would almost make sense 
with the comment.

Tuesday, January 20, 2015, 10:00:40 PM, you wrote:

> Hi all,

> I have a question about the tick function of RamCacheCLFUS, the code is :

> ......
e->>hits <<= 1;
if (e->>hits) {
>    e->hits = REQUEUE_HITS(e->hits);
>    lru[1].enqueue(e);
> } else
>    goto Lfree;
> ......

> I'm confused about the code, it doubles the hit number and then check if the 
> number is zero or not. What's the usage of the doubling ??

> It seems the implementation is not the same as the introduction of history 
> list 
> (http://nottheoilrig.com/trafficserver/201408290/arch/cache/ram-cache.en.html),
>  "Each CLOCK the least recently used entry in the History List is dequeued 
> and if the "hits" field is not greater than 1 (it was hit at least once in 
> the History or Cached List) it is deleted, otherwise the "hits" is set to 
> zero and it is requeued on the History List."


> Am I missing something??


> Regards,

> Huawei Technologies, China
> Haojun Zhou



Reply via email to