lkml.org 
[lkml]   [2008]   [Aug]   [20]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateWed, 20 Aug 2008 11:22:47 +0300
From"Pekka Enberg" <>
SubjectRe: [PATCH RFC] nilfs2: continuous snapshotting file system
On Wed, Aug 20, 2008 at 10:43 AM, Andrew Morton
<akpm@linux-foundation.org> wrote:
>> It is not yet divided into pieces (sorry).  Unlike original code
>> available at [4], many code lines to support past kernel versions and
>> peculiar debug code are removed in this patch.
>
> Yes, please do that splitup and let's get down to reviewing it.

Hmm, this looks bit scary:

> +/*
> + * Low-level nilfs pages, page functions
> + * Reviews should be made to adapt these to the common pagemap and buffer code.
> + */
> +static struct nilfs_pages {
> +       spinlock_t              lru_lock;
> +       struct list_head        active;
> +       struct list_head        inactive;
> +       unsigned long           nr_active;
> +       unsigned long           nr_inactive;
> +       struct rw_semaphore     shrink_sem;
> +} nilfs_pages;
> +
> +/*
> + * XXX per-cpu pagevecs may be able to reduce the overhead of list handlings
> + *
> + * static DEFINE_PER_CPU(struct pagevec, nilfs_lru_active) = { 0, };
> + * static DEFINE_PER_CPU(struct pagevec, nilfs_lru_inactive) = { 0, };
> + */
> +
> +void nilfs_pages_init(void)
> +{
> +       INIT_LIST_HEAD(&nilfs_pages.active);
> +       INIT_LIST_HEAD(&nilfs_pages.inactive);
> +       spin_lock_init(&nilfs_pages.lru_lock);
> +       init_rwsem(&nilfs_pages.shrink_sem);
> +       nilfs_pages.nr_active = 0;
> +       nilfs_pages.nr_inactive = 0;
> +}

(a) why does NILFS need this and (b) why aren't these patches against
generic mm/*.c?
                                    Pekka


\
 
 \ /
  Last update: 2008-08-20 10:25    [from the cache]
©2003-2008