[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dd0c3528-9c01-12bc-3400-ca88060cb7cf@kernel.org>
Date: Tue, 23 Oct 2018 09:02:56 -0600
From: Shuah Khan <shuah@...nel.org>
To: Michal Hocko <mhocko@...nel.org>,
Uladzislau Rezki <urezki@...il.com>,
Kees Cook <keescook@...omium.org>
Cc: Matthew Wilcox <willy@...radead.org>,
Andrew Morton <akpm@...ux-foundation.org>, linux-mm@...ck.org,
LKML <linux-kernel@...r.kernel.org>,
Thomas Garnier <thgarnie@...gle.com>,
Oleksiy Avramchenko <oleksiy.avramchenko@...ymobile.com>,
Steven Rostedt <rostedt@...dmis.org>,
Joel Fernandes <joelaf@...gle.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...e.hu>, Tejun Heo <tj@...nel.org>,
Shuah Khan <shuah@...nel.org>
Subject: Re: [RFC PATCH 0/2] improve vmalloc allocation
Hi Michal,
On 10/23/2018 01:23 AM, Michal Hocko wrote:
> Hi Shuah,
>
> On Mon 22-10-18 18:52:53, Uladzislau Rezki wrote:
>> On Mon, Oct 22, 2018 at 02:51:42PM +0200, Michal Hocko wrote:
>>> Hi,
>>> I haven't read through the implementation yet but I have say that I
>>> really love this cover letter. It is clear on intetion, it covers design
>>> from high level enough to start discussion and provides a very nice
>>> testing coverage. Nice work!
>>>
>>> I also think that we need a better performing vmalloc implementation
>>> long term because of the increasing number of kvmalloc users.
>>>
>>> I just have two mostly workflow specific comments.
>>>
>>>> A test-suite patch you can find here, it is based on 4.18 kernel.
>>>> ftp://vps418301.ovh.net/incoming/0001-mm-vmalloc-stress-test-suite-v4.18.patch
>>>
>>> Can you fit this stress test into the standard self test machinery?
>>>
>> If you mean "tools/testing/selftests", then i can fit that as a kernel module.
>> But not all the tests i can trigger from kernel module, because 3 of 8 tests
>> use __vmalloc_node_range() function that is not marked as EXPORT_SYMBOL.
>
> Is there any way to conditionally export these internal symbols just for
> kselftests? Or is there any other standard way how to test internal
> functionality that is not exported to modules?
>
The way it can be handled is by adding a test module under lib. test_kmod,
test_sysctl, test_user_copy etc.
There is a corresponding test script e.g selftests/kmod/kmod.sh that loads
the module and runs tests.
Take a look at lib/test_overflow.c - It is running some vmalloc_node tests
test_overflow.c:DEFINE_TEST_ALLOC(vmalloc_node, vfree, 0, 0, 1);
test_overflow.c:DEFINE_TEST_ALLOC(kvmalloc_node, kvfree, 0, 1, 1);
test_overflow.c: err |= test_kvmalloc_node(NULL);
test_overflow.c: err |= test_vmalloc_node(NULL);
This module could be extended to tun these stress tests perhaps? I don't see a
selftests test script for test_overflow, one could be added.
Adding Kees Cook to the thread for input on test_overflow.
thanks,
-- Shuah
Powered by blists - more mailing lists