From: "Simmons, James A." <simmonsja@ornl.gov>
To: "'Dan Carpenter'" <dan.carpenter@oracle.com>
Cc: "'Julia Lawall'" <Julia.Lawall@lip6.fr>,
Oleg Drokin <oleg.drokin@intel.com>,
"devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"kernel-janitors@vger.kernel.org"
<kernel-janitors@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"HPDD-discuss@lists.01.org" <HPDD-discuss@ml01.01.org>
Subject: RE: [HPDD-discuss] [PATCH 2/11] Staging: lustre: fld: Use kzalloc and kfree
Date: Fri, 1 May 2015 20:36:05 +0000 [thread overview]
Message-ID: <9f81478864bc422c9a59cddbaa723052@EXCHCS32.ornl.gov> (raw)
In-Reply-To: <20150501200221.GF14154@mwanda>
>We are hopefully going to get rid of OBD_ALLOC_LARGE() as well, though.
>
>It's simple enough to write a function:
>
>void *obd_zalloc(size_t size)
>{
> if (size > 4 * PAGE_CACHE_SIZE)
> return vzalloc(size);
> else
> return kmalloc(size, GFP_NOFS);
>}
>
>Except, huh? Shouldn't we be using GFP_NOFS for the vzalloc() side?
>There was some discussion of that GFP_NOFS was a bit buggy back in 2010
>(http://marc.info/?l=linux-mm&m=128942194520631&w=4) but the current
>lustre code doesn't try to pass GFP_NOFS.
The version in the upstream client is out of date. The current macro in the Intel master
Branch is:
#define __OBD_VMALLOC_VERBOSE(ptr, cptab, cpt, size) \
do { \
(ptr) = cptab == NULL ? \
__vmalloc(size, GFP_NOFS | __GFP_HIGHMEM | __GFP_ZERO, \
PAGE_KERNEL) : \
cfs_cpt_vzalloc(cptab, cpt, size); \
if (unlikely((ptr) == NULL)) { \
CERROR("vmalloc of '" #ptr "' (%d bytes) failed\n", \
(int)(size)); \
CERROR(LPU64" total bytes allocated by Lustre, %d by LNET\n", \
obd_memory_sum(), atomic_read(&libcfs_kmemory)); \
} else { \
OBD_ALLOC_POST(ptr, size, "vmalloced"); \
} \
} while(0)
>Then it's simple enough to change OBD_FREE_LARGE() to kvfree().
>
>Also it's weird that only the lustre people have thought of this trick
>to allocate big chunks of RAM and no one else has. What would happen if
>we just change vmalloc() so it worked this way for everyone?
Do we really want to encourage vmalloc usages?
next prev parent reply other threads:[~2015-05-01 20:36 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-01 15:51 [PATCH 0/11] Use kzalloc and kfree Julia Lawall
2015-05-01 15:51 ` [PATCH 11/11] staging: lustre: ptlrpc: " Julia Lawall
2015-05-01 15:51 ` [PATCH 10/11] staging: lustre: osc: " Julia Lawall
2015-05-01 15:51 ` [PATCH 9/11] staging: lustre: obdecho: " Julia Lawall
2015-05-01 15:51 ` [PATCH 8/11] staging: lustre: obdclass: " Julia Lawall
2015-05-01 18:30 ` walter harms
2015-05-01 18:42 ` Julia Lawall
2015-05-01 15:51 ` [PATCH 7/11] staging: lustre: mgc: " Julia Lawall
2015-05-01 15:51 ` [PATCH 6/11] staging: lustre: mdc: " Julia Lawall
2015-05-01 15:51 ` [PATCH 5/11] staging: lustre: lmv: " Julia Lawall
2015-05-01 15:51 ` [PATCH 4/11] staging: lustre: ldlm: " Julia Lawall
2015-05-01 15:51 ` [PATCH 3/11] staging: lustre: lclient: " Julia Lawall
2015-05-01 15:51 ` [PATCH 2/11] Staging: lustre: fld: " Julia Lawall
2015-05-01 17:38 ` [HPDD-discuss] " Simmons, James A.
2015-05-01 17:48 ` Julia Lawall
2015-05-01 18:49 ` Drokin, Oleg
2015-05-01 20:18 ` Simmons, James A.
2015-05-01 20:47 ` Greg Kroah-Hartman
2015-05-01 22:57 ` Simmons, James A.
2015-05-01 20:49 ` Drokin, Oleg
2015-05-01 22:59 ` Simmons, James A.
2015-05-01 18:05 ` Greg Kroah-Hartman
2015-05-01 20:02 ` Dan Carpenter
2015-05-01 20:12 ` Drokin, Oleg
2015-05-01 20:36 ` Simmons, James A. [this message]
2015-05-01 20:49 ` Greg Kroah-Hartman
2015-05-01 20:52 ` Drokin, Oleg
2015-05-01 20:58 ` Greg Kroah-Hartman
2015-05-01 21:13 ` Drokin, Oleg
2015-05-02 6:02 ` Julia Lawall
2015-05-02 8:14 ` Dan Carpenter
2015-05-02 9:05 ` Julia Lawall
2015-05-03 3:12 ` Drokin, Oleg
2015-05-01 15:51 ` [PATCH 1/11] staging: lustre: fid: " Julia Lawall
2015-05-03 18:17 ` [PATCH 0/11] " Greg Kroah-Hartman
2015-05-03 18:39 ` Julia Lawall
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=9f81478864bc422c9a59cddbaa723052@EXCHCS32.ornl.gov \
--to=simmonsja@ornl.gov \
--cc=HPDD-discuss@ml01.01.org \
--cc=Julia.Lawall@lip6.fr \
--cc=dan.carpenter@oracle.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=kernel-janitors@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg.drokin@intel.com \
/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).