Re: [PATCH v3 3/4] btrfs: Add zstd support

From: kbuild test robot
Date: Sun Jul 23 2017 - 15:29:33 EST


Hi Nick,

[auto build test WARNING on linus/master]
[also build test WARNING on v4.13-rc1 next-20170721]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Nick-Terrell/Add-xxhash-and-zstd-modules/20170723-092845
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=parisc

All warnings (new ones prefixed by >>):

lib/xxhash.c: In function 'xxh64':
>> lib/xxhash.c:236:1: warning: the frame size of 1688 bytes is larger than 1024 bytes [-Wframe-larger-than=]
}
^
lib/xxhash.c: In function 'xxh64_update':
lib/xxhash.c:441:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
}
^

vim +236 lib/xxhash.c

09c83807 Nick Terrell 2017-07-20 171
09c83807 Nick Terrell 2017-07-20 172 uint64_t xxh64(const void *input, const size_t len, const uint64_t seed)
09c83807 Nick Terrell 2017-07-20 173 {
09c83807 Nick Terrell 2017-07-20 174 const uint8_t *p = (const uint8_t *)input;
09c83807 Nick Terrell 2017-07-20 175 const uint8_t *const b_end = p + len;
09c83807 Nick Terrell 2017-07-20 176 uint64_t h64;
09c83807 Nick Terrell 2017-07-20 177
09c83807 Nick Terrell 2017-07-20 178 if (len >= 32) {
09c83807 Nick Terrell 2017-07-20 179 const uint8_t *const limit = b_end - 32;
09c83807 Nick Terrell 2017-07-20 180 uint64_t v1 = seed + PRIME64_1 + PRIME64_2;
09c83807 Nick Terrell 2017-07-20 181 uint64_t v2 = seed + PRIME64_2;
09c83807 Nick Terrell 2017-07-20 182 uint64_t v3 = seed + 0;
09c83807 Nick Terrell 2017-07-20 183 uint64_t v4 = seed - PRIME64_1;
09c83807 Nick Terrell 2017-07-20 184
09c83807 Nick Terrell 2017-07-20 185 do {
09c83807 Nick Terrell 2017-07-20 186 v1 = xxh64_round(v1, get_unaligned_le64(p));
09c83807 Nick Terrell 2017-07-20 187 p += 8;
09c83807 Nick Terrell 2017-07-20 188 v2 = xxh64_round(v2, get_unaligned_le64(p));
09c83807 Nick Terrell 2017-07-20 189 p += 8;
09c83807 Nick Terrell 2017-07-20 190 v3 = xxh64_round(v3, get_unaligned_le64(p));
09c83807 Nick Terrell 2017-07-20 191 p += 8;
09c83807 Nick Terrell 2017-07-20 192 v4 = xxh64_round(v4, get_unaligned_le64(p));
09c83807 Nick Terrell 2017-07-20 193 p += 8;
09c83807 Nick Terrell 2017-07-20 194 } while (p <= limit);
09c83807 Nick Terrell 2017-07-20 195
09c83807 Nick Terrell 2017-07-20 196 h64 = xxh_rotl64(v1, 1) + xxh_rotl64(v2, 7) +
09c83807 Nick Terrell 2017-07-20 197 xxh_rotl64(v3, 12) + xxh_rotl64(v4, 18);
09c83807 Nick Terrell 2017-07-20 198 h64 = xxh64_merge_round(h64, v1);
09c83807 Nick Terrell 2017-07-20 199 h64 = xxh64_merge_round(h64, v2);
09c83807 Nick Terrell 2017-07-20 200 h64 = xxh64_merge_round(h64, v3);
09c83807 Nick Terrell 2017-07-20 201 h64 = xxh64_merge_round(h64, v4);
09c83807 Nick Terrell 2017-07-20 202
09c83807 Nick Terrell 2017-07-20 203 } else {
09c83807 Nick Terrell 2017-07-20 204 h64 = seed + PRIME64_5;
09c83807 Nick Terrell 2017-07-20 205 }
09c83807 Nick Terrell 2017-07-20 206
09c83807 Nick Terrell 2017-07-20 207 h64 += (uint64_t)len;
09c83807 Nick Terrell 2017-07-20 208
09c83807 Nick Terrell 2017-07-20 209 while (p + 8 <= b_end) {
09c83807 Nick Terrell 2017-07-20 210 const uint64_t k1 = xxh64_round(0, get_unaligned_le64(p));
09c83807 Nick Terrell 2017-07-20 211
09c83807 Nick Terrell 2017-07-20 212 h64 ^= k1;
09c83807 Nick Terrell 2017-07-20 213 h64 = xxh_rotl64(h64, 27) * PRIME64_1 + PRIME64_4;
09c83807 Nick Terrell 2017-07-20 214 p += 8;
09c83807 Nick Terrell 2017-07-20 215 }
09c83807 Nick Terrell 2017-07-20 216
09c83807 Nick Terrell 2017-07-20 217 if (p + 4 <= b_end) {
09c83807 Nick Terrell 2017-07-20 218 h64 ^= (uint64_t)(get_unaligned_le32(p)) * PRIME64_1;
09c83807 Nick Terrell 2017-07-20 219 h64 = xxh_rotl64(h64, 23) * PRIME64_2 + PRIME64_3;
09c83807 Nick Terrell 2017-07-20 220 p += 4;
09c83807 Nick Terrell 2017-07-20 221 }
09c83807 Nick Terrell 2017-07-20 222
09c83807 Nick Terrell 2017-07-20 223 while (p < b_end) {
09c83807 Nick Terrell 2017-07-20 224 h64 ^= (*p) * PRIME64_5;
09c83807 Nick Terrell 2017-07-20 225 h64 = xxh_rotl64(h64, 11) * PRIME64_1;
09c83807 Nick Terrell 2017-07-20 226 p++;
09c83807 Nick Terrell 2017-07-20 227 }
09c83807 Nick Terrell 2017-07-20 228
09c83807 Nick Terrell 2017-07-20 229 h64 ^= h64 >> 33;
09c83807 Nick Terrell 2017-07-20 230 h64 *= PRIME64_2;
09c83807 Nick Terrell 2017-07-20 231 h64 ^= h64 >> 29;
09c83807 Nick Terrell 2017-07-20 232 h64 *= PRIME64_3;
09c83807 Nick Terrell 2017-07-20 233 h64 ^= h64 >> 32;
09c83807 Nick Terrell 2017-07-20 234
09c83807 Nick Terrell 2017-07-20 235 return h64;
09c83807 Nick Terrell 2017-07-20 @236 }
09c83807 Nick Terrell 2017-07-20 237 EXPORT_SYMBOL(xxh64);
09c83807 Nick Terrell 2017-07-20 238

:::::: The code at line 236 was first introduced by commit
:::::: 09c83807485b28f2b1813bcd3b7e2c7c3720234e lib: Add xxhash module

:::::: TO: Nick Terrell <terrelln@xxxxxx>
:::::: CC: 0day robot <fengguang.wu@xxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip