All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: zhenwei pi <pizhenwei@bytedance.com>,
	arnd@arndb.de, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 2/2] misc: pvpanic: introduce module parameter 'events'
Date: Fri, 8 Jan 2021 16:26:17 +0100	[thread overview]
Message-ID: <2729803e-c9b2-abc9-e93f-ace19f521945@redhat.com> (raw)
In-Reply-To: <X/h3BAdea48p+L+p@kroah.com>

On 08/01/21 16:15, Greg KH wrote:
> On Fri, Jan 08, 2021 at 04:04:24PM +0100, Paolo Bonzini wrote:
>> On 08/01/21 15:07, Greg KH wrote:
>>>>    static void __iomem *base;
>>>> +static unsigned int events = PVPANIC_PANICKED | PVPANIC_CRASH_LOADED;
>>>> +module_param(events, uint, 0644);
>>>> +MODULE_PARM_DESC(events, "set event limitation of pvpanic device");
>>> I do not understand you wanting a module parameter as well as a sysfs
>>> file.  Why is this needed?  Why are you spreading this information out
>>> across different apis and locations?
>>
>> It can be useful to disable some functionality, for example in case you want
>> to fake running on an older virtualization host.  This can be done for
>> debugging reasons, or to keep uniform handling across a fleet that is
>> running different versions of QEMU.
> 
> And where is this all going to be documented?

I don't disagree.

> And what's wrong with just making the sysfs attribute writable?

Isn't it harder to configure it at boot?  Also the sysfs attribute added 
by patch 1 is documenting what is supported by the device, while the 
module parameter can be set to any value (you can think of the module 
parameter as of a "what to log" option, except the logging happens on 
another machine).

Therefore, if you make the sysfs attribute writable, you would actually 
need _two_ attributes, one for the in-use capabilities and one for the 
device capabilities.  And sysfs files are runtime values, which is 
different concept than 0444 module parameters (which are more like just 
configuration).  So you would have to decide whether it's valid to write 
2 to the in-use capabilities file when the device capabilities are "1", 
and I don't really have a good answer for that.

Also considering that there will not be more than one copy of this 
device (it doesn't make sense as they would all do exactly the same 
thing), in this case a module parameter really seems to be the simplest 
way to configure it.

Paolo


  reply	other threads:[~2021-01-08 15:28 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-08 13:52 [PATCH v3 0/2] misc: pvpanic: introduce capability & module parameter zhenwei pi
2021-01-08 13:52 ` [PATCH v3 1/2] misc: pvpanic: introduce device capability zhenwei pi
2021-01-08 14:06   ` Greg KH
2021-01-08 13:52 ` [PATCH v3 2/2] misc: pvpanic: introduce module parameter 'events' zhenwei pi
2021-01-08 14:07   ` Greg KH
2021-01-08 15:04     ` Paolo Bonzini
2021-01-08 15:15       ` Greg KH
2021-01-08 15:26         ` Paolo Bonzini [this message]
2021-01-09 11:31           ` Greg KH
2021-01-10  3:10             ` [External] " zhenwei pi
2021-01-11 18:27             ` Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2729803e-c9b2-abc9-e93f-ace19f521945@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=arnd@arndb.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pizhenwei@bytedance.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.