From: Greg KH <gregkh@linuxfoundation.org>
To: Nuno Das Neves <nunodasneves@linux.microsoft.com>
Cc: Wei Liu <wei.liu@kernel.org>,
linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
x86@kernel.org, linux-arm-kernel@lists.infradead.org,
linux-arch@vger.kernel.org, patches@lists.linux.dev,
mikelley@microsoft.com, kys@microsoft.com,
haiyangz@microsoft.com, decui@microsoft.com,
apais@linux.microsoft.com, Tianyu.Lan@microsoft.com,
ssengar@linux.microsoft.com, mukeshrathor@microsoft.com,
stanislav.kinsburskiy@gmail.com, jinankjain@linux.microsoft.com,
vkuznets@redhat.com, tglx@linutronix.de, mingo@redhat.com,
bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com,
will@kernel.org, catalin.marinas@arm.com
Subject: Re: [PATCH v3 15/15] Drivers: hv: Add modules to expose /dev/mshv to VMMs running on Hyper-V
Date: Wed, 27 Sep 2023 08:01:01 +0200 [thread overview]
Message-ID: <2023092737-daily-humility-f01c@gregkh> (raw)
In-Reply-To: <05119cbc-155d-47c5-ab21-e6a08eba5dc4@linux.microsoft.com>
On Tue, Sep 26, 2023 at 02:52:36PM -0700, Nuno Das Neves wrote:
> On 9/26/2023 1:03 AM, Greg KH wrote:
> > On Tue, Sep 26, 2023 at 07:00:51AM +0000, Wei Liu wrote:
> > > On Tue, Sep 26, 2023 at 08:31:03AM +0200, Greg KH wrote:
> > > > On Tue, Sep 26, 2023 at 05:54:34AM +0000, Wei Liu wrote:
> > > > > On Tue, Sep 26, 2023 at 06:52:46AM +0200, Greg KH wrote:
> > > > > > On Mon, Sep 25, 2023 at 05:07:24PM -0700, Nuno Das Neves wrote:
> > > > > > > On 9/23/2023 12:58 AM, Greg KH wrote:
> > > > > > > > Also, drivers should never call pr_*() calls, always use the proper
> > > > > > > > dev_*() calls instead.
> > > > > > > >
> > > > > > >
> > > > > > > We only use struct device in one place in this driver, I think that is the
> > > > > > > only place it makes sense to use dev_*() over pr_*() calls.
> > > > > >
> > > > > > Then the driver needs to be fixed to use struct device properly so that
> > > > > > you do have access to it when you want to print messages. That's a
> > > > > > valid reason to pass around your device structure when needed.
> > > > >
>
> What is the tangible benefit of using dev_*() over pr_*()?
Unified reporting and handling of userspace of kernel log messages so
they can be classified properly as well as dealing correctly with the
dynamic debugging kernel infrastructure.
Why wouldn't you want to use it?
> As I said,
> our use of struct device is very limited compared to all the places we
> may need to log errors.
Then please fix that.
> pr_*() is used by many, many drivers; it seems to be the norm.
Not at all, it is not.
> We can certainly add a pr_fmt to improve the logging.
Please do it correctly so you don't have to go and add support for it
later when your tools people ask you why they can't properly parse your
driver's kernel log messages.
> > > If we're working with real devices like network cards or graphics cards
> > > I would agree -- it is easy to imagine that we have several cards of the
> > > same model in the system -- but in real world there won't be two
> > > hypervisor instances running on the same hardware.
> > >
> > > We can stash the struct device inside some private data fields, but that
> > > doesn't change the fact that we're still having one instance of the
> > > structure. Is this what you want? Or do you have something else in mind?
> >
> > You have a real device, it's how userspace interacts with your
> > subsystem. Please use that, it is dynamically created and handled and
> > is the correct representation here.
> >
>
> Are you referring to the struct device we get from calling
> misc_register?
Yes.
> How would you suggest we get a reference to that device via e.g. open()
> or ioctl() without keeping a global reference to it?
You explicitly have it in your open() and ioctl() call, you never need a
global reference for it the kernel gives it to you!
thanks,
greg k-h
next prev parent reply other threads:[~2023-09-27 6:01 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-22 18:38 [PATCH v3 00/15] Introduce /dev/mshv drivers Nuno Das Neves
2023-09-22 18:38 ` [PATCH v3 01/15] hyperv-tlfs: Change shared HV_REGISTER_* defines to HV_MSR_* Nuno Das Neves
2023-09-22 18:52 ` Wei Liu
2023-09-22 18:38 ` [PATCH v3 02/15] mshyperv: Introduce hv_get_hypervisor_version function Nuno Das Neves
2023-09-22 18:53 ` Wei Liu
2023-09-22 18:38 ` [PATCH v3 03/15] mshyperv: Introduce numa_node_to_proximity_domain_info Nuno Das Neves
2023-09-22 18:38 ` [PATCH v3 04/15] asm-generic/mshyperv: Introduce hv_recommend_using_aeoi() Nuno Das Neves
2023-09-22 18:38 ` [PATCH v3 05/15] hyperv: Move hv_connection_id to hyperv-tlfs Nuno Das Neves
2023-09-22 18:38 ` [PATCH v3 06/15] hyperv-tlfs: Introduce hv_status_to_string and hv_status_to_errno Nuno Das Neves
2023-09-22 18:38 ` [PATCH v3 07/15] Drivers: hv: Move hv_call_deposit_pages and hv_call_create_vp to common code Nuno Das Neves
2023-09-22 18:38 ` [PATCH v3 08/15] Drivers: hv: Introduce per-cpu event ring tail Nuno Das Neves
2023-09-22 18:38 ` [PATCH v3 09/15] Drivers: hv: Introduce hv_output_arg_exists in hv_common.c Nuno Das Neves
2023-09-22 18:38 ` [PATCH v3 10/15] x86: hyperv: Add mshv_handler irq handler and setup function Nuno Das Neves
2023-09-22 18:38 ` [PATCH v3 11/15] Drivers: hv: export vmbus_isr, hv_context and hv_post_message Nuno Das Neves
2023-09-22 18:38 ` [PATCH v3 12/15] Documentation: Reserve ioctl number for mshv driver Nuno Das Neves
2023-09-22 18:48 ` Wei Liu
2023-09-22 18:38 ` [PATCH v3 13/15] uapi: hyperv: Add mshv driver headers defining hypervisor ABIs Nuno Das Neves
2023-09-22 18:38 ` [PATCH v3 14/15] asm-generic: hyperv: Use new Hyper-V headers conditionally Nuno Das Neves
2023-09-22 18:38 ` [PATCH v3 15/15] Drivers: hv: Add modules to expose /dev/mshv to VMMs running on Hyper-V Nuno Das Neves
2023-09-22 20:02 ` Wei Liu
2023-09-23 7:56 ` Greg KH
2023-09-23 20:58 ` Wei Liu
2023-09-24 4:48 ` Saurabh Singh Sengar
2023-09-23 7:58 ` Greg KH
2023-09-26 0:07 ` Nuno Das Neves
2023-09-26 4:52 ` Greg KH
2023-09-26 5:54 ` Wei Liu
2023-09-26 6:31 ` Greg KH
2023-09-26 7:00 ` Wei Liu
2023-09-26 8:03 ` Greg KH
2023-09-26 21:52 ` Nuno Das Neves
2023-09-27 6:01 ` Greg KH [this message]
2023-09-27 8:04 ` Wei Liu
2023-09-27 8:33 ` Greg KH
2023-09-28 0:17 ` Nuno Das Neves
2023-09-26 12:33 ` Saurabh Singh Sengar
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=2023092737-daily-humility-f01c@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=Tianyu.Lan@microsoft.com \
--cc=apais@linux.microsoft.com \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=dave.hansen@linux.intel.com \
--cc=decui@microsoft.com \
--cc=haiyangz@microsoft.com \
--cc=hpa@zytor.com \
--cc=jinankjain@linux.microsoft.com \
--cc=kys@microsoft.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mikelley@microsoft.com \
--cc=mingo@redhat.com \
--cc=mukeshrathor@microsoft.com \
--cc=nunodasneves@linux.microsoft.com \
--cc=patches@lists.linux.dev \
--cc=ssengar@linux.microsoft.com \
--cc=stanislav.kinsburskiy@gmail.com \
--cc=tglx@linutronix.de \
--cc=vkuznets@redhat.com \
--cc=wei.liu@kernel.org \
--cc=will@kernel.org \
--cc=x86@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).