From: "Dilger, Andreas" <andreas.dilger@intel.com>
To: Niranjan Dighe <niranjan.dighe@gmail.com>
Cc: "Drokin, Oleg" <oleg.drokin@intel.com>,
"Eremin, Dmitry" <dmitry.eremin@intel.com>,
James Simmons <jsimmons@infradead.org>,
"Mike Rapoport" <mike.rapoport@gmail.com>,
Patrick Boettcher <patrick.boettcher@posteo.de>,
Matthew Tyler <matt.tyler@flashics.com>,
"devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"lustre-devel@lists.lustre.org" <lustre-devel@lists.lustre.org>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
Subject: Re: [PATCH] staging: lustre/lustre/libcfs: Fix type mismatch reported by sparse
Date: Tue, 22 Dec 2015 22:04:03 +0000 [thread overview]
Message-ID: <D29F1436.123ED7%andreas.dilger@intel.com> (raw)
In-Reply-To: <CADCM0GL7M=-Em85rMa-L0mJK-TN=-fD1PWqvWRpYJkLXicZYUA@mail.gmail.com>
On 2015/12/22, 06:05, "Niranjan Dighe" <niranjan.dighe@gmail.com> wrote:
>On Tue, Dec 22, 2015 at 5:14 AM, Greg Kroah-Hartman
><gregkh@linuxfoundation.org> wrote:
>> On Wed, Dec 09, 2015 at 10:38:13PM +0530, Niranjan Dighe wrote:
>>> The third argument to function kportal_memhog_alloc is expected to
>>> be gfp_t whereas the actual argument was unsigned int. Fix this by
>>> explicitly typecasting to gfp_t
>>>
>>> Signed-off-by: Niranjan Dighe <niranjan.dighe@gmail.com>
>>> ---
>>> drivers/staging/lustre/lustre/libcfs/module.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/staging/lustre/lustre/libcfs/module.c
>>>b/drivers/staging/lustre/lustre/libcfs/module.c
>>> index 96d9d46..9c79f6e 100644
>>> --- a/drivers/staging/lustre/lustre/libcfs/module.c
>>> +++ b/drivers/staging/lustre/lustre/libcfs/module.c
>>> @@ -268,7 +268,7 @@ static int libcfs_ioctl_int(struct cfs_psdev_file
>>>*pfile, unsigned long cmd,
>>> /* XXX The ioc_flags is not GFP flags now, need
>>>to be fixed */
>>> err = kportal_memhog_alloc(pfile->private_data,
>>> data->ioc_count,
>>> - data->ioc_flags);
>>> + (__force gfp_t)data->ioc_flags);
>>
>> No, please fix the type to be correct properly, like the comment says
>> needs to be done.
>>
>> thanks,
>>
>> greg k-h
>
>Hello Greg,
>
>I could see that the ioc_flags member of the struct libcfs_ioctl_data
>is used as gfp_t only in the
>case of the ioctl IOC_LIBCFS_MEMHOG. I can think of following ways to
>correct it -
>
>1. Create a union that has 2 different types encapsulated, something like
>this -
> union {
> __u32 ioc_flags;
> gfp_t alloc_flags;
> }flags;
>Because, the ioc_flags seems to be used in different contexts at
>different places throughout the
>drivers/staging/lustre directory.
>
>2. Is it OK to hardcode the appropriate gfp_t flags for the
>IOC_LIBCFS_MEMHOG, as the userspace
>seems to be taking the decision about the page allocation
>zone/strategy, is this what is intended?
The memhog functionality is used to introduce memory pressure on a client
or server during operation to test error handling as well as memory
allocation deadlocks (e.g. GFP_KERNEL used where GFP_NOFS should be used).
There are other ways to do this in the kernel today, so all of the memhog
code could just be deleted I think.
This looks like kportal_memhog_alloc(), kportal_memhog_free(),
IOC_LIBCFS_MEMHOG, and struct libcfs_device_userstate could be removed.
Cheers, Andreas
next prev parent reply other threads:[~2015-12-22 22:04 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-09 17:08 [lustre-devel] [PATCH] staging: lustre/lustre/libcfs: Fix type mismatch reported by sparse Niranjan Dighe
2015-12-09 17:08 ` Niranjan Dighe
2015-12-21 23:44 ` Greg Kroah-Hartman
2015-12-22 13:05 ` Niranjan Dighe
2015-12-22 15:26 ` Greg Kroah-Hartman
2015-12-22 22:04 ` Dilger, Andreas [this message]
2015-12-23 6:27 ` Niranjan Dighe
2016-01-05 20:54 ` [lustre-devel] " Simmons, James A.
2016-01-05 15:43 ` Simmons, James A.
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=D29F1436.123ED7%andreas.dilger@intel.com \
--to=andreas.dilger@intel.com \
--cc=devel@driverdev.osuosl.org \
--cc=dmitry.eremin@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=jsimmons@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lustre-devel@lists.lustre.org \
--cc=matt.tyler@flashics.com \
--cc=mike.rapoport@gmail.com \
--cc=niranjan.dighe@gmail.com \
--cc=oleg.drokin@intel.com \
--cc=patrick.boettcher@posteo.de \
/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.