From: Joe Perches <joe@perches.com>
To: Markus Elfring <Markus.Elfring@web.de>,
Namjae Jeon <namjae.jeon@samsung.com>,
linux-fsdevel@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, "Christoph Hellwig" <hch@lst.de>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Sungjong Seo" <sj1557.seo@samsung.com>,
"Valdis Klētnieks" <valdis.kletnieks@vt.edu>,
linkinjeon@gmail.com
Subject: Re: [PATCH v8 10/13] exfat: add nls operations
Date: Tue, 31 Dec 2019 10:01:36 -0800 [thread overview]
Message-ID: <a6911ca13419af48d7170e4426cd23f22a2824f5.camel@perches.com> (raw)
In-Reply-To: <5b0febd5-642b-83f2-7d81-7a1cbb302e3c@web.de>
On Tue, 2019-12-31 at 15:23 +0100, Markus Elfring wrote:
> …
> > +++ b/fs/exfat/nls.c
> …
> > +int exfat_nls_cmp_uniname(struct super_block *sb, unsigned short *a,
> > + unsigned short *b)
> > +{
> > + int i;
> > +
> > + for (i = 0; i < MAX_NAME_LENGTH; i++, a++, b++) {
> > + if (exfat_nls_upper(sb, *a) != exfat_nls_upper(sb, *b))
>
> Can it matter to compare run time characteristics with the following
> code variant?
>
> + for (i = 0; i < MAX_NAME_LENGTH; i++) {
> + if (exfat_nls_upper(sb, a[i]) != exfat_nls_upper(sb, b[i]))
Markus, try comparing the object code produced by the compiler first,
it's likely identical.
If this is actually a performance sensitive path, it might improve
runtime by having 2 code paths to avoid the testing of
sbi->options.case_sensitive for each u16 value in the array.
Something like: (uncompiled, untested, written in email client)
static inline
unsigned short exfat_sbi_upper(struct exfat_sb_info *sbi, unsigned short a)
{
if (sbi->vol_utbl[a])
return sbi->vol_utbl[a];
return a;
}
int exfat_nls_cmp_uniname(struct super_block *sb,
unsigned short *a,
unsigned short *b)
{
int i;
struct exfat_sb_info *sbi = EXFAT_SB(sb);
if (!sbi->options.case_sensitive) {
for (i = 0; i < MAX_NAME_LENGTH; i++, a++, b++) {
if (exfat_sbi_upper(sbi, *a) != exfat_sbi_upper(sbi, *b))
return 1;
if (*a == 0x0)
return 0;
}
} else {
for (i = 0; i < MAX_NAME_LENGTH; i++, a++, b++) {
if (*a != *b)
return 1;
if (*a == 0x0)
return 0;
}
}
return 0;
}
next prev parent reply other threads:[~2019-12-31 18:04 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20191220062731epcas1p475b8da9288b08c87e474a0c4e88ce219@epcas1p4.samsung.com>
2019-12-20 6:24 ` [PATCH v8 00/13] add the latest exfat driver Namjae Jeon
[not found] ` <CGME20191220062732epcas1p17f3b1066fb4d6496559f349f950e1751@epcas1p1.samsung.com>
2019-12-20 6:24 ` [PATCH v8 01/13] exfat: add in-memory and on-disk structures and headers Namjae Jeon
2019-12-29 14:11 ` Pali Rohár
2019-12-31 13:46 ` Namjae Jeon
2020-01-02 11:06 ` Pali Rohár
2020-01-02 11:11 ` Namjae Jeon
2019-12-31 13:25 ` Markus Elfring
2019-12-31 14:05 ` Markus Elfring
[not found] ` <CGME20191220062733epcas1p31665a3ae968ab8c70d91a3cddf529e73@epcas1p3.samsung.com>
2019-12-20 6:24 ` [PATCH v8 02/13] exfat: add super block operations Namjae Jeon
2019-12-29 13:40 ` Pali Rohár
2020-01-02 6:06 ` Namjae Jeon
2020-01-02 8:30 ` Pali Rohár
2020-01-02 13:13 ` Namjae Jeon
2020-01-02 13:16 ` Pali Rohár
2020-01-02 13:41 ` Namjae Jeon
2020-01-02 14:13 ` Pali Rohár
2019-12-29 13:55 ` Pali Rohár
2019-12-31 13:32 ` Namjae Jeon
2020-01-08 19:55 ` Arnd Bergmann
2020-01-09 23:36 ` Namjae Jeon
[not found] ` <CGME20191220062733epcas1p1afd7af6ca2bfbde3d9a883f55f4f3b60@epcas1p1.samsung.com>
2019-12-20 6:24 ` [PATCH v8 03/13] exfat: add inode operations Namjae Jeon
2019-12-29 14:15 ` Pali Rohár
2019-12-31 13:53 ` Namjae Jeon
[not found] ` <CGME20191220062734epcas1p4888919aeb168f55595fec24b624eacc6@epcas1p4.samsung.com>
2019-12-20 6:24 ` [PATCH v8 04/13] exfat: add directory operations Namjae Jeon
[not found] ` <CGME20191220062734epcas1p2ba4db24017a2eca92eeeedd101200a7f@epcas1p2.samsung.com>
2019-12-20 6:24 ` [PATCH v8 05/13] exfat: add file operations Namjae Jeon
[not found] ` <CGME20191220062735epcas1p4aaffe2759e136136fc42b9764b6eb68a@epcas1p4.samsung.com>
2019-12-20 6:24 ` [PATCH v8 06/13] exfat: add exfat entry operations Namjae Jeon
[not found] ` <CGME20191220062735epcas1p1a4b960f26a520d26b5cad7aebc7e91cb@epcas1p1.samsung.com>
2019-12-20 6:24 ` [PATCH v8 07/13] exfat: add bitmap operations Namjae Jeon
[not found] ` <CGME20191220062736epcas1p3c58bf86018ba9caef90b3a6476b4b925@epcas1p3.samsung.com>
2019-12-20 6:24 ` [PATCH v8 08/13] exfat: add exfat cache Namjae Jeon
2019-12-29 14:23 ` Pali Rohár
2019-12-31 13:52 ` Namjae Jeon
2020-01-02 10:19 ` [v8 " Markus Elfring
2020-01-08 18:08 ` Pali Rohár
2020-01-08 18:46 ` Christoph Hellwig
2020-01-08 19:01 ` Pali Rohár
[not found] ` <CGME20191220062737epcas1p3c0f9e408640148c9186b84efc6d6658b@epcas1p3.samsung.com>
2019-12-20 6:24 ` [PATCH v8 09/13] exfat: add misc operations Namjae Jeon
2019-12-29 14:00 ` Pali Rohár
2019-12-31 13:34 ` Namjae Jeon
[not found] ` <CGME20191220062737epcas1p436e6ecee04e4bee088d915f84b53c899@epcas1p4.samsung.com>
2019-12-20 6:24 ` [PATCH v8 10/13] exfat: add nls operations Namjae Jeon
2019-12-31 14:23 ` Markus Elfring
2019-12-31 18:01 ` Joe Perches [this message]
2020-01-02 9:56 ` Markus Elfring
[not found] ` <CGME20191220062738epcas1p2aa7a91f04263efc3d6d7200eb04c1296@epcas1p2.samsung.com>
2019-12-20 6:24 ` [PATCH v8 11/13] exfat: add Kconfig and Makefile Namjae Jeon
[not found] ` <CGME20191220062739epcas1p4fcda127a4b5a4e06bf53f7da4dbd045c@epcas1p4.samsung.com>
2019-12-20 6:24 ` [PATCH v8 12/13] exfat: add exfat in fs/Kconfig and fs/Makefile Namjae Jeon
2019-12-23 22:17 ` kbuild test robot
[not found] ` <CGME20191220062739epcas1p42f6096d78247630cfd02fc069ca072d3@epcas1p4.samsung.com>
2019-12-20 6:24 ` [PATCH v8 13/13] MAINTAINERS: add exfat filesystem Namjae Jeon
2019-12-31 13:00 ` [PATCH v8 00/13] add the latest exfat driver Markus Elfring
2019-12-31 15:14 ` Matthew Wilcox
2019-12-31 23:56 ` Namjae Jeon
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=a6911ca13419af48d7170e4426cd23f22a2824f5.camel@perches.com \
--to=joe@perches.com \
--cc=Markus.Elfring@web.de \
--cc=gregkh@linuxfoundation.org \
--cc=hch@lst.de \
--cc=linkinjeon@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=namjae.jeon@samsung.com \
--cc=sj1557.seo@samsung.com \
--cc=valdis.kletnieks@vt.edu \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).