Hi,
In *mapper.c* file of Ceph CRUSH, I am trying to understand the definition
of a linux macro ```*S64_MIN*``` used in the following ```*else*```
condition i.e. ```*draw = S64_MIN*```.
Which exact decimal value is meant here for ```*S64_MIN*```?
```
if (weights[i])
{
u = hash(bucket->h.hash, x, ids[i], r);
u &= 0xffff;
ln = crush_ln(u) - 0x1000000000000ll;
__s64 draw = div64_s64(ln, weights[i]);
}
else
{
__s64 draw = S64_MIN;
// #define S64_MAX ((s64)(U64_MAX >> 1))
// #define S64_MIN ((s64)(-S64_MAX -1))
}
if (i == 0 || draw > high_draw)
{
high = i;
high_draw = draw;
}
}
return bucket->h.items[high];
}
Thanks
Bobby !
Show replies by date