Re: svn commit: r209119 - head/sys/sys

2010-07-11 Thread Kostik Belousov
On Fri, Jul 09, 2010 at 01:03:14PM +1000, Lawrence Stewart wrote: On 06/18/10 11:57, Lawrence Stewart wrote: On 06/17/10 17:13, Kostik Belousov wrote: On Thu, Jun 17, 2010 at 12:38:08PM +1000, Lawrence Stewart wrote: On 06/14/10 20:43, Kostik Belousov wrote: [snip] Or, you could ditch

Re: svn commit: r209119 - head/sys/sys

2010-07-11 Thread Lawrence Stewart
On 07/11/10 18:24, Kostik Belousov wrote: On Fri, Jul 09, 2010 at 01:03:14PM +1000, Lawrence Stewart wrote: On 06/18/10 11:57, Lawrence Stewart wrote: On 06/17/10 17:13, Kostik Belousov wrote: On Thu, Jun 17, 2010 at 12:38:08PM +1000, Lawrence Stewart wrote: On 06/14/10 20:43, Kostik Belousov

Re: svn commit: r209119 - head/sys/sys

2010-07-08 Thread Lawrence Stewart
On 06/18/10 11:57, Lawrence Stewart wrote: On 06/17/10 17:13, Kostik Belousov wrote: On Thu, Jun 17, 2010 at 12:38:08PM +1000, Lawrence Stewart wrote: On 06/14/10 20:43, Kostik Belousov wrote: [snip] Or, you could ditch the sum at all, indeed using ({}) and returning the result. __typeof is

Re: svn commit: r209119 - head/sys/sys

2010-06-18 Thread Robert Watson
On Fri, 18 Jun 2010, Lawrence Stewart wrote: True but I figured on large SMP systems where the potential to process more is likely, 32bit counters per cpu may be enough to avoid overflow but the aggregate number of events may exceed a 32bit variable. I suspect you're right though and that if

Re: svn commit: r209119 - head/sys/sys

2010-06-18 Thread Lawrence Stewart
On 06/18/10 22:08, Robert Watson wrote: On Fri, 18 Jun 2010, Lawrence Stewart wrote: True but I figured on large SMP systems where the potential to process more is likely, 32bit counters per cpu may be enough to avoid overflow but the aggregate number of events may exceed a 32bit variable. I

Re: svn commit: r209119 - head/sys/sys

2010-06-17 Thread Kostik Belousov
On Thu, Jun 17, 2010 at 12:38:08PM +1000, Lawrence Stewart wrote: On 06/14/10 20:43, Kostik Belousov wrote: On Mon, Jun 14, 2010 at 08:34:15PM +1000, Lawrence Stewart wrote: On 06/14/10 18:52, Kostik Belousov wrote: On Mon, Jun 14, 2010 at 11:52:49AM +1000, Lawrence Stewart wrote: On 06/13/10

Re: svn commit: r209119 - head/sys/sys

2010-06-17 Thread Bruce Evans
On Thu, 17 Jun 2010, Kostik Belousov wrote: On Thu, Jun 17, 2010 at 12:38:08PM +1000, Lawrence Stewart wrote: I've tested the above and it works. I also prefer the idea of having DPCPU_SUM return the sum so that you can do var = DPCPU_SUM(...). My only concern with this method is that the

Re: svn commit: r209119 - head/sys/sys

2010-06-17 Thread Lawrence Stewart
On 06/17/10 17:13, Kostik Belousov wrote: On Thu, Jun 17, 2010 at 12:38:08PM +1000, Lawrence Stewart wrote: On 06/14/10 20:43, Kostik Belousov wrote: [snip] Or, you could ditch the sum at all, indeed using ({}) and returning the result. __typeof is your friend to select proper type of

Re: svn commit: r209119 - head/sys/sys

2010-06-16 Thread Lawrence Stewart
On 06/14/10 20:43, Kostik Belousov wrote: On Mon, Jun 14, 2010 at 08:34:15PM +1000, Lawrence Stewart wrote: On 06/14/10 18:52, Kostik Belousov wrote: On Mon, Jun 14, 2010 at 11:52:49AM +1000, Lawrence Stewart wrote: On 06/13/10 20:10, Pawel Jakub Dawidek wrote: On Sun, Jun 13, 2010 at

