lkml.org 
[lkml]   [2012]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 5/7] mm: vmscan: clean up get_scan_count()
    On Wed, Dec 19, 2012 at 04:08:05PM -0800, Andrew Morton wrote:
    > On Mon, 17 Dec 2012 13:12:35 -0500
    > Johannes Weiner <hannes@cmpxchg.org> wrote:
    >
    > > Reclaim pressure balance between anon and file pages is calculated
    > > through a tuple of numerators and a shared denominator.
    > >
    > > Exceptional cases that want to force-scan anon or file pages configure
    > > the numerators and denominator such that one list is preferred, which
    > > is not necessarily the most obvious way:
    > >
    > > fraction[0] = 1;
    > > fraction[1] = 0;
    > > denominator = 1;
    > > goto out;
    > >
    > > Make this easier by making the force-scan cases explicit and use the
    > > fractionals only in case they are calculated from reclaim history.
    > >
    > > And bring the variable declarations/definitions in order.
    > >
    > > ...
    > >
    > > + u64 fraction[2], uninitialized_var(denominator);
    >
    > Using uninitialized_var() puts Linus into rant mode. Unkindly, IMO:
    > uninitialized_var() is documentarily useful and reduces bloat. There is
    > a move afoot to replace it with
    >
    > int foo = 0; /* gcc */
    >
    > To avoid getting ranted at we can do
    >
    > --- a/mm/vmscan.c~mm-vmscan-clean-up-get_scan_count-fix
    > +++ a/mm/vmscan.c
    > @@ -1658,7 +1658,8 @@ static void get_scan_count(struct lruvec
    > unsigned long *nr)
    > {
    > struct zone_reclaim_stat *reclaim_stat = &lruvec->reclaim_stat;
    > - u64 fraction[2], uninitialized_var(denominator);
    > + u64 fraction[2];
    > + u64 denominator = 0;
    > struct zone *zone = lruvec_zone(lruvec);
    > unsigned long anon_prio, file_prio;
    > enum scan_balance scan_balance;

    Makes sense, I guess, but then you have to delete this line from the
    changelog:

    "And bring the variable declarations/definitions in order."

    Or change it to "partial" order or something... :-)



    \
     
     \ /
      Last update: 2012-12-21 05:01    [W:2.605 / U:0.708 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site