From: kernel test robot <lkp@intel.com>
To: Nhat Pham <nphamcs@gmail.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Andrew Morton <akpm@linux-foundation.org>,
Linux Memory Management List <linux-mm@kvack.org>
Subject: [akpm-mm:mm-unstable 23/209] mm/zswap.c:1183:6: warning: variable 'ret' is used uninitialized whenever 'if' condition is true
Date: Thu, 1 Jun 2023 22:33:55 +0800 [thread overview]
Message-ID: <202306012152.o4FL7Y6J-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable
head: b5db6565ff3efc5906d35f587ff56ac701d99d90
commit: 6804144bf1cfa3978ad98e625d8a1d2a4b80cbee [23/209] zswap: do not shrink if cgroup may not zswap
config: hexagon-randconfig-r032-20230531 (https://download.01.org/0day-ci/archive/20230601/202306012152.o4FL7Y6J-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 4faf3aaf28226a4e950c103a14f6fc1d1fdabb1b)
reproduce (this is a W=1 build):
mkdir -p ~/bin
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/commit/?id=6804144bf1cfa3978ad98e625d8a1d2a4b80cbee
git remote add akpm-mm https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git
git fetch --no-tags akpm-mm mm-unstable
git checkout 6804144bf1cfa3978ad98e625d8a1d2a4b80cbee
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306012152.o4FL7Y6J-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from mm/zswap.c:18:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/hexagon/include/asm/io.h:334:
include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __raw_readb(PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
^
In file included from mm/zswap.c:18:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/hexagon/include/asm/io.h:334:
include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
^
In file included from mm/zswap.c:18:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/hexagon/include/asm/io.h:334:
include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
>> mm/zswap.c:1183:6: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (objcg && !obj_cgroup_may_zswap(objcg))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/zswap.c:1327:9: note: uninitialized use occurs here
return ret;
^~~
mm/zswap.c:1183:2: note: remove the 'if' if its condition is always false
if (objcg && !obj_cgroup_may_zswap(objcg))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/zswap.c:1158:9: note: initialize the variable 'ret' to silence this warning
int ret;
^
= 0
7 warnings generated.
vim +1183 mm/zswap.c
a85f878b443f8d Srividya Desireddy 2018-01-31 1144
2b2811178e8555 Seth Jennings 2013-07-10 1145 /*********************************
2b2811178e8555 Seth Jennings 2013-07-10 1146 * frontswap hooks
2b2811178e8555 Seth Jennings 2013-07-10 1147 **********************************/
2b2811178e8555 Seth Jennings 2013-07-10 1148 /* attempts to compress and store an single page */
2b2811178e8555 Seth Jennings 2013-07-10 1149 static int zswap_frontswap_store(unsigned type, pgoff_t offset,
2b2811178e8555 Seth Jennings 2013-07-10 1150 struct page *page)
2b2811178e8555 Seth Jennings 2013-07-10 1151 {
2b2811178e8555 Seth Jennings 2013-07-10 1152 struct zswap_tree *tree = zswap_trees[type];
2b2811178e8555 Seth Jennings 2013-07-10 1153 struct zswap_entry *entry, *dupentry;
1ec3b5fe6eec78 Barry Song 2020-12-14 1154 struct scatterlist input, output;
1ec3b5fe6eec78 Barry Song 2020-12-14 1155 struct crypto_acomp_ctx *acomp_ctx;
f4840ccfca25db Johannes Weiner 2022-05-19 1156 struct obj_cgroup *objcg = NULL;
f4840ccfca25db Johannes Weiner 2022-05-19 1157 struct zswap_pool *pool;
2b2811178e8555 Seth Jennings 2013-07-10 1158 int ret;
9c3760eb80880f Yu Zhao 2018-01-31 1159 unsigned int hlen, dlen = PAGE_SIZE;
a85f878b443f8d Srividya Desireddy 2018-01-31 1160 unsigned long handle, value;
2b2811178e8555 Seth Jennings 2013-07-10 1161 char *buf;
2b2811178e8555 Seth Jennings 2013-07-10 1162 u8 *src, *dst;
9c3760eb80880f Yu Zhao 2018-01-31 1163 struct zswap_header zhdr = { .swpentry = swp_entry(type, offset) };
d2fcd82bb83aab Hui Zhu 2019-09-23 1164 gfp_t gfp;
2b2811178e8555 Seth Jennings 2013-07-10 1165
7ba716698cc53f Huang Ying 2018-02-21 1166 /* THP isn't supported */
7ba716698cc53f Huang Ying 2018-02-21 1167 if (PageTransHuge(page)) {
7ba716698cc53f Huang Ying 2018-02-21 1168 ret = -EINVAL;
7ba716698cc53f Huang Ying 2018-02-21 1169 goto reject;
7ba716698cc53f Huang Ying 2018-02-21 1170 }
7ba716698cc53f Huang Ying 2018-02-21 1171
c00ed16a9eb98a Dan Streetman 2015-06-25 1172 if (!zswap_enabled || !tree) {
2b2811178e8555 Seth Jennings 2013-07-10 1173 ret = -ENODEV;
2b2811178e8555 Seth Jennings 2013-07-10 1174 goto reject;
2b2811178e8555 Seth Jennings 2013-07-10 1175 }
2b2811178e8555 Seth Jennings 2013-07-10 1176
6804144bf1cfa3 Nhat Pham 2023-05-30 1177 /*
6804144bf1cfa3 Nhat Pham 2023-05-30 1178 * XXX: zswap reclaim does not work with cgroups yet. Without a
6804144bf1cfa3 Nhat Pham 2023-05-30 1179 * cgroup-aware entry LRU, we will push out entries system-wide based on
6804144bf1cfa3 Nhat Pham 2023-05-30 1180 * local cgroup limits.
6804144bf1cfa3 Nhat Pham 2023-05-30 1181 */
f4840ccfca25db Johannes Weiner 2022-05-19 1182 objcg = get_obj_cgroup_from_page(page);
f4840ccfca25db Johannes Weiner 2022-05-19 @1183 if (objcg && !obj_cgroup_may_zswap(objcg))
6804144bf1cfa3 Nhat Pham 2023-05-30 1184 goto reject;
f4840ccfca25db Johannes Weiner 2022-05-19 1185
2b2811178e8555 Seth Jennings 2013-07-10 1186 /* reclaim space if needed */
2b2811178e8555 Seth Jennings 2013-07-10 1187 if (zswap_is_full()) {
2b2811178e8555 Seth Jennings 2013-07-10 1188 zswap_pool_limit_hit++;
45190f01dd4021 Vitaly Wool 2020-01-30 1189 zswap_pool_reached_full = true;
f4840ccfca25db Johannes Weiner 2022-05-19 1190 goto shrink;
2b2811178e8555 Seth Jennings 2013-07-10 1191 }
16e536ef47f567 Li Wang 2018-07-26 1192
45190f01dd4021 Vitaly Wool 2020-01-30 1193 if (zswap_pool_reached_full) {
45190f01dd4021 Vitaly Wool 2020-01-30 1194 if (!zswap_can_accept()) {
16e536ef47f567 Li Wang 2018-07-26 1195 ret = -ENOMEM;
16e536ef47f567 Li Wang 2018-07-26 1196 goto reject;
45190f01dd4021 Vitaly Wool 2020-01-30 1197 } else
45190f01dd4021 Vitaly Wool 2020-01-30 1198 zswap_pool_reached_full = false;
2b2811178e8555 Seth Jennings 2013-07-10 1199 }
2b2811178e8555 Seth Jennings 2013-07-10 1200
2b2811178e8555 Seth Jennings 2013-07-10 1201 /* allocate entry */
2b2811178e8555 Seth Jennings 2013-07-10 1202 entry = zswap_entry_cache_alloc(GFP_KERNEL);
2b2811178e8555 Seth Jennings 2013-07-10 1203 if (!entry) {
2b2811178e8555 Seth Jennings 2013-07-10 1204 zswap_reject_kmemcache_fail++;
2b2811178e8555 Seth Jennings 2013-07-10 1205 ret = -ENOMEM;
2b2811178e8555 Seth Jennings 2013-07-10 1206 goto reject;
2b2811178e8555 Seth Jennings 2013-07-10 1207 }
2b2811178e8555 Seth Jennings 2013-07-10 1208
a85f878b443f8d Srividya Desireddy 2018-01-31 1209 if (zswap_same_filled_pages_enabled) {
a85f878b443f8d Srividya Desireddy 2018-01-31 1210 src = kmap_atomic(page);
a85f878b443f8d Srividya Desireddy 2018-01-31 1211 if (zswap_is_page_same_filled(src, &value)) {
a85f878b443f8d Srividya Desireddy 2018-01-31 1212 kunmap_atomic(src);
a85f878b443f8d Srividya Desireddy 2018-01-31 1213 entry->offset = offset;
a85f878b443f8d Srividya Desireddy 2018-01-31 1214 entry->length = 0;
a85f878b443f8d Srividya Desireddy 2018-01-31 1215 entry->value = value;
a85f878b443f8d Srividya Desireddy 2018-01-31 1216 atomic_inc(&zswap_same_filled_pages);
a85f878b443f8d Srividya Desireddy 2018-01-31 1217 goto insert_entry;
a85f878b443f8d Srividya Desireddy 2018-01-31 1218 }
a85f878b443f8d Srividya Desireddy 2018-01-31 1219 kunmap_atomic(src);
a85f878b443f8d Srividya Desireddy 2018-01-31 1220 }
a85f878b443f8d Srividya Desireddy 2018-01-31 1221
cb325ddde56162 Maciej S. Szmigiero 2022-03-22 1222 if (!zswap_non_same_filled_pages_enabled) {
cb325ddde56162 Maciej S. Szmigiero 2022-03-22 1223 ret = -EINVAL;
cb325ddde56162 Maciej S. Szmigiero 2022-03-22 1224 goto freepage;
cb325ddde56162 Maciej S. Szmigiero 2022-03-22 1225 }
cb325ddde56162 Maciej S. Szmigiero 2022-03-22 1226
f1c54846ee4504 Dan Streetman 2015-09-09 1227 /* if entry is successfully added, it keeps the reference */
f1c54846ee4504 Dan Streetman 2015-09-09 1228 entry->pool = zswap_pool_current_get();
f1c54846ee4504 Dan Streetman 2015-09-09 1229 if (!entry->pool) {
f1c54846ee4504 Dan Streetman 2015-09-09 1230 ret = -EINVAL;
f1c54846ee4504 Dan Streetman 2015-09-09 1231 goto freepage;
f1c54846ee4504 Dan Streetman 2015-09-09 1232 }
f1c54846ee4504 Dan Streetman 2015-09-09 1233
2b2811178e8555 Seth Jennings 2013-07-10 1234 /* compress */
1ec3b5fe6eec78 Barry Song 2020-12-14 1235 acomp_ctx = raw_cpu_ptr(entry->pool->acomp_ctx);
1ec3b5fe6eec78 Barry Song 2020-12-14 1236
1ec3b5fe6eec78 Barry Song 2020-12-14 1237 mutex_lock(acomp_ctx->mutex);
1ec3b5fe6eec78 Barry Song 2020-12-14 1238
1ec3b5fe6eec78 Barry Song 2020-12-14 1239 dst = acomp_ctx->dstmem;
1ec3b5fe6eec78 Barry Song 2020-12-14 1240 sg_init_table(&input, 1);
1ec3b5fe6eec78 Barry Song 2020-12-14 1241 sg_set_page(&input, page, PAGE_SIZE, 0);
1ec3b5fe6eec78 Barry Song 2020-12-14 1242
1ec3b5fe6eec78 Barry Song 2020-12-14 1243 /* zswap_dstmem is of size (PAGE_SIZE * 2). Reflect same in sg_list */
1ec3b5fe6eec78 Barry Song 2020-12-14 1244 sg_init_one(&output, dst, PAGE_SIZE * 2);
1ec3b5fe6eec78 Barry Song 2020-12-14 1245 acomp_request_set_params(acomp_ctx->req, &input, &output, PAGE_SIZE, dlen);
1ec3b5fe6eec78 Barry Song 2020-12-14 1246 /*
1ec3b5fe6eec78 Barry Song 2020-12-14 1247 * it maybe looks a little bit silly that we send an asynchronous request,
1ec3b5fe6eec78 Barry Song 2020-12-14 1248 * then wait for its completion synchronously. This makes the process look
1ec3b5fe6eec78 Barry Song 2020-12-14 1249 * synchronous in fact.
1ec3b5fe6eec78 Barry Song 2020-12-14 1250 * Theoretically, acomp supports users send multiple acomp requests in one
1ec3b5fe6eec78 Barry Song 2020-12-14 1251 * acomp instance, then get those requests done simultaneously. but in this
1ec3b5fe6eec78 Barry Song 2020-12-14 1252 * case, frontswap actually does store and load page by page, there is no
1ec3b5fe6eec78 Barry Song 2020-12-14 1253 * existing method to send the second page before the first page is done
1ec3b5fe6eec78 Barry Song 2020-12-14 1254 * in one thread doing frontswap.
1ec3b5fe6eec78 Barry Song 2020-12-14 1255 * but in different threads running on different cpu, we have different
1ec3b5fe6eec78 Barry Song 2020-12-14 1256 * acomp instance, so multiple threads can do (de)compression in parallel.
1ec3b5fe6eec78 Barry Song 2020-12-14 1257 */
1ec3b5fe6eec78 Barry Song 2020-12-14 1258 ret = crypto_wait_req(crypto_acomp_compress(acomp_ctx->req), &acomp_ctx->wait);
1ec3b5fe6eec78 Barry Song 2020-12-14 1259 dlen = acomp_ctx->req->dlen;
1ec3b5fe6eec78 Barry Song 2020-12-14 1260
2b2811178e8555 Seth Jennings 2013-07-10 1261 if (ret) {
2b2811178e8555 Seth Jennings 2013-07-10 1262 ret = -EINVAL;
f1c54846ee4504 Dan Streetman 2015-09-09 1263 goto put_dstmem;
2b2811178e8555 Seth Jennings 2013-07-10 1264 }
2b2811178e8555 Seth Jennings 2013-07-10 1265
2b2811178e8555 Seth Jennings 2013-07-10 1266 /* store */
9c3760eb80880f Yu Zhao 2018-01-31 1267 hlen = zpool_evictable(entry->pool->zpool) ? sizeof(zhdr) : 0;
d2fcd82bb83aab Hui Zhu 2019-09-23 1268 gfp = __GFP_NORETRY | __GFP_NOWARN | __GFP_KSWAPD_RECLAIM;
d2fcd82bb83aab Hui Zhu 2019-09-23 1269 if (zpool_malloc_support_movable(entry->pool->zpool))
d2fcd82bb83aab Hui Zhu 2019-09-23 1270 gfp |= __GFP_HIGHMEM | __GFP_MOVABLE;
d2fcd82bb83aab Hui Zhu 2019-09-23 1271 ret = zpool_malloc(entry->pool->zpool, hlen + dlen, gfp, &handle);
2b2811178e8555 Seth Jennings 2013-07-10 1272 if (ret == -ENOSPC) {
2b2811178e8555 Seth Jennings 2013-07-10 1273 zswap_reject_compress_poor++;
f1c54846ee4504 Dan Streetman 2015-09-09 1274 goto put_dstmem;
2b2811178e8555 Seth Jennings 2013-07-10 1275 }
2b2811178e8555 Seth Jennings 2013-07-10 1276 if (ret) {
2b2811178e8555 Seth Jennings 2013-07-10 1277 zswap_reject_alloc_fail++;
f1c54846ee4504 Dan Streetman 2015-09-09 1278 goto put_dstmem;
2b2811178e8555 Seth Jennings 2013-07-10 1279 }
ae34af1f11d0a6 Miaohe Lin 2021-06-30 1280 buf = zpool_map_handle(entry->pool->zpool, handle, ZPOOL_MM_WO);
9c3760eb80880f Yu Zhao 2018-01-31 1281 memcpy(buf, &zhdr, hlen);
9c3760eb80880f Yu Zhao 2018-01-31 1282 memcpy(buf + hlen, dst, dlen);
f1c54846ee4504 Dan Streetman 2015-09-09 1283 zpool_unmap_handle(entry->pool->zpool, handle);
1ec3b5fe6eec78 Barry Song 2020-12-14 1284 mutex_unlock(acomp_ctx->mutex);
2b2811178e8555 Seth Jennings 2013-07-10 1285
2b2811178e8555 Seth Jennings 2013-07-10 1286 /* populate entry */
2b2811178e8555 Seth Jennings 2013-07-10 1287 entry->offset = offset;
2b2811178e8555 Seth Jennings 2013-07-10 1288 entry->handle = handle;
2b2811178e8555 Seth Jennings 2013-07-10 1289 entry->length = dlen;
2b2811178e8555 Seth Jennings 2013-07-10 1290
a85f878b443f8d Srividya Desireddy 2018-01-31 1291 insert_entry:
f4840ccfca25db Johannes Weiner 2022-05-19 1292 entry->objcg = objcg;
f4840ccfca25db Johannes Weiner 2022-05-19 1293 if (objcg) {
f4840ccfca25db Johannes Weiner 2022-05-19 1294 obj_cgroup_charge_zswap(objcg, entry->length);
f4840ccfca25db Johannes Weiner 2022-05-19 1295 /* Account before objcg ref is moved to tree */
f4840ccfca25db Johannes Weiner 2022-05-19 1296 count_objcg_event(objcg, ZSWPOUT);
f4840ccfca25db Johannes Weiner 2022-05-19 1297 }
f4840ccfca25db Johannes Weiner 2022-05-19 1298
2b2811178e8555 Seth Jennings 2013-07-10 1299 /* map */
2b2811178e8555 Seth Jennings 2013-07-10 1300 spin_lock(&tree->lock);
2b2811178e8555 Seth Jennings 2013-07-10 1301 do {
2b2811178e8555 Seth Jennings 2013-07-10 1302 ret = zswap_rb_insert(&tree->rbroot, entry, &dupentry);
2b2811178e8555 Seth Jennings 2013-07-10 1303 if (ret == -EEXIST) {
2b2811178e8555 Seth Jennings 2013-07-10 1304 zswap_duplicate_entry++;
2b2811178e8555 Seth Jennings 2013-07-10 1305 /* remove from rbtree */
0ab0abcf511545 Weijie Yang 2013-11-12 1306 zswap_rb_erase(&tree->rbroot, dupentry);
0ab0abcf511545 Weijie Yang 2013-11-12 1307 zswap_entry_put(tree, dupentry);
2b2811178e8555 Seth Jennings 2013-07-10 1308 }
2b2811178e8555 Seth Jennings 2013-07-10 1309 } while (ret == -EEXIST);
2b2811178e8555 Seth Jennings 2013-07-10 1310 spin_unlock(&tree->lock);
2b2811178e8555 Seth Jennings 2013-07-10 1311
2b2811178e8555 Seth Jennings 2013-07-10 1312 /* update stats */
2b2811178e8555 Seth Jennings 2013-07-10 1313 atomic_inc(&zswap_stored_pages);
f1c54846ee4504 Dan Streetman 2015-09-09 1314 zswap_update_total_size();
f6498b776d280b Johannes Weiner 2022-05-19 1315 count_vm_event(ZSWPOUT);
2b2811178e8555 Seth Jennings 2013-07-10 1316
2b2811178e8555 Seth Jennings 2013-07-10 1317 return 0;
2b2811178e8555 Seth Jennings 2013-07-10 1318
f1c54846ee4504 Dan Streetman 2015-09-09 1319 put_dstmem:
1ec3b5fe6eec78 Barry Song 2020-12-14 1320 mutex_unlock(acomp_ctx->mutex);
f1c54846ee4504 Dan Streetman 2015-09-09 1321 zswap_pool_put(entry->pool);
f1c54846ee4504 Dan Streetman 2015-09-09 1322 freepage:
2b2811178e8555 Seth Jennings 2013-07-10 1323 zswap_entry_cache_free(entry);
2b2811178e8555 Seth Jennings 2013-07-10 1324 reject:
f4840ccfca25db Johannes Weiner 2022-05-19 1325 if (objcg)
f4840ccfca25db Johannes Weiner 2022-05-19 1326 obj_cgroup_put(objcg);
2b2811178e8555 Seth Jennings 2013-07-10 1327 return ret;
f4840ccfca25db Johannes Weiner 2022-05-19 1328
f4840ccfca25db Johannes Weiner 2022-05-19 1329 shrink:
f4840ccfca25db Johannes Weiner 2022-05-19 1330 pool = zswap_pool_last_get();
f4840ccfca25db Johannes Weiner 2022-05-19 1331 if (pool)
f4840ccfca25db Johannes Weiner 2022-05-19 1332 queue_work(shrink_wq, &pool->shrink_work);
f4840ccfca25db Johannes Weiner 2022-05-19 1333 ret = -ENOMEM;
f4840ccfca25db Johannes Weiner 2022-05-19 1334 goto reject;
2b2811178e8555 Seth Jennings 2013-07-10 1335 }
2b2811178e8555 Seth Jennings 2013-07-10 1336
:::::: The code at line 1183 was first introduced by commit
:::::: f4840ccfca25db225b3371a8f7b5770febee87c5 zswap: memcg accounting
:::::: TO: Johannes Weiner <hannes@cmpxchg.org>
:::::: CC: akpm <akpm@linux-foundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2023-06-01 14:34 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=202306012152.o4FL7Y6J-lkp@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=linux-mm@kvack.org \
--cc=llvm@lists.linux.dev \
--cc=nphamcs@gmail.com \
--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.