Re: svn commit: r209119 - head/sys/sys

2010-06-14 Thread Pawel Jakub Dawidek
On Mon, Jun 14, 2010 at 11:52:49AM +1000, Lawrence Stewart wrote: Given that the DPCPU variable name space is flat and variable names have to be unique, perhaps something like the following would address the concerns raised? #define DPCPU_SUM(n, var, sum)

Re: svn commit: r209119 - head/sys/sys

2010-06-14 Thread Kostik Belousov
On Mon, Jun 14, 2010 at 11:52:49AM +1000, Lawrence Stewart wrote: On 06/13/10 20:10, Pawel Jakub Dawidek wrote: On Sun, Jun 13, 2010 at 02:39:55AM +, Lawrence Stewart wrote: [snip] Modified: head/sys/sys/pcpu.h

Re: svn commit: r209119 - head/sys/sys

2010-06-14 Thread Lawrence Stewart
On 06/14/10 18:52, Kostik Belousov wrote: On Mon, Jun 14, 2010 at 11:52:49AM +1000, Lawrence Stewart wrote: On 06/13/10 20:10, Pawel Jakub Dawidek wrote: On Sun, Jun 13, 2010 at 02:39:55AM +, Lawrence Stewart wrote: [snip] Modified: head/sys/sys/pcpu.h

Re: svn commit: r209119 - head/sys/sys

2010-06-14 Thread Kostik Belousov
On Mon, Jun 14, 2010 at 08:34:15PM +1000, Lawrence Stewart wrote: On 06/14/10 18:52, Kostik Belousov wrote: On Mon, Jun 14, 2010 at 11:52:49AM +1000, Lawrence Stewart wrote: On 06/13/10 20:10, Pawel Jakub Dawidek wrote: On Sun, Jun 13, 2010 at 02:39:55AM +, Lawrence Stewart wrote: [snip]

Re: svn commit: r209119 - head/sys/sys

2010-06-14 Thread Bruce Evans
On Sun, 13 Jun 2010, Gabor Kovesdan wrote: +/* + * Utility macros. + */ +#define DPCPU_SUM(n, var, sum) \ +do { \ + (sum) = 0; \ + u_int i;\ + CPU_FOREACH(i)

Re: svn commit: r209119 - head/sys/sys

2010-06-14 Thread Bruce Evans
On Sun, 13 Jun 2010, Lawrence Stewart wrote: On 06/13/10 20:10, Pawel Jakub Dawidek wrote: On Sun, Jun 13, 2010 at 02:39:55AM +, Lawrence Stewart wrote: Log: Add a utility macro to simplify calculating an aggregate sum from a DPCPU counter variable. Sponsored by:

Re: svn commit: r209119 - head/sys/sys

2010-06-14 Thread John Baldwin
On Sunday 13 June 2010 9:41:38 am Lawrence Stewart wrote: On 06/13/10 20:10, Pawel Jakub Dawidek wrote: On Sun, Jun 13, 2010 at 02:39:55AM +, Lawrence Stewart wrote: Author: lstewart Date: Sun Jun 13 02:39:55 2010 New Revision: 209119 URL:

Re: svn commit: r209119 - head/sys/sys

2010-06-14 Thread mdf
BTW, one reason I liked BSD code more than gnu code is that it didn't use so many macros.  Macros should only exist when they are not just syntactic sugar, like DPCPU_SUM() and unlike CPU_FOREACH(). As a style question, I do understand (generally) why too many macros make the code confusing.

Re: svn commit: r209119 - head/sys/sys

2010-06-14 Thread John Baldwin
On Monday 14 June 2010 9:50:10 am m...@freebsd.org wrote: BTW, one reason I liked BSD code more than gnu code is that it didn't use so many macros. Macros should only exist when they are not just syntactic sugar, like DPCPU_SUM() and unlike CPU_FOREACH(). As a style question, I do

Re: svn commit: r209119 - head/sys/sys

2010-06-14 Thread Bruce Evans
On Mon, 14 Jun 2010, John Baldwin wrote: On Monday 14 June 2010 9:50:10 am m...@freebsd.org wrote: [bde wrote] BTW, one reason I liked BSD code more than gnu code is that it didn't use so many macros. Macros should only exist when they are not just syntactic sugar, like DPCPU_SUM() and

