Re: [RFC v0 7/8] Input: ims-pcu: use firmware_stat instead of completion

From: Daniel Wagner
Date: Wed Aug 03 2016 - 03:06:23 EST


On 08/02/2016 09:41 AM, Luis R. Rodriguez wrote:
On Tue, Aug 02, 2016 at 08:53:55AM +0200, Daniel Wagner wrote:
On 08/02/2016 08:34 AM, Luis R. Rodriguez wrote:
On Tue, Aug 02, 2016 at 07:49:19AM +0200, Daniel Wagner wrote:
So you argue for the remoteproc use case with 100+ MB firmware that
if there is a way to load after pivot_root() (or other additional
firmware partition shows up) then there is no need at all for
usermode helper?

No, I'm saying I'd like to hear valid uses cases for the usermode helper and so
far I have only found using coccinelle grammar 2 explicit users, that's it. My
patch series (not yet merge) then annotates these as valid as I've verified
through their documentation they have some quirky requirement.

I got that question wrong. It should read something like 'for the remoteproc 100+MB there is no need for the user help?'. I've gone through your patches and they make perfectly sense too. Maybe I can convince you to take a better version of my patch 3 into your queue. And I help you converting the exiting drivers. Obviously if you like my help at all.

Other than these two drivers I'd like hear to valid requirements for it.

The existential issue is a real issue but it does not look impossible to
resolve. It may be a solution to bloat up the kernel with 100+ MB size just to
stuff built-in firmware to avoid this issue, but it does not mean a solution
is not possible.

Remind me -- why can remoteproc not stuff the firmware in initramfs ?

I don't know. I was just bringing it up with the hope that Bjorn will defend it. It seems my tactics didn't work out :)

Anyway, here's a simple suggestion: fs/exec.c gets a sentinel file monitor
support per enum kernel_read_file_id. For instance we'd have one for
READING_FIRMWARE, one for READING_KEXEC_IMAGE, perhaps READING_POLICY, and this
would in turn be used as the system configurable deterministic file for
which to wait for to be present before enabling each enum kernel_read_file_id
type read.

Thoughts ?

Not sure if I get you here correctly. Is the 'system configurable deterministic file' is a knob which controlled by user space? Or it this something you define at compile time?

Hmm, so it would allow to decided to ask a userspace helper or load the firmware directly (to be more precised the kernel_read_file_id type). If yes, than it is what currently already have just integrated nicely into the new sysdata API.

cheers,
daniel