public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Pekka Enberg <penberg@gmail.com>
To: David Teigland <teigland@redhat.com>
Cc: akpm@osdl.org, linux-kernel@vger.kernel.org,
	linux-cluster@redhat.com, Pekka Enberg <penberg@cs.helsinki.fi>
Subject: Re: [PATCH 00/14] GFS
Date: Tue, 2 Aug 2005 13:16:53 +0300	[thread overview]
Message-ID: <84144f0205080203163cab015c@mail.gmail.com> (raw)
In-Reply-To: <20050802071828.GA11217@redhat.com>

Hi David,

On 8/2/05, David Teigland <teigland@redhat.com> wrote:
> Hi, GFS (Global File System) is a cluster file system that we'd like to
> see added to the kernel.  The 14 patches total about 900K so I won't send
> them to the list unless that's requested.  Comments and suggestions are
> welcome.  Thanks

> +#define kmalloc_nofail(size, flags) \
> +	gmalloc_nofail((size), (flags), __FILE__, __LINE__)

[snip]

> +void *gmalloc_nofail_real(unsigned int size, int flags, char *file,
> +			  unsigned int line)
> +{
> +	void *x;
> +	for (;;) {
> +		x = kmalloc(size, flags);
> +		if (x)
> +			return x;
> +		if (time_after_eq(jiffies, gfs2_malloc_warning + 5 * HZ)) {
> +			printk("GFS2: out of memory: %s, %u\n",
> +			       __FILE__, __LINE__);
> +			gfs2_malloc_warning = jiffies;
> +		}
> +		yield();

This does not belong in a filesystem. It also seems like a very bad
idea. What are you trying to do here? If you absolutely must not fail,
use __GFP_NOFAIL instead.

> +	}
> +}
> +
> +#if defined(GFS2_MEMORY_SIMPLE)
> +
> +atomic_t gfs2_memory_count;
> +
> +void gfs2_memory_add_i(void *data, char *file, unsigned int line)
> +{
> +	atomic_inc(&gfs2_memory_count);
> +}
> +
> +void gfs2_memory_rm_i(void *data, char *file, unsigned int line)
> +{
> +	if (data)
> +		atomic_dec(&gfs2_memory_count);
> +}
> +
> +void *gmalloc(unsigned int size, int flags, char *file, unsigned int line)
> +{
> +	void *data = kmalloc(size, flags);
> +	if (data)
> +		atomic_inc(&gfs2_memory_count);
> +	return data;
> +}
> +
> +void *gmalloc_nofail(unsigned int size, int flags, char *file,
> +		     unsigned int line)
> +{
> +	atomic_inc(&gfs2_memory_count);
> +	return gmalloc_nofail_real(size, flags, file, line);
> +}
> +
> +void gfree(void *data, char *file, unsigned int line)
> +{
> +	if (data) {
> +		atomic_dec(&gfs2_memory_count);
> +		kfree(data);
> +	}
> +}

