From: green@linuxhacker.ru
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
devel@driverdev.osuosl.org,
Andreas Dilger <andreas.dilger@intel.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Oleg Drokin <green@linuxhacker.ru>,
Oleg Drokin <oleg.drokin@intel.com>
Subject: [PATCH 14/19] staging/lustre: Remove memory allocation fault injection framework
Date: Tue, 15 Sep 2015 20:30:38 -0400 [thread overview]
Message-ID: <1442363443-3485158-15-git-send-email-green@linuxhacker.ru> (raw)
In-Reply-To: <1442363443-3485158-1-git-send-email-green@linuxhacker.ru>
From: Oleg Drokin <green@linuxhacker.ru>
Lustre memory allocation wrappers also included a fault injection
framework that's totally redundant, since in-kernel offering is
actually superior to what we had.
So let's remove it.
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
---
drivers/staging/lustre/lustre/include/obd_support.h | 20 +-------------------
drivers/staging/lustre/lustre/obdclass/class_obd.c | 21 ---------------------
2 files changed, 1 insertion(+), 40 deletions(-)
diff --git a/drivers/staging/lustre/lustre/include/obd_support.h b/drivers/staging/lustre/lustre/include/obd_support.h
index 8a3323c..3d92f19 100644
--- a/drivers/staging/lustre/lustre/include/obd_support.h
+++ b/drivers/staging/lustre/lustre/include/obd_support.h
@@ -66,13 +66,8 @@ extern unsigned int obd_sync_filter;
extern unsigned int obd_max_dirty_pages;
extern atomic_t obd_dirty_pages;
extern atomic_t obd_dirty_transit_pages;
-extern unsigned int obd_alloc_fail_rate;
extern char obd_jobid_var[];
-/* lvfs.c */
-int obd_alloc_fail(const void *ptr, const char *name, const char *type,
- size_t size, const char *file, int line);
-
/* Some hash init argument constants */
#define HASH_POOLS_BKT_BITS 3
#define HASH_POOLS_CUR_BITS 3
@@ -428,8 +423,6 @@ int obd_alloc_fail(const void *ptr, const char *name, const char *type,
#define OBD_FAIL_LPROC_REMOVE 0xB00
-#define OBD_FAIL_GENERAL_ALLOC 0xC00
-
#define OBD_FAIL_SEQ 0x1000
#define OBD_FAIL_SEQ_QUERY_NET 0x1001
#define OBD_FAIL_SEQ_EXHAUST 0x1002
@@ -545,12 +538,6 @@ __u64 obd_pages_max(void);
#endif /* !OBD_DEBUG_MEMUSAGE */
-#define HAS_FAIL_ALLOC_FLAG OBD_FAIL_CHECK(OBD_FAIL_GENERAL_ALLOC)
-
-#define OBD_ALLOC_FAIL_BITS 24
-#define OBD_ALLOC_FAIL_MASK ((1 << OBD_ALLOC_FAIL_BITS) - 1)
-#define OBD_ALLOC_FAIL_MULT (OBD_ALLOC_FAIL_MASK / 100)
-
#ifdef CONFIG_DEBUG_SLAB
#define POISON(ptr, c, s) do {} while (0)
#define POISON_PTR(ptr) ((void)0)
@@ -596,13 +583,8 @@ do { \
kmem_cache_alloc(slab, type | __GFP_ZERO) : \
kmem_cache_alloc_node(slab, type | __GFP_ZERO, \
cfs_cpt_spread_node(cptab, cpt)); \
- if (likely((ptr) != NULL && \
- (!HAS_FAIL_ALLOC_FLAG || obd_alloc_fail_rate == 0 || \
- !obd_alloc_fail(ptr, #ptr, "slab-", size, \
- __FILE__, __LINE__) || \
- OBD_SLAB_FREE_RTN0(ptr, slab)))) { \
+ if (likely(ptr)) \
OBD_ALLOC_POST(ptr, size, "slab-alloced"); \
- } \
} while (0)
#define OBD_SLAB_ALLOC_GFP(ptr, slab, size, flags) \
diff --git a/drivers/staging/lustre/lustre/obdclass/class_obd.c b/drivers/staging/lustre/lustre/obdclass/class_obd.c
index b151154..fb4138c 100644
--- a/drivers/staging/lustre/lustre/obdclass/class_obd.c
+++ b/drivers/staging/lustre/lustre/obdclass/class_obd.c
@@ -64,8 +64,6 @@ EXPORT_SYMBOL(obd_pages);
static DEFINE_SPINLOCK(obd_updatemax_lock);
/* The following are visible and mutable through /proc/sys/lustre/. */
-unsigned int obd_alloc_fail_rate;
-EXPORT_SYMBOL(obd_alloc_fail_rate);
unsigned int obd_debug_peer_on_timeout;
EXPORT_SYMBOL(obd_debug_peer_on_timeout);
unsigned int obd_dump_on_timeout;
@@ -132,25 +130,6 @@ int lustre_get_jobid(char *jobid)
}
EXPORT_SYMBOL(lustre_get_jobid);
-int obd_alloc_fail(const void *ptr, const char *name, const char *type,
- size_t size, const char *file, int line)
-{
- if (ptr == NULL ||
- (cfs_rand() & OBD_ALLOC_FAIL_MASK) < obd_alloc_fail_rate) {
- CERROR("%s%salloc of %s (%llu bytes) failed at %s:%d\n",
- ptr ? "force " : "", type, name, (__u64)size, file,
- line);
- CERROR("%llu total bytes and %llu total pages"
- " (%llu bytes) allocated by Lustre\n",
- obd_memory_sum(),
- obd_pages_sum() << PAGE_CACHE_SHIFT,
- obd_pages_sum());
- return 1;
- }
- return 0;
-}
-EXPORT_SYMBOL(obd_alloc_fail);
-
static inline void obd_data2conn(struct lustre_handle *conn,
struct obd_ioctl_data *data)
{
--
2.1.0
next prev parent reply other threads:[~2015-09-16 0:31 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-16 0:30 [PATCH 00/19] Lustre cleanups green
2015-09-16 0:30 ` [PATCH 01/19] staging/lustre: Remove OBD_CPT_ALLOC_LARGE green
2015-09-16 0:30 ` [PATCH 02/19] staging/lustre: Remove unused OBD_VMALLOC green
2015-09-16 0:30 ` [PATCH 03/19] staging/lustre: Remove unused OBD_CPT_ALLOC* macros green
2015-09-16 0:30 ` [PATCH 04/19] staging/lustre: Remove users of OBD_ALLOC/FREE_PTR lu_object.h green
2015-09-16 0:30 ` [PATCH 05/19] staging/lustre/llite: Get rid of OBD_ALLOC/FREE_PTR green
2015-09-16 0:30 ` [PATCH 06/19] staging/lustre/obdclass: replace OBD_ALLOC_GFP with kzalloc green
2015-09-16 0:30 ` [PATCH 07/19] staging/lustre: Remove references to OBD_ALLOC/FREE* in comments green
2015-09-16 0:30 ` [PATCH 08/19] staging/lustre/fld: Replace OBD_ALLOC_GFP with kzalloc green
2015-09-16 0:30 ` [PATCH 09/19] staging/lustre: Convert lustre_cfg_new/free to use kzalloc/kfree green
2015-09-16 0:30 ` [PATCH 10/19] staging/lustre/ptlrpc: Replace OBD_FREE_PTR with kfree green
2015-09-16 0:30 ` [PATCH 11/19] staging/lustre: Replace last users of OBD_ALLOC/FREE_LARGE green
2015-09-16 0:30 ` [PATCH 12/19] staging/lustre: Remove stray bit of userland utils code green
2015-09-16 0:30 ` [PATCH 13/19] staging/lustre: Remove unused OBD_ALLOC* and OBD_FREE macros green
2015-09-16 0:30 ` green [this message]
2015-09-16 0:30 ` [PATCH 15/19] staging/lustre: Remove lustre used memory tracking framework green
2015-09-16 0:30 ` [PATCH 16/19] staging/lustre: remove obd_memory stats counter green
2015-09-16 0:30 ` [PATCH 17/19] staging/lustre: Remove IS_SERVER and all users green
2015-09-16 5:35 ` Sudip Mukherjee
2015-09-16 15:08 ` Oleg Drokin
2015-09-16 0:30 ` [PATCH 18/19] staging/lustre: remove IS_MDS|IS_OST|IS_MGS defines and users green
2015-09-16 0:30 ` [PATCH 19/19] staging/lustre: Remove server defines from lustre_disk.h green
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=1442363443-3485158-15-git-send-email-green@linuxhacker.ru \
--to=green@linuxhacker.ru \
--cc=andreas.dilger@intel.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.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).