[lkml]   [2017]   [Apr]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: bug fix for registers debugfs file implementation [RFC]
    On Sat, Apr 01, 2017 at 02:13:41AM -0700, noman pouigt wrote:
    > Current registers debugfs file implementation doesn't
    > handle if the size exceeds 4k. It just dumps 4k of registers.
    > Fix this by using the seq_file which already handles
    > the file offset logic instead of reinventing the wheel.
    > I am wondering if there is any issue is doing below which
    > I am not aware of?

    If I remember correctly this is done the way it is because seq_file has
    to iterate through the entire file to get to the point being read by the
    application. This is a *very* big overhead for some applications (like
    monitoring some registers to see what they're doing) on bigger devices,
    especially if there's lots of uncached stuff and the reads have to go to
    the hardware. With the current code you can open the file, seek to the
    registers you're interested in and read only them. You'll notice that
    the other debug files have been converted over to seq_file as they're
    pure software and there's less reason to repeatedly read them.

    I'm also very surprised that this is failing for you as I know this code
    has been fairly heavily exercised with devices with very large register
    maps much larger than 4k and my own testing is mainly doing cats which
    seemed to work last time I tried and should be iterating over the 4k
    boundary... what's the actual failure mode? I'm guessing it's
    something if we end a register exactly on a page boundary or something?

    Also your patch is completely tab/space mangled so it's not appliable.

    > +static void regmap_debugfs_stop(struct seq_file *s, void *v)
    > +{
    > +}

    The need for empty functions is worrying...
    [unhandled content-type:application/pgp-signature]
     \ /
      Last update: 2017-04-21 20:33    [W:3.048 / U:0.348 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site