Files
scoutfs/kmod/src
Zach Brown 4e8a088cc5 Don't use vmalloc in get/set xattr
Extended attribute values can be larger than a reasonable maximum size
for our btree items so we store xattrs in many items.  The first pass at
this code used vmalloc to make it relatively easy to work with a
contiguous buffer that was cut up into multiple items.

The problem, of course, is that vmalloc() is expensive.  Well, the
problem is that I always forget just how expensive it can be and use it
when I shouldn't.  We had loads on high cpu count machines that were
catastrophically cpu bound on all the contentious work that vmalloc does
to maintain a coherent global address space.

This removes the use of vmalloc and only allocates a small buffer for
the first compound item.  The later items directly reference regions of
value buffer rather than copying it to and from the large intermediate
vmalloced buffer.

Signed-off-by: Zach Brown <zab@versity.com>
2022-03-21 21:44:11 -07:00
..
2021-10-28 12:30:47 -07:00
2020-08-26 14:39:12 -07:00
2021-07-30 13:22:42 -07:00
2021-09-09 14:44:55 -07:00
2022-03-09 11:12:36 -08:00
2018-04-04 09:15:27 -05:00
2017-12-20 12:21:13 -08:00
2022-03-11 15:28:58 -08:00
2022-02-17 14:48:13 -08:00
2021-10-28 12:30:47 -07:00
2018-01-26 11:59:47 -08:00
2021-08-24 09:11:40 -07:00
2021-08-24 09:11:40 -07:00
2022-03-09 11:12:36 -08:00
2017-08-30 10:38:00 -07:00
2020-10-29 14:15:33 -07:00
2022-03-11 15:28:58 -08:00
2022-01-24 09:40:08 -08:00
2021-09-13 14:41:07 -07:00
2016-02-05 14:12:14 -08:00
2021-06-17 09:36:00 -07:00
2022-01-13 13:33:05 -06:00
2022-03-11 15:28:58 -08:00
2022-03-11 15:28:58 -08:00
2021-05-26 14:18:25 -07:00
2019-08-20 15:52:13 -07:00
2021-08-24 09:12:20 -07:00
2022-03-11 15:28:58 -08:00
2022-03-11 15:28:58 -08:00
2019-05-21 11:33:26 -07:00
2019-05-21 11:33:26 -07:00
2022-03-11 15:28:58 -08:00
2022-03-09 11:12:36 -08:00
2020-10-29 14:15:33 -07:00
2020-10-29 14:15:33 -07:00
2020-11-30 13:35:44 -08:00
2019-04-12 10:54:07 -07:00
2021-10-28 12:30:47 -07:00
2022-03-09 11:12:36 -08:00
2022-03-09 11:12:36 -08:00
2021-10-28 12:30:46 -07:00
2021-05-26 14:18:19 -07:00
2021-07-07 14:13:14 -07:00
2021-03-01 09:50:00 -08:00
2021-03-01 09:50:00 -08:00
2018-07-27 09:50:21 -07:00
2018-07-27 09:50:21 -07:00
2021-01-14 13:42:22 -08:00
2022-03-21 21:44:11 -07:00
2021-09-13 14:41:07 -07:00