-mm has memory leak detection patches and there are others floating
around. Please do not introduce yet another subsystem-specific debug allocator.

                                    Pekka

  parent reply	other threads:[~2005-08-02 10:16 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-02  7:18 [PATCH 00/14] GFS David Teigland
2005-08-02  7:45 ` Arjan van de Ven
2005-08-02 14:57   ` Jan Engelhardt
2005-08-02 15:02     ` Arjan van de Ven
2005-08-03  1:00       ` Hans Reiser
2005-08-03  4:07         ` Kyle Moffett
2005-08-03  6:37           ` Jan Engelhardt
2005-08-03  9:09         ` Arjan van de Ven
2005-08-03  3:56   ` David Teigland
2005-08-03  9:17     ` Arjan van de Ven
2005-08-03 10:08       ` David Teigland
2005-08-03 10:37     ` Lars Marowsky-Bree
2005-08-03 18:54       ` Mark Fasheh
2005-08-05  7:14   ` David Teigland
2005-08-05  7:27     ` [Linux-cluster] " Mike Christie
2005-08-05  7:30       ` Mike Christie
2005-08-05  7:34     ` Arjan van de Ven
2005-08-05  9:44       ` David Teigland
2005-08-05 10:07         ` Jörn Engel
2005-08-05 10:31           ` David Teigland
2005-08-05  8:28     ` Jan Engelhardt
2005-08-05  8:34       ` Arjan van de Ven
2005-08-08  6:26     ` David Teigland
2005-08-11  6:06   ` David Teigland
2005-08-11  6:55     ` Arjan van de Ven
2005-08-02 10:16 ` Pekka Enberg [this message]
2005-08-03  6:36   ` David Teigland
2005-08-08 14:14     ` GFS Pekka J Enberg
2005-08-08 18:32       ` GFS Zach Brown
2005-08-09 14:49         ` GFS Pekka Enberg
2005-08-09 17:17           ` GFS Zach Brown
2005-08-09 18:35             ` GFS Pekka J Enberg
2005-08-10  4:48             ` GFS Pekka J Enberg
2005-08-10  7:21           ` GFS Christoph Hellwig
2005-08-10  7:31             ` GFS Pekka J Enberg
2005-08-10 16:26               ` GFS Mark Fasheh
2005-08-10 16:57                 ` GFS Pekka J Enberg
2005-08-10 18:21                   ` GFS Mark Fasheh
2005-08-10 20:18                     ` GFS Pekka J Enberg
2005-08-10 22:07                       ` GFS Mark Fasheh
2005-08-11  4:41                         ` GFS Pekka J Enberg
2005-08-10  5:59       ` GFS David Teigland
2005-08-10  6:06         ` GFS Pekka J Enberg
2005-08-03  6:44 ` [PATCH 00/14] GFS Pekka Enberg
2005-08-08  9:57   ` David Teigland
2005-08-08 10:00     ` GFS Pekka J Enberg
2005-08-08 10:05     ` [PATCH 00/14] GFS Arjan van de Ven
2005-08-08 10:20       ` Jörn Engel
2005-08-08 10:18     ` GFS Pekka J Enberg
2005-08-08 10:56       ` GFS David Teigland
2005-08-08 10:57         ` GFS Pekka J Enberg
2005-08-08 11:39           ` GFS David Teigland
2005-08-08 10:34     ` GFS Pekka J Enberg
2005-08-09 14:55     ` GFS Pekka J Enberg
2005-08-10  7:40     ` GFS Pekka J Enberg
2005-08-10  7:43       ` GFS Christoph Hellwig
2005-08-09 15:20 ` [PATCH 00/14] GFS Al Viro
2005-08-10  7:03   ` Christoph Hellwig
2005-08-10 10:30     ` Lars Marowsky-Bree
2005-08-10 10:32       ` Christoph Hellwig
2005-08-10 10:34         ` Lars Marowsky-Bree
2005-08-10 10:54           ` Christoph Hellwig
2005-08-10 11:02             ` Lars Marowsky-Bree
2005-08-10 11:05               ` Christoph Hellwig
2005-08-10 11:09                 ` Lars Marowsky-Bree
2005-08-10 11:11                   ` Christoph Hellwig
2005-08-10 13:26                     ` [Linux-cluster] " AJ Lewis
2005-08-10 15:43                       ` Kyle Moffett
2005-08-11  8:17 ` GFS - updated patches David Teigland
2005-08-11  8:21   ` [Linux-cluster] " Michael
2005-08-11  8:46     ` David Teigland
2005-08-11  8:49       ` Michael
2005-08-11  8:32   ` Arjan van de Ven
2005-08-11  8:50     ` David Teigland
2005-08-11  8:50       ` Arjan van de Ven
2005-08-11  9:16         ` David Teigland
2005-08-11 10:04           ` Pekka Enberg
2005-08-11  9:54   ` [Linux-cluster] " Michael
2005-08-11 10:00     ` Pekka Enberg
     [not found] <20050802071828.GA11217@redhat.com.suse.lists.linux.kernel>
2005-08-03 14:33 ` [PATCH 00/14] GFS Andi Kleen
2005-08-07 11:52   ` Alan Cox

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=84144f0205080203163cab015c@mail.gmail.com \
    --to=penberg@gmail.com \
    --cc=akpm@osdl.org \
    --cc=linux-cluster@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=penberg@cs.helsinki.fi \
    --cc=teigland@redhat.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