From: kernel test robot <lkp@intel.com>
To: Daniel Hill <daniel@gluo.nz>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
Kent Overstreet <kmo@daterainc.com>
Subject: fs/bcachefs/mean_and_variance.c:67: warning: Function parameter or struct member 's' not described in 'mean_and_variance_get_mean'
Date: Mon, 18 Dec 2023 12:10:10 +0800 [thread overview]
Message-ID: <202312181258.ae2vsFwE-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: ceb6a6f023fd3e8b07761ed900352ef574010bcb
commit: 92095781e0f607e735971c1a6462ca6dad8826d2 bcachefs: Mean and variance
date: 8 weeks ago
config: i386-buildonly-randconfig-002-20231218 (https://download.01.org/0day-ci/archive/20231218/202312181258.ae2vsFwE-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231218/202312181258.ae2vsFwE-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312181258.ae2vsFwE-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> fs/bcachefs/mean_and_variance.c:67: warning: Function parameter or struct member 's' not described in 'mean_and_variance_get_mean'
>> fs/bcachefs/mean_and_variance.c:78: warning: Function parameter or struct member 's1' not described in 'mean_and_variance_get_variance'
>> fs/bcachefs/mean_and_variance.c:94: warning: Function parameter or struct member 's' not described in 'mean_and_variance_get_stddev'
>> fs/bcachefs/mean_and_variance.c:108: warning: Function parameter or struct member 's' not described in 'mean_and_variance_weighted_update'
>> fs/bcachefs/mean_and_variance.c:108: warning: Function parameter or struct member 'x' not described in 'mean_and_variance_weighted_update'
fs/bcachefs/mean_and_variance.c:108: warning: Excess function parameter 's1' description in 'mean_and_variance_weighted_update'
fs/bcachefs/mean_and_variance.c:108: warning: Excess function parameter 's2' description in 'mean_and_variance_weighted_update'
>> fs/bcachefs/mean_and_variance.c:134: warning: Function parameter or struct member 's' not described in 'mean_and_variance_weighted_get_mean'
>> fs/bcachefs/mean_and_variance.c:143: warning: Function parameter or struct member 's' not described in 'mean_and_variance_weighted_get_variance'
>> fs/bcachefs/mean_and_variance.c:153: warning: Function parameter or struct member 's' not described in 'mean_and_variance_weighted_get_stddev'
vim +67 fs/bcachefs/mean_and_variance.c
62
63 /**
64 * mean_and_variance_get_mean() - get mean from @s
65 */
66 s64 mean_and_variance_get_mean(struct mean_and_variance s)
> 67 {
68 return s.n ? div64_u64(s.sum, s.n) : 0;
69 }
70 EXPORT_SYMBOL_GPL(mean_and_variance_get_mean);
71
72 /**
73 * mean_and_variance_get_variance() - get variance from @s1
74 *
75 * see linked pdf equation 12.
76 */
77 u64 mean_and_variance_get_variance(struct mean_and_variance s1)
> 78 {
79 if (s1.n) {
80 u128_u s2 = u128_div(s1.sum_squares, s1.n);
81 u64 s3 = abs(mean_and_variance_get_mean(s1));
82
83 return u128_lo(u128_sub(s2, u128_square(s3)));
84 } else {
85 return 0;
86 }
87 }
88 EXPORT_SYMBOL_GPL(mean_and_variance_get_variance);
89
90 /**
91 * mean_and_variance_get_stddev() - get standard deviation from @s
92 */
93 u32 mean_and_variance_get_stddev(struct mean_and_variance s)
> 94 {
95 return int_sqrt64(mean_and_variance_get_variance(s));
96 }
97 EXPORT_SYMBOL_GPL(mean_and_variance_get_stddev);
98
99 /**
100 * mean_and_variance_weighted_update() - exponentially weighted variant of mean_and_variance_update()
101 * @s1: ..
102 * @s2: ..
103 *
104 * see linked pdf: function derived from equations 140-143 where alpha = 2^w.
105 * values are stored bitshifted for performance and added precision.
106 */
107 void mean_and_variance_weighted_update(struct mean_and_variance_weighted *s, s64 x)
> 108 {
109 // previous weighted variance.
110 u8 w = s->weight;
111 u64 var_w0 = s->variance;
112 // new value weighted.
113 s64 x_w = x << w;
114 s64 diff_w = x_w - s->mean;
115 s64 diff = fast_divpow2(diff_w, w);
116 // new mean weighted.
117 s64 u_w1 = s->mean + diff;
118
119 if (!s->init) {
120 s->mean = x_w;
121 s->variance = 0;
122 } else {
123 s->mean = u_w1;
124 s->variance = ((var_w0 << w) - var_w0 + ((diff_w * (x_w - u_w1)) >> w)) >> w;
125 }
126 s->init = true;
127 }
128 EXPORT_SYMBOL_GPL(mean_and_variance_weighted_update);
129
130 /**
131 * mean_and_variance_weighted_get_mean() - get mean from @s
132 */
133 s64 mean_and_variance_weighted_get_mean(struct mean_and_variance_weighted s)
> 134 {
135 return fast_divpow2(s.mean, s.weight);
136 }
137 EXPORT_SYMBOL_GPL(mean_and_variance_weighted_get_mean);
138
139 /**
140 * mean_and_variance_weighted_get_variance() -- get variance from @s
141 */
142 u64 mean_and_variance_weighted_get_variance(struct mean_and_variance_weighted s)
> 143 {
144 // always positive don't need fast divpow2
145 return s.variance >> s.weight;
146 }
147 EXPORT_SYMBOL_GPL(mean_and_variance_weighted_get_variance);
148
149 /**
150 * mean_and_variance_weighted_get_stddev() - get standard deviation from @s
151 */
152 u32 mean_and_variance_weighted_get_stddev(struct mean_and_variance_weighted s)
> 153 {
154 return int_sqrt64(mean_and_variance_weighted_get_variance(s));
155 }
156 EXPORT_SYMBOL_GPL(mean_and_variance_weighted_get_stddev);
157
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2023-12-18 4:10 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202312181258.ae2vsFwE-lkp@intel.com \
--to=lkp@intel.com \
--cc=daniel@gluo.nz \
--cc=kmo@daterainc.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.