From: Yury Norov <yury.norov@gmail.com>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Guenter Roeck <linux@roeck-us.net>,
Dennis Zhou <dennis@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Rasmus Villemoes <linux@rasmusvillemoes.dk>,
Alexey Klimov <aklimov@redhat.com>,
Kees Cook <keescook@chromium.org>,
Andy Whitcroft <apw@canonical.com>
Subject: Re: [PATCH v2 2/3] lib/find_bit: create find_first_zero_bit_le()
Date: Wed, 24 Aug 2022 13:03:45 -0700 [thread overview]
Message-ID: <YwaEIRWYumY1i1Ne@yury-laptop> (raw)
In-Reply-To: <YwZmsvlFR0cOxvnD@shell.armlinux.org.uk>
On Wed, Aug 24, 2022 at 06:58:10PM +0100, Russell King (Oracle) wrote:
> On Wed, Aug 24, 2022 at 06:37:45AM -0700, Yury Norov wrote:
> > Because there is a codebase that relies on existing types, mostly in
> > filesystem code. And those fs fixes would require 5 or 6 patches.
>
> Does that mean that are there filesystems that are passing pointers to
> the find_bit functions which are _not_ aligned to an "unsigned long" ?
Not necessarily. For example, I looked at ext2/4 code, and it looks like
they need void *bitmap, because they pass opaque pointer ->b_data from
struct buffer_head:
struct buffer_head {
...
char *b_data; /* pointer to data within the page */
...
}
So, quite probably, the pointer is aligned when it points to a bitmap.
But I have nothing to prove it, except standard anthropic principle
"otherwise people would complain".
In LE case, the find_bit_le() functions are aliased to find_bit(),
which is aligned, and somehow it works.
> If there are, we should _not_ convert 32-bit ARM to use word loads or
> use the generic code; unaligned loads are expensive on older ARM CPUs,
> at least not the code for older ARM CPUs.
I wonder, if there's an arch that throws an exception in case of unaligned
access. IIRC, ARM can do that, but this option is disabled in kernel.
Right?
I have a series that adds a runtime parameters checker for bitmaps.
I'll add a test for alignment and see how it works (not very soon).
Thanks,
Yury
next prev parent reply other threads:[~2022-08-24 20:03 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-24 1:26 [PATCH v2 0/4] lib: optimize find_bit() functions Yury Norov
2022-08-24 1:26 ` [PATCH v2 1/3] lib/find_bit: introduce FIND_FIRST_BIT() macro Yury Norov
2022-08-24 9:10 ` Andy Shevchenko
2022-08-24 13:19 ` Yury Norov
2022-08-24 14:18 ` David Laight
2022-08-24 17:45 ` Andy Shevchenko
2022-08-24 17:59 ` Linus Torvalds
2022-08-24 1:26 ` [PATCH v2 2/3] lib/find_bit: create find_first_zero_bit_le() Yury Norov
2022-08-24 9:22 ` Andy Shevchenko
2022-08-24 9:24 ` Andy Shevchenko
2022-08-24 13:37 ` Yury Norov
2022-08-24 17:50 ` Andy Shevchenko
2022-08-24 17:58 ` Russell King (Oracle)
2022-08-24 20:03 ` Yury Norov [this message]
2022-08-24 18:11 ` Linus Torvalds
2022-08-24 22:09 ` Yury Norov
2022-08-24 1:26 ` [PATCH v2 3/3] lib/find_bit: optimize find_next_bit() functions Yury Norov
2022-08-24 9:19 ` Andy Shevchenko
2022-08-24 13:53 ` Yury Norov
2022-08-24 17:54 ` Andy Shevchenko
2022-08-24 17:56 ` Andy Shevchenko
2022-08-24 21:27 ` Yury Norov
2022-08-24 9:00 ` [PATCH v2 0/4] lib: optimize find_bit() functions Andy Shevchenko
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=YwaEIRWYumY1i1Ne@yury-laptop \
--to=yury.norov@gmail.com \
--cc=aklimov@redhat.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=andy.shevchenko@gmail.com \
--cc=apw@canonical.com \
--cc=catalin.marinas@arm.com \
--cc=dennis@kernel.org \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linux@rasmusvillemoes.dk \
--cc=linux@roeck-us.net \
--cc=torvalds@linux-foundation.org \
/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.