Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751704AbbEARsb (ORCPT ); Fri, 1 May 2015 13:48:31 -0400 Received: from mta02.ornl.gov ([128.219.177.12]:24416 "EHLO mta02.ornl.gov" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751304AbbEARsX convert rfc822-to-8bit (ORCPT ); Fri, 1 May 2015 13:48:23 -0400 X-Greylist: delayed 572 seconds by postgrey-1.27 at vger.kernel.org; Fri, 01 May 2015 13:48:23 EDT X-SG: RELAYLIST X-IronPort-AV: E=Sophos;i="5.13,351,1427774400"; d="scan'208";a="79384135" From: "Simmons, James A." To: "'Julia Lawall'" , Oleg Drokin CC: "devel@driverdev.osuosl.org" , "Greg Kroah-Hartman" , "kernel-janitors@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "HPDD-discuss@lists.01.org" Subject: RE: [HPDD-discuss] [PATCH 2/11] Staging: lustre: fld: Use kzalloc and kfree Thread-Topic: [HPDD-discuss] [PATCH 2/11] Staging: lustre: fld: Use kzalloc and kfree Thread-Index: AQHQhCgWWP75KaM3eEe3xgqGEoXMnJ1nWriA Date: Fri, 1 May 2015 17:38:49 +0000 Message-ID: References: <1430495482-933-1-git-send-email-Julia.Lawall@lip6.fr> <1430495482-933-11-git-send-email-Julia.Lawall@lip6.fr> In-Reply-To: <1430495482-933-11-git-send-email-Julia.Lawall@lip6.fr> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [128.219.12.132] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1226 Lines: 22 >From: Julia Lawall > >Replace OBD_ALLOC, OBD_ALLOC_WAIT, OBD_ALLOC_PTR, and OBD_ALLOC_PTR_WAIT by >kalloc/kcalloc, and OBD_FREE and OBD_FREE_PTR by kfree. Nak: James Simmons A simple replace will not work. The OBD_ALLOC and OBD_FREE functions allocate memory anywhere from one page to 4MB in size. You can't use kmalloc for the 4MB allocations. Currently lustre uses a 4 page water mark to determine if we allocate using vmalloc. Even using kmalloc for 4 pages has shown high failure rates on some systems. It gets even more messy with 64K page systems like ppc64 boxes. Now I'm not suggesting to port the larger allocations to vmalloc either since issues have been founded with using vmalloc. For example when using large stripe count files the MDS rpc generated crosses the 4 page line and vmalloc is used. Using vmalloc caused a global spinlock to be taken which causes meta data operations to serialized on the MDS servers. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/