From: Pasha Tatashin <pasha.tatashin@oracle.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: linux-mm@kvack.org, sparclinux@vger.kernel.org
Subject: Re: [PATCH v2 1/3] sparc64: NG4 memset 32 bits overflow
Date: Wed, 1 Mar 2017 09:51:02 -0500 [thread overview]
Message-ID: <70b638b0-8171-ffce-c0c5-bdcbae3c7c46@oracle.com> (raw)
In-Reply-To: <87h93dhmir.fsf@firstfloor.org>
On 2017-02-28 19:24, Andi Kleen wrote:
> Pavel Tatashin <pasha.tatashin@oracle.com> writes:
>>
>> While investigating how to improve initialization time of dentry_hashtable
>> which is 8G long on M6 ldom with 7T of main memory, I noticed that memset()
>
> I don't think a 8G dentry (or other kernel) hash table makes much
> sense. I would rather fix the hash table sizing algorithm to have some
> reasonable upper limit than to optimize the zeroing.
>
> I believe there are already boot options for it, but it would be better
> if it worked out of the box.
>
> -Andi
Hi Andi,
I agree that there should be some smarter cap for maximum hash table
sizes, and as you said it is already possible to set the limits via
parameters. I still think, however, this HASH_ZERO patch makes sense for
the following reasons:
- Even if the default maximum size is reduced the size of these tables
should still be tunable, as it really depends on the way machine is
used, and in it is possible that for some use patterns large hash tables
are necessary.
- Most of them are initialized before smp_init() call. The time from
bootloader to smp_init() should be minimized as parallelization is not
available yet. For example, LDOM domain on which I tested this patch
with few more optimization takes 8.5 seconds to get from grub to
smp_init() (760CPUs and 7T of memory), out of these 8.5 seconds 3.1s
(vs. 11.8s before this patch) are spent initializing these hash tables.
So, even 3.1s is still significant, and should be improved further by
changing the default maximums, but that should be a different patch.
Thank you,
Pasha
> --
> To unsubscribe from this list: send the line "unsubscribe sparclinux" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2017-03-01 14:51 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-01 0:14 [PATCH v2 0/3] Zeroing hash tables in allocator Pavel Tatashin
2017-03-01 0:14 ` [PATCH v2 1/3] sparc64: NG4 memset 32 bits overflow Pavel Tatashin
2017-03-01 0:24 ` Andi Kleen
2017-03-01 14:51 ` Pasha Tatashin [this message]
2017-03-01 15:19 ` Andi Kleen
2017-03-01 16:34 ` Pasha Tatashin
2017-03-01 17:31 ` Andi Kleen
2017-03-01 21:20 ` Pasha Tatashin
2017-03-01 23:10 ` Andi Kleen
2017-03-02 19:15 ` Pasha Tatashin
2017-03-02 0:12 ` Matthew Wilcox
2017-03-01 0:14 ` [PATCH v2 2/3] mm: Zeroing hash tables in allocator Pavel Tatashin
2017-03-01 0:14 ` [PATCH v2 3/3] mm: Updated callers to use HASH_ZERO flag Pavel Tatashin
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=70b638b0-8171-ffce-c0c5-bdcbae3c7c46@oracle.com \
--to=pasha.tatashin@oracle.com \
--cc=andi@firstfloor.org \
--cc=linux-mm@kvack.org \
--cc=sparclinux@vger.kernel.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 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).