Message ID | 20240730185049.6244-4-dakr@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | (k)vrealloc (__GFP_ZERO) fixes | expand |
On Tue, 30 Jul 2024 20:49:43 +0200 Danilo Krummrich <dakr@kernel.org> wrote: > Properly document that if __GFP_ZERO logic is requested, callers must > ensure that, starting with the initial memory allocation, every > subsequent call to this API for the same memory allocation is flagged > with __GFP_ZERO. Otherwise, it is possible that __GFP_ZERO is not fully > honored by this API. I appear to have just seen this, in a separate mailing. Please, slow down. We have two months. Await reviewer feedback, spend time over those changelogs, value clarity and accuracy and completeness over hastiness. The only reason for rushing things is if a patch is disrupting ongoing testing of the linux-next tree.
On Tue, Jul 30, 2024 at 02:19:53PM -0700, Andrew Morton wrote: > On Tue, 30 Jul 2024 20:49:43 +0200 Danilo Krummrich <dakr@kernel.org> wrote: > > > Properly document that if __GFP_ZERO logic is requested, callers must > > ensure that, starting with the initial memory allocation, every > > subsequent call to this API for the same memory allocation is flagged > > with __GFP_ZERO. Otherwise, it is possible that __GFP_ZERO is not fully > > honored by this API. > > I appear to have just seen this, in a separate mailing. What you have seen in a separate mail is a similar patch for krealloc() [1]. This one is a fixup for vrealloc() from a previous submission you've applied to mm-unstable. > > Please, slow down. We have two months. Await reviewer feedback, spend > time over those changelogs, value clarity and accuracy and completeness > over hastiness. The only reason for rushing things is if a patch is > disrupting ongoing testing of the linux-next tree. There was a discussion in [2], which lead to this fixup series. In terms of changelogs this series is indeed a bit "lax", since I have recognized that you queue up fixup patches for changes that did already land in mm-unstable to be squashed into the original commits later on. [1] https://lore.kernel.org/linux-mm/20240730194214.31483-1-dakr@kernel.org/ [2] https://lore.kernel.org/linux-mm/20240722163111.4766-1-dakr@kernel.org/T/#m065a7f875b44dc945dd535c2b7168c3d77a98993
On 7/31/24 12:43 AM, Danilo Krummrich wrote: > On Tue, Jul 30, 2024 at 02:19:53PM -0700, Andrew Morton wrote: >> On Tue, 30 Jul 2024 20:49:43 +0200 Danilo Krummrich <dakr@kernel.org> wrote: >> >> > Properly document that if __GFP_ZERO logic is requested, callers must >> > ensure that, starting with the initial memory allocation, every >> > subsequent call to this API for the same memory allocation is flagged >> > with __GFP_ZERO. Otherwise, it is possible that __GFP_ZERO is not fully >> > honored by this API. >> >> I appear to have just seen this, in a separate mailing. > > What you have seen in a separate mail is a similar patch for krealloc() [1]. > This one is a fixup for vrealloc() from a previous submission you've applied to > mm-unstable. > >> >> Please, slow down. We have two months. Await reviewer feedback, spend >> time over those changelogs, value clarity and accuracy and completeness >> over hastiness. The only reason for rushing things is if a patch is >> disrupting ongoing testing of the linux-next tree. > > There was a discussion in [2], which lead to this fixup series. > > In terms of changelogs this series is indeed a bit "lax", since I have > recognized that you queue up fixup patches for changes that did already land in > mm-unstable to be squashed into the original commits later on. Some of the changes in the fixups would however ideally result in udpdates to the original changelogs in addition to squashing code. Also with 4 fixups to 2 original patches it might be IMHO better to squash on your side and resend as a full replacement. Perhaps also together with the other 2 patches about __GFP_ZERO for krealloc in a single series. As Andrew mentioned we are early in the rc phase to afford this. > [1] https://lore.kernel.org/linux-mm/20240730194214.31483-1-dakr@kernel.org/ > [2] https://lore.kernel.org/linux-mm/20240722163111.4766-1-dakr@kernel.org/T/#m065a7f875b44dc945dd535c2b7168c3d77a98993
On Wed, Jul 31, 2024 at 04:43:39PM +0200, Vlastimil Babka wrote: > On 7/31/24 12:43 AM, Danilo Krummrich wrote: > > On Tue, Jul 30, 2024 at 02:19:53PM -0700, Andrew Morton wrote: > >> On Tue, 30 Jul 2024 20:49:43 +0200 Danilo Krummrich <dakr@kernel.org> wrote: > >> > >> > Properly document that if __GFP_ZERO logic is requested, callers must > >> > ensure that, starting with the initial memory allocation, every > >> > subsequent call to this API for the same memory allocation is flagged > >> > with __GFP_ZERO. Otherwise, it is possible that __GFP_ZERO is not fully > >> > honored by this API. > >> > >> I appear to have just seen this, in a separate mailing. > > > > What you have seen in a separate mail is a similar patch for krealloc() [1]. > > This one is a fixup for vrealloc() from a previous submission you've applied to > > mm-unstable. > > > >> > >> Please, slow down. We have two months. Await reviewer feedback, spend > >> time over those changelogs, value clarity and accuracy and completeness > >> over hastiness. The only reason for rushing things is if a patch is > >> disrupting ongoing testing of the linux-next tree. > > > > There was a discussion in [2], which lead to this fixup series. > > > > In terms of changelogs this series is indeed a bit "lax", since I have > > recognized that you queue up fixup patches for changes that did already land in > > mm-unstable to be squashed into the original commits later on. > > Some of the changes in the fixups would however ideally result in udpdates > to the original changelogs in addition to squashing code. Also with 4 fixups > to 2 original patches it might be IMHO better to squash on your side and > resend as a full replacement. Perhaps also together with the other 2 patches > about __GFP_ZERO for krealloc in a single series. As Andrew mentioned we are > early in the rc phase to afford this. (JFYI, Andrew applied the fixups meanwhile.) I also don't think that they lead to updates of the commit messages. But yes, we can proceed with: (1) leave [1] as it is (with the fixups applied to mm-unstable already) and send v2 of [2] (2) send a v3 for [1] that also includes [2] (3) send a v3 of [1] and a separate v2 for [2] Just let me know what you prefer. I'm fine with either of those. :) [1] https://lore.kernel.org/linux-mm/20240722163111.4766-1-dakr@kernel.org/ [2] https://lore.kernel.org/linux-mm/20240730194214.31483-1-dakr@kernel.org/
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 6a2fef6378e4..48cc10dd06c0 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -4043,12 +4043,17 @@ EXPORT_SYMBOL(vzalloc_node_noprof); * @size: the size to reallocate * @flags: the flags for the page level allocator * - * The contents of the object pointed to are preserved up to the lesser of the - * new and old size (__GFP_ZERO flag is effectively ignored). - * * If @p is %NULL, vrealloc() behaves exactly like vmalloc(). If @size is 0 and * @p is not a %NULL pointer, the object pointed to is freed. * + * If __GFP_ZERO logic is requested, callers must ensure that, starting with the + * initial memory allocation, every subsequent call to this API for the same + * memory allocation is flagged with __GFP_ZERO. Otherwise, it is possible that + * __GFP_ZERO is not fully honored by this API. + * + * In any case, the contents of the object pointed to are preserved up to the + * lesser of the new and old sizes. + * * This function must not be called concurrently with itself or vfree() for the * same memory allocation. *
Properly document that if __GFP_ZERO logic is requested, callers must ensure that, starting with the initial memory allocation, every subsequent call to this API for the same memory allocation is flagged with __GFP_ZERO. Otherwise, it is possible that __GFP_ZERO is not fully honored by this API. Signed-off-by: Danilo Krummrich <dakr@kernel.org> --- mm/vmalloc.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)