From: Sean Christopherson <seanjc@google.com>
To: Ackerley Tng <ackerleytng@google.com>
Cc: yury.norov@gmail.com, andriy.shevchenko@linux.intel.com,
linux@rasmusvillemoes.dk, linux-kselftest@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] tools: Copy linux/align.h into tools/
Date: Thu, 22 Aug 2024 12:14:09 -0700 [thread overview]
Message-ID: <ZseOAY0OIrEIGG2h@google.com> (raw)
In-Reply-To: <20230227174654.94641-1-ackerleytng@google.com>
On Mon, Feb 27, 2023, Ackerley Tng wrote:
> This provides alignment macros for use in selftests.
>
> Also clean up tools/include/linux/bitmap.h's inline definition of
> IS_ALIGNED().
>
> Signed-off-by: Ackerley Tng <ackerleytng@google.com>
> ---
FYI, an almost-equivalent change went through net/, commit 10a04ff09bcc ("tools:
move alignment-related macros to new <linux/align.h>"). It doesn't have these
#define __ALIGN_MASK(x, mask) __ALIGN_KERNEL_MASK((x), (mask))
#define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a)))
#define PTR_ALIGN_DOWN(p, a) ((typeof(p))ALIGN_DOWN((unsigned long)(p), (a)))
but I'm pretty sure your use case doesn't need them, so you should be good to go.
And if not, it's easy enough to include a delta patch to add them.
> tools/include/linux/align.h | 15 +++++++++++++++
> tools/include/linux/bitmap.h | 2 +-
> 2 files changed, 16 insertions(+), 1 deletion(-)
> create mode 100644 tools/include/linux/align.h
>
> diff --git a/tools/include/linux/align.h b/tools/include/linux/align.h
> new file mode 100644
> index 000000000000..2b4acec7b95a
> --- /dev/null
> +++ b/tools/include/linux/align.h
> @@ -0,0 +1,15 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +#ifndef _LINUX_ALIGN_H
> +#define _LINUX_ALIGN_H
> +
> +#include <linux/const.h>
> +
> +/* @a is a power of 2 value */
> +#define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
> +#define ALIGN_DOWN(x, a) __ALIGN_KERNEL((x) - ((a) - 1), (a))
> +#define __ALIGN_MASK(x, mask) __ALIGN_KERNEL_MASK((x), (mask))
> +#define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a)))
> +#define PTR_ALIGN_DOWN(p, a) ((typeof(p))ALIGN_DOWN((unsigned long)(p), (a)))
> +#define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0)
> +
> +#endif /* _LINUX_ALIGN_H */
> diff --git a/tools/include/linux/bitmap.h b/tools/include/linux/bitmap.h
> index f3566ea0f932..8c6852dba04f 100644
> --- a/tools/include/linux/bitmap.h
> +++ b/tools/include/linux/bitmap.h
> @@ -3,6 +3,7 @@
> #define _TOOLS_LINUX_BITMAP_H
>
> #include <string.h>
> +#include <linux/align.h>
> #include <linux/bitops.h>
> #include <linux/find.h>
> #include <stdlib.h>
> @@ -126,7 +127,6 @@ static inline bool bitmap_and(unsigned long *dst, const unsigned long *src1,
> #define BITMAP_MEM_ALIGNMENT (8 * sizeof(unsigned long))
> #endif
> #define BITMAP_MEM_MASK (BITMAP_MEM_ALIGNMENT - 1)
> -#define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0)
>
> static inline bool bitmap_equal(const unsigned long *src1,
> const unsigned long *src2, unsigned int nbits)
> --
> 2.39.2.722.g9855ee24e9-goog
>
next prev parent reply other threads:[~2024-08-22 19:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-27 17:46 [PATCH] tools: Copy linux/align.h into tools/ Ackerley Tng
2023-03-24 23:34 ` Sean Christopherson
2024-08-22 19:14 ` Sean Christopherson [this message]
2024-08-22 20:43 ` Ackerley Tng
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=ZseOAY0OIrEIGG2h@google.com \
--to=seanjc@google.com \
--cc=ackerleytng@google.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=yury.norov@gmail.com \
/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.