Re: svn commit: r209119 - head/sys/sys

2010-06-13 Thread Pawel Jakub Dawidek
On Sun, Jun 13, 2010 at 02:39:55AM +, Lawrence Stewart wrote: Author: lstewart Date: Sun Jun 13 02:39:55 2010 New Revision: 209119 URL: http://svn.freebsd.org/changeset/base/209119 Log: Add a utility macro to simplify calculating an aggregate sum from a DPCPU counter variable.

Re: svn commit: r209119 - head/sys/sys

2010-06-13 Thread Gabor Kovesdan
+/* + * Utility macros. + */ +#define DPCPU_SUM(n, var, sum) \ +do { \ + (sum) = 0; \ + u_int i;

Re: svn commit: r209119 - head/sys/sys

2010-06-13 Thread Lawrence Stewart
On 06/13/10 20:20, Gabor Kovesdan wrote: +/* + * Utility macros. + */ +#define DPCPU_SUM(n, var, sum) \ +do { \ + (sum) = 0; \ + u_int i; \ + CPU_FOREACH(i) \ + (sum) += (DPCPU_ID_PTR(i, n))-var; \ +} while (0) I'd suggest first swapping variable declaration and '(sum) = 0;'. Also using 'i'

Re: svn commit: r209119 - head/sys/sys

2010-06-13 Thread Lawrence Stewart
On 06/13/10 20:10, Pawel Jakub Dawidek wrote: On Sun, Jun 13, 2010 at 02:39:55AM +, Lawrence Stewart wrote: Author: lstewart Date: Sun Jun 13 02:39:55 2010 New Revision: 209119 URL: http://svn.freebsd.org/changeset/base/209119 Log: Add a utility macro to simplify calculating an

Re: svn commit: r209119 - head/sys/sys

2010-06-13 Thread mdf
On Sun, Jun 13, 2010 at 10:10 AM, Pawel Jakub Dawidek p...@freebsd.org wrote: On Sun, Jun 13, 2010 at 02:39:55AM +, Lawrence Stewart wrote: Author: lstewart Date: Sun Jun 13 02:39:55 2010 New Revision: 209119 URL: http://svn.freebsd.org/changeset/base/209119 Log:   Add a utility macro

Re: svn commit: r209119 - head/sys/sys

2010-06-13 Thread Roman Divacky
On Sun, Jun 13, 2010 at 01:59:11PM +, m...@freebsd.org wrote: On Sun, Jun 13, 2010 at 10:10 AM, Pawel Jakub Dawidek p...@freebsd.org wrote: On Sun, Jun 13, 2010 at 02:39:55AM +, Lawrence Stewart wrote: Author: lstewart Date: Sun Jun 13 02:39:55 2010 New Revision: 209119 URL:

Re: svn commit: r209119 - head/sys/sys

2010-06-13 Thread Stefan Farfeleder
On Sun, Jun 13, 2010 at 01:59:11PM +, m...@freebsd.org wrote: (Relevant but almost a thread hijack): At Isilon we've run into a lot of problems with variable declarations in macros, especially with -Wshadow turned on. We ended up backporting __COUNTER__ from later versions of gcc and

Re: svn commit: r209119 - head/sys/sys

2010-06-13 Thread Lawrence Stewart
On 06/13/10 20:10, Pawel Jakub Dawidek wrote: On Sun, Jun 13, 2010 at 02:39:55AM +, Lawrence Stewart wrote: [snip] Modified: head/sys/sys/pcpu.h == --- head/sys/sys/pcpu.h Sun Jun 13 01:27:29 2010(r209118)

svn commit: r209119 - head/sys/sys

2010-06-12 Thread Lawrence Stewart
Author: lstewart Date: Sun Jun 13 02:39:55 2010 New Revision: 209119 URL: http://svn.freebsd.org/changeset/base/209119 Log: Add a utility macro to simplify calculating an aggregate sum from a DPCPU counter variable. Sponsored by: FreeBSD Foundation Reviewed by: jhb, rpaulo, rwatson