Re: [RFC][PATCH v2 4/8] Replace page_referenced() with wipe_page_reference()

KOSAKI Motohiro
2009-12-10T23:46:29Z

> KOSAKI Motohiro wrote:
> > @@ -578,7 +577,9 @@ static unsigned long shrink_page_list(struct list_head *page_list,
> >
> > + struct page_reference_context refctx = {
> > + .is_page_locked = 1,
> >
> > *
> > @@ -1289,7 +1291,6 @@ static void shrink_active_list(unsigned long nr_pages, struct zone *zone,
> >
> > + struct page_reference_context refctx = {
> > + .is_page_locked = 0,
> > + };
> > +
> >
> are these whole structs properly initialized on the kernel stack?

Yes. C spec says

3.5.7 Initialization

Syntax

initializer:
assignment-expression
{ initializer-list }
{ initializer-list , }

initializer-list:
initializer
initializer-list , initializer
(snip)

If there are fewer initializers in a list than there are members of
an aggregate, the remainder of the aggregate shall be initialized
implicitly the same as objects that have static storage duration.

Referenced to
Draft ANSI C Standard (ANSI X3J11/88-090) (May 13, 1988) http://flash-gordon.me.uk/ansi.c.txt

Probably, google "{0}" help your understand to initializer in C.