On Tue, 2022-03-01 at 09:45 -0800, Rob Clark wrote: > On Mon, Feb 28, 2022 at 10:49 PM David Laight <David.Laight@xxxxxxxxxx> wrote: > > > > From: Abhinav Kumar > > > Sent: 28 February 2022 21:38 > > ... > > > We also did some profiling around how much increasing the block size > > > helps and here is the data: > > > > > > Block size cost > > > > > > 4KB 229s > > > 8KB 86s > > > > You must have an O(n^2) operation in there - find it. > > The problem is how the devcoredump/sysfs interface works, which > results in "re-rendering" the output for each block.. it's fine for > moderate size sysfs files, but scales quite badly once you get into > couple MB size sysfs files. > > It could be fixed by having some way to keep state across successive > read callbacks. I'm not sure that's true? Perhaps for dev_coredumpm(), but only if you implemented read() badly. If you have e.g. dev_coredumpsg() or dev_coredumpv() that's just a simple read from the existing buffer. johannes