On Wed, Aug 20, 2008 at 10:43 AM, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html