Hi All, Can somebody explain the macro pmd_addr_end(addr, end) #define pmd_addr_end(addr, end) \ ({ unsigned long __boundary = ((addr) + PMD_SIZE) & PMD_MASK; \ (__boundary - 1 < (end) - 1)? __boundary: (end); \ }) I know that this macro rounds the addr value to next higher multiple of PMD_SIZE. If this "ceiling" is greater than end, then the value is end. What i dont understand is why is "boundary - 1 < end -1" used instead of just boundary < end. Thanks. -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