summaryrefslogtreecommitdiff
path: root/fs/select.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2021-09-07 11:26:23 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2021-09-07 11:26:23 -0700
commit0bcfe68b876748762557797a940d0a82de700629 (patch)
tree3e977aa499ed186995f09e5756148069d6bc55a6 /fs/select.c
parent3754707bcc3e190e5dadc978d172b61e809cb3bd (diff)
downloadlwn-0bcfe68b876748762557797a940d0a82de700629.tar.gz
lwn-0bcfe68b876748762557797a940d0a82de700629.zip
Revert "memcg: enable accounting for pollfd and select bits arrays"
This reverts commit b655843444152c0a14b749308e4cb35d91cbcf0b. Just like with the memcg lock accounting, the kernel test robot reports a sizeable performance regression for this commit, and while it clearly does the rigth thing in theory, we'll need to look at just how to avoid or minimize the performance overhead of the memcg accounting. People already have suggestions on how to do that, but it's "future work". So revert it for now. [ Note: the first link below is for this same commit but a different commit ID, because it's the kernel test robot ended up noticing it in Andrew Morton's patch queue ] Link: https://lore.kernel.org/lkml/20210905132732.GC15026@xsang-OptiPlex-9020/ Link: https://lore.kernel.org/lkml/20210907150757.GE17617@xsang-OptiPlex-9020/ Acked-by: Jens Axboe <axboe@kernel.dk> Acked-by: Shakeel Butt <shakeelb@google.com> Acked-by: Roman Gushchin <guro@fb.com> Cc: Tejun Heo <tj@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/select.c')
-rw-r--r--fs/select.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/select.c b/fs/select.c
index e83e563a351d..945896d0ac9e 100644
--- a/fs/select.c
+++ b/fs/select.c
@@ -655,7 +655,7 @@ int core_sys_select(int n, fd_set __user *inp, fd_set __user *outp,
goto out_nofds;
alloc_size = 6 * size;
- bits = kvmalloc(alloc_size, GFP_KERNEL_ACCOUNT);
+ bits = kvmalloc(alloc_size, GFP_KERNEL);
if (!bits)
goto out_nofds;
}
@@ -1000,7 +1000,7 @@ static int do_sys_poll(struct pollfd __user *ufds, unsigned int nfds,
len = min(todo, POLLFD_PER_PAGE);
walk = walk->next = kmalloc(struct_size(walk, entries, len),
- GFP_KERNEL_ACCOUNT);
+ GFP_KERNEL);
if (!walk) {
err = -ENOMEM;
goto out_fds;