Just IMHO;
It is probably too much trouble to pretend to add such checks to the macros. People using them should know to avoid division by zero and other issues that may happen. Pedro. On 04/26/16 14:59, Maxim Sobolev wrote:
Yeah, sure no rush. Another interesting mode of failure to check in howmany(X, S) is KASSERT((X % S) == 0). There might be few cases when it's intended behaviour, but for majority of them it should be indication of some kind of programmatic error (i.e. missing a cast in sizeof and getting void * size instead of the structure size). Those which rely on rounding could then be separated into howmany_rup() and howmany_rdown() or something. On Tue, Apr 26, 2016 at 12:04 PM, Pedro Giffuni <p...@freebsd.org <mailto:p...@freebsd.org>> wrote: Hello On 04/26/16 13:42, Maxim Sobolev wrote: Given the widespread use of those two macros, maybe we need howmany.9 and roundup.9 manual pages with detailed formal description? Particularly interested in how "return" supposed to be typed. Another thing is that would be nice is some kind of automatic #error/#warning/printf/KASSERT/panic when (X < Y || Y <= 0) & defined(INVARIANTS). -Max I agree, we need those documented. There's also rounddown, roundup2 and rounddown2. FWIW, I am tired of these massive replacements, and will likely take a break before trying rounddown. Pedro. On Tue, Apr 26, 2016 at 10:39 AM, Pedro F. Giffuni <p...@freebsd.org <mailto:p...@freebsd.org> <mailto:p...@freebsd.org <mailto:p...@freebsd.org>>> wrote: Author: pfg Date: Tue Apr 26 17:39:54 2016 New Revision: 298653 URL: https://svnweb.freebsd.org/changeset/base/298653 Log: MFC r298482: Cleanup redundant parenthesis from existing howmany()/roundup() macro uses. Requested by: dchagin Modified: stable/10/sys/amd64/amd64/pmap.c stable/10/sys/amd64/linux/linux_sysvec.c stable/10/sys/amd64/linux32/linux32_sysvec.c stable/10/sys/compat/linux/linux_file.c stable/10/sys/dev/cxgbe/tom/t4_tom.c stable/10/sys/i386/linux/linux_sysvec.c stable/10/sys/vm/vm_radix.c Directory Properties: stable/10/ (props changed)
_______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"