* [PATCH v5 24/37] rust: Add a rust helper for krealloc()
[not found] <20240306182440.2003814-1-surenb@google.com>
@ 2024-03-06 18:24 ` Suren Baghdasaryan
2024-03-08 15:23 ` Miguel Ojeda
0 siblings, 1 reply; 2+ messages in thread
From: Suren Baghdasaryan @ 2024-03-06 18:24 UTC (permalink / raw)
To: akpm
Cc: kent.overstreet, mhocko, vbabka, hannes, roman.gushchin, mgorman,
dave, willy, liam.howlett, penguin-kernel, corbet, void, peterz,
juri.lelli, catalin.marinas, will, arnd, tglx, mingo, dave.hansen,
x86, peterx, david, axboe, mcgrof, masahiroy, nathan, dennis,
jhubbard, tj, muchun.song, rppt, paulmck, pasha.tatashin,
yosryahmed, yuzhao, dhowells, hughd, andreyknvl, keescook,
ndesaulniers, vvvvvv, gregkh, ebiggers, ytcoode, vincent.guittot,
dietmar.eggemann, rostedt, bsegall, bristot, vschneid, cl,
penberg, iamjoonsoo.kim, 42.hyeyoo, glider, elver, dvyukov,
shakeelb, songmuchun, jbaron, aliceryhl, rientjes, minchan,
kaleshsingh, surenb, kernel-team, linux-doc, linux-kernel, iommu,
linux-arch, linux-fsdevel, linux-mm, linux-modules, kasan-dev,
cgroups, Miguel Ojeda, Alex Gaynor, Wedson Almeida Filho,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, rust-for-linux
From: Kent Overstreet <kent.overstreet@linux.dev>
Memory allocation profiling is turning krealloc() into a nontrivial
macro - so for now, we need a helper for it.
Until we have proper support on the rust side for memory allocation
profiling this does mean that all Rust allocations will be accounted to
the helper.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Cc: Miguel Ojeda <ojeda@kernel.org>
Cc: Alex Gaynor <alex.gaynor@gmail.com>
Cc: Wedson Almeida Filho <wedsonaf@gmail.com>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Gary Guo <gary@garyguo.net>
Cc: "Björn Roy Baron" <bjorn3_gh@protonmail.com>
Cc: Benno Lossin <benno.lossin@proton.me>
Cc: Andreas Hindborg <a.hindborg@samsung.com>
Cc: Alice Ryhl <aliceryhl@google.com>
Cc: rust-for-linux@vger.kernel.org
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
---
rust/helpers.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/rust/helpers.c b/rust/helpers.c
index 70e59efd92bc..ad62eaf604b3 100644
--- a/rust/helpers.c
+++ b/rust/helpers.c
@@ -28,6 +28,7 @@
#include <linux/mutex.h>
#include <linux/refcount.h>
#include <linux/sched/signal.h>
+#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/wait.h>
#include <linux/workqueue.h>
@@ -157,6 +158,13 @@ void rust_helper_init_work_with_key(struct work_struct *work, work_func_t func,
}
EXPORT_SYMBOL_GPL(rust_helper_init_work_with_key);
+void * __must_check rust_helper_krealloc(const void *objp, size_t new_size,
+ gfp_t flags) __realloc_size(2)
+{
+ return krealloc(objp, new_size, flags);
+}
+EXPORT_SYMBOL_GPL(rust_helper_krealloc);
+
/*
* `bindgen` binds the C `size_t` type as the Rust `usize` type, so we can
* use it in contexts where Rust expects a `usize` like slice (array) indices.
--
2.44.0.278.ge034bb2e1d-goog
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v5 24/37] rust: Add a rust helper for krealloc()
2024-03-06 18:24 ` [PATCH v5 24/37] rust: Add a rust helper for krealloc() Suren Baghdasaryan
@ 2024-03-08 15:23 ` Miguel Ojeda
0 siblings, 0 replies; 2+ messages in thread
From: Miguel Ojeda @ 2024-03-08 15:23 UTC (permalink / raw)
To: Suren Baghdasaryan
Cc: akpm, kent.overstreet, mhocko, vbabka, hannes, roman.gushchin,
mgorman, dave, willy, liam.howlett, penguin-kernel, corbet, void,
peterz, juri.lelli, catalin.marinas, will, arnd, tglx, mingo,
dave.hansen, x86, peterx, david, axboe, mcgrof, masahiroy, nathan,
dennis, jhubbard, tj, muchun.song, rppt, paulmck, pasha.tatashin,
yosryahmed, yuzhao, dhowells, hughd, andreyknvl, keescook,
ndesaulniers, vvvvvv, gregkh, ebiggers, ytcoode, vincent.guittot,
dietmar.eggemann, rostedt, bsegall, bristot, vschneid, cl,
penberg, iamjoonsoo.kim, 42.hyeyoo, glider, elver, dvyukov,
shakeelb, songmuchun, jbaron, aliceryhl, rientjes, minchan,
kaleshsingh, kernel-team, linux-doc, linux-kernel, iommu,
linux-arch, linux-fsdevel, linux-mm, linux-modules, kasan-dev,
cgroups, Miguel Ojeda, Alex Gaynor, Wedson Almeida Filho,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, rust-for-linux
On Wed, Mar 6, 2024 at 7:26 PM Suren Baghdasaryan <surenb@google.com> wrote:
>
> +void * __must_check rust_helper_krealloc(const void *objp, size_t new_size,
> + gfp_t flags) __realloc_size(2)
The `__realloc_size(2)` should be placed earlier, i.e. this triggers:
rust/helpers.c:162:20: error: GCC does not allow '__alloc_size__'
attribute in this position on a function definition [-Wgcc-compat]
With that fixed:
Acked-by: Miguel Ojeda <ojeda@kernel.org>
Cheers,
Miguel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-03-08 15:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20240306182440.2003814-1-surenb@google.com>
2024-03-06 18:24 ` [PATCH v5 24/37] rust: Add a rust helper for krealloc() Suren Baghdasaryan
2024-03-08 15:23 ` Miguel Ojeda
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox