All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Chao Peng <chao.p.peng@linux.intel.com>
Cc: Zha Bin <zhabin@linux.alibaba.com>,
	linux-kernel@vger.kernel.org, jasowang@redhat.com,
	slp@redhat.com, virtio-dev@lists.oasis-open.org,
	qemu-devel@nongnu.org, gerry@linux.alibaba.com,
	jing2.liu@linux.intel.com
Subject: [virtio-dev] Re: [PATCH v2 0/5] virtio mmio specification enhancement
Date: Tue, 11 Feb 2020 05:57:09 -0500	[thread overview]
Message-ID: <20200211053953-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20200211160541.GA37446@chaop.bj.intel.com>

On Tue, Feb 11, 2020 at 04:05:41PM +0000, Chao Peng wrote:
> On Mon, Feb 10, 2020 at 06:44:50AM -0500, Michael S. Tsirkin wrote:
> > On Mon, Feb 10, 2020 at 05:05:16PM +0800, Zha Bin wrote:
> > > We have compared the number of files and the lines of code between
> > > virtio-mmio and virio-pci.
> > > 
> > > 				Virtio-PCI	    Virtio-MMIO	
> > > 	number of files(Linux)	    161			1
> > > 	lines of code(Linux)	    78237		538
> > 
> > 
> > 
> > Something's very wrong here. virtio PCI is 161 files?
> > Are you counting the whole PCI subsystem?
> 
> Right, that is just a rough statistics.

Please try not to make them look so wrong then.
E.g. you don't include drivers/base/platform-msi.c for
mmio do you? Your patch brings a bunch of code in there.

> Surely enough, some drivers will
> never get enabled in a typcial config.
> 
> > Sure enough:
> > 
> > $ find drivers/pci -name '*c' |wc -l
> > 150
> 
> and plus:
> $ find arch/x86/pci/ -name '*c' |wc -l
> 22

But what's the point? This is code that is maintained by PCI core
people anyway.

> > 
> > That's not reasonable, this includes a bunch of drivers that
> > never run on a typical hypervisor.
> > 
> > MMIO is also not as small as you are trying to show:
> > 
> > $ cloc drivers/virtio/virtio_mmio.c include/uapi/linux/virtio_mmio.h
> >        2 text files.
> >        2 unique files.                              
> >        0 files ignored.
> > 
> > github.com/AlDanial/cloc v 1.82  T=0.01 s (230.7 files/s, 106126.5 lines/s)
> > -------------------------------------------------------------------------------
> > Language                     files          blank        comment           code
> > -------------------------------------------------------------------------------
> > C                                1            144            100            535
> > C/C++ Header                     1             39             66             36
> > -------------------------------------------------------------------------------
> > SUM:                             2            183            166            571
> > -------------------------------------------------------------------------------
> > 
> > 
> > I don't doubt MMIO is smaller than PCI. Of course that's because it has
> > no features to speak of - just this patch already doubles it's size. If
> > we keep doing that because we want the features then they will reach
> > the same size in about 4 iterations.
> 
> Since current virtio-mmio size is small enough, so adding any notable
> feature would easily double it.

But really unlike PCI this is just PV stuff that is not reused by
anyone. We end up maintaining all this by ourselves.

> I have no objection that it may one day
> reach the same level of PCI, but in this patch some are actually
> generic changes and for MSI specific code we provide the option to
> confige away.
> 
> Thanks,
> Chao

The option will make it fall down at runtime but
it does not actually seem to remove all of the overhead.



> > 
> > 
> > -- 
> > MST


---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Chao Peng <chao.p.peng@linux.intel.com>
Cc: Zha Bin <zhabin@linux.alibaba.com>,
	linux-kernel@vger.kernel.org, jasowang@redhat.com,
	slp@redhat.com, virtio-dev@lists.oasis-open.org,
	qemu-devel@nongnu.org, gerry@linux.alibaba.com,
	jing2.liu@linux.intel.com
Subject: Re: [PATCH v2 0/5] virtio mmio specification enhancement
Date: Tue, 11 Feb 2020 05:57:09 -0500	[thread overview]
Message-ID: <20200211053953-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20200211160541.GA37446@chaop.bj.intel.com>

On Tue, Feb 11, 2020 at 04:05:41PM +0000, Chao Peng wrote:
> On Mon, Feb 10, 2020 at 06:44:50AM -0500, Michael S. Tsirkin wrote:
> > On Mon, Feb 10, 2020 at 05:05:16PM +0800, Zha Bin wrote:
> > > We have compared the number of files and the lines of code between
> > > virtio-mmio and virio-pci.
> > > 
> > > 				Virtio-PCI	    Virtio-MMIO	
> > > 	number of files(Linux)	    161			1
> > > 	lines of code(Linux)	    78237		538
> > 
> > 
> > 
> > Something's very wrong here. virtio PCI is 161 files?
> > Are you counting the whole PCI subsystem?
> 
> Right, that is just a rough statistics.

Please try not to make them look so wrong then.
E.g. you don't include drivers/base/platform-msi.c for
mmio do you? Your patch brings a bunch of code in there.

> Surely enough, some drivers will
> never get enabled in a typcial config.
> 
> > Sure enough:
> > 
> > $ find drivers/pci -name '*c' |wc -l
> > 150
> 
> and plus:
> $ find arch/x86/pci/ -name '*c' |wc -l
> 22

But what's the point? This is code that is maintained by PCI core
people anyway.

> > 
> > That's not reasonable, this includes a bunch of drivers that
> > never run on a typical hypervisor.
> > 
> > MMIO is also not as small as you are trying to show:
> > 
> > $ cloc drivers/virtio/virtio_mmio.c include/uapi/linux/virtio_mmio.h
> >        2 text files.
> >        2 unique files.                              
> >        0 files ignored.
> > 
> > github.com/AlDanial/cloc v 1.82  T=0.01 s (230.7 files/s, 106126.5 lines/s)
> > -------------------------------------------------------------------------------
> > Language                     files          blank        comment           code
> > -------------------------------------------------------------------------------
> > C                                1            144            100            535
> > C/C++ Header                     1             39             66             36
> > -------------------------------------------------------------------------------
> > SUM:                             2            183            166            571
> > -------------------------------------------------------------------------------
> > 
> > 
> > I don't doubt MMIO is smaller than PCI. Of course that's because it has
> > no features to speak of - just this patch already doubles it's size. If
> > we keep doing that because we want the features then they will reach
> > the same size in about 4 iterations.
> 
> Since current virtio-mmio size is small enough, so adding any notable
> feature would easily double it.

But really unlike PCI this is just PV stuff that is not reused by
anyone. We end up maintaining all this by ourselves.

> I have no objection that it may one day
> reach the same level of PCI, but in this patch some are actually
> generic changes and for MSI specific code we provide the option to
> confige away.
> 
> Thanks,
> Chao

The option will make it fall down at runtime but
it does not actually seem to remove all of the overhead.



> > 
> > 
> > -- 
> > MST


WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Chao Peng <chao.p.peng@linux.intel.com>
Cc: virtio-dev@lists.oasis-open.org,
	Zha Bin <zhabin@linux.alibaba.com>,
	slp@redhat.com, jasowang@redhat.com, jing2.liu@linux.intel.com,
	linux-kernel@vger.kernel.org, qemu-devel@nongnu.org,
	gerry@linux.alibaba.com
Subject: Re: [PATCH v2 0/5] virtio mmio specification enhancement
Date: Tue, 11 Feb 2020 05:57:09 -0500	[thread overview]
Message-ID: <20200211053953-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20200211160541.GA37446@chaop.bj.intel.com>

On Tue, Feb 11, 2020 at 04:05:41PM +0000, Chao Peng wrote:
> On Mon, Feb 10, 2020 at 06:44:50AM -0500, Michael S. Tsirkin wrote:
> > On Mon, Feb 10, 2020 at 05:05:16PM +0800, Zha Bin wrote:
> > > We have compared the number of files and the lines of code between
> > > virtio-mmio and virio-pci.
> > > 
> > > 				Virtio-PCI	    Virtio-MMIO	
> > > 	number of files(Linux)	    161			1
> > > 	lines of code(Linux)	    78237		538
> > 
> > 
> > 
> > Something's very wrong here. virtio PCI is 161 files?
> > Are you counting the whole PCI subsystem?
> 
> Right, that is just a rough statistics.

Please try not to make them look so wrong then.
E.g. you don't include drivers/base/platform-msi.c for
mmio do you? Your patch brings a bunch of code in there.

> Surely enough, some drivers will
> never get enabled in a typcial config.
> 
> > Sure enough:
> > 
> > $ find drivers/pci -name '*c' |wc -l
> > 150
> 
> and plus:
> $ find arch/x86/pci/ -name '*c' |wc -l
> 22

But what's the point? This is code that is maintained by PCI core
people anyway.

> > 
> > That's not reasonable, this includes a bunch of drivers that
> > never run on a typical hypervisor.
> > 
> > MMIO is also not as small as you are trying to show:
> > 
> > $ cloc drivers/virtio/virtio_mmio.c include/uapi/linux/virtio_mmio.h
> >        2 text files.
> >        2 unique files.                              
> >        0 files ignored.
> > 
> > github.com/AlDanial/cloc v 1.82  T=0.01 s (230.7 files/s, 106126.5 lines/s)
> > -------------------------------------------------------------------------------
> > Language                     files          blank        comment           code
> > -------------------------------------------------------------------------------
> > C                                1            144            100            535
> > C/C++ Header                     1             39             66             36
> > -------------------------------------------------------------------------------
> > SUM:                             2            183            166            571
> > -------------------------------------------------------------------------------
> > 
> > 
> > I don't doubt MMIO is smaller than PCI. Of course that's because it has
> > no features to speak of - just this patch already doubles it's size. If
> > we keep doing that because we want the features then they will reach
> > the same size in about 4 iterations.
> 
> Since current virtio-mmio size is small enough, so adding any notable
> feature would easily double it.

But really unlike PCI this is just PV stuff that is not reused by
anyone. We end up maintaining all this by ourselves.

> I have no objection that it may one day
> reach the same level of PCI, but in this patch some are actually
> generic changes and for MSI specific code we provide the option to
> confige away.
> 
> Thanks,
> Chao

The option will make it fall down at runtime but
it does not actually seem to remove all of the overhead.



> > 
> > 
> > -- 
> > MST



  reply	other threads:[~2020-02-11 10:57 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-10  9:05 [PATCH v2 0/5] virtio mmio specification enhancement Zha Bin
2020-02-10  9:05 ` Zha Bin
2020-02-10  9:05 ` [PATCH v2 1/5] virtio-mmio: add notify feature for per-queue Zha Bin
2020-02-10  9:05   ` Zha Bin
2020-02-11 10:50   ` [virtio-dev] " Michael S. Tsirkin
2020-02-11 10:50     ` Michael S. Tsirkin
2020-02-11 10:50     ` Michael S. Tsirkin
2020-02-11 11:33   ` [virtio-dev] " Michael S. Tsirkin
2020-02-11 11:33     ` Michael S. Tsirkin
2020-02-11 11:33     ` Michael S. Tsirkin
2020-02-12  3:39     ` [virtio-dev] " Jason Wang
2020-02-12  3:39       ` Jason Wang
2020-02-12  8:18       ` [virtio-dev] " Michael S. Tsirkin
2020-02-12  8:18         ` Michael S. Tsirkin
2020-02-12  8:18         ` Michael S. Tsirkin
2020-02-12  8:53         ` [virtio-dev] " Jason Wang
2020-02-12  8:53           ` Jason Wang
2020-02-12  8:53           ` Jason Wang
2020-02-12  9:33           ` [virtio-dev] " Jason Wang
2020-02-12  9:33             ` Jason Wang
2020-02-12  9:33             ` Jason Wang
2020-02-12  9:55             ` [virtio-dev] " Michael S. Tsirkin
2020-02-12  9:55               ` Michael S. Tsirkin
2020-02-12  9:55               ` Michael S. Tsirkin
2020-02-13  3:38               ` [virtio-dev] " Jason Wang
2020-02-13  3:38                 ` Jason Wang
2020-02-10  9:05 ` [PATCH v2 2/5] virtio-mmio: refactor common functionality Zha Bin
2020-02-10  9:05   ` Zha Bin
2020-02-11 11:19   ` [virtio-dev] " Michael S. Tsirkin
2020-02-11 11:19     ` Michael S. Tsirkin
2020-02-11 11:19     ` Michael S. Tsirkin
2020-02-12  2:58     ` [virtio-dev] " Liu, Jing2
2020-02-12  2:58       ` Liu, Jing2
2020-02-12  2:58       ` Liu, Jing2
2020-02-12  7:29       ` Michael S. Tsirkin
2020-02-12  7:29         ` Michael S. Tsirkin
2020-02-12  7:29         ` Michael S. Tsirkin
2020-02-10  9:05 ` [PATCH v2 3/5] virtio-mmio: create a generic MSI irq domain Zha Bin
2020-02-10  9:05   ` Zha Bin
2020-02-11 11:16   ` [virtio-dev] " Michael S. Tsirkin
2020-02-11 11:16     ` Michael S. Tsirkin
2020-02-11 11:16     ` Michael S. Tsirkin
2020-02-12  7:40   ` [virtio-dev] " Michael S. Tsirkin
2020-02-12  7:40     ` Michael S. Tsirkin
2020-02-12  7:40     ` Michael S. Tsirkin
2020-02-10  9:05 ` [PATCH v2 4/5] virtio-mmio: add MSI interrupt feature support Zha Bin
2020-02-10  9:05   ` Zha Bin
2020-02-11  3:17   ` [virtio-dev] " Jason Wang
2020-02-11  3:17     ` Jason Wang
2020-02-11  3:35     ` [virtio-dev] " Liu, Jing2
2020-02-11  3:35       ` Liu, Jing2
2020-02-11  4:02       ` Jason Wang
2020-02-11  4:02         ` Jason Wang
2020-02-11  6:02         ` Liu, Jing2
2020-02-11  6:02           ` Liu, Jing2
2020-02-11  7:40           ` Jason Wang
2020-02-11  7:40             ` Jason Wang
2020-02-11 11:58             ` Michael S. Tsirkin
2020-02-11 11:58               ` Michael S. Tsirkin
2020-02-11 11:58               ` Michael S. Tsirkin
2020-02-11 12:04               ` Jason Wang
2020-02-11 12:04                 ` Jason Wang
2020-02-11 12:08                 ` Michael S. Tsirkin
2020-02-11 12:08                   ` Michael S. Tsirkin
2020-02-11 12:18                   ` Jason Wang
2020-02-11 12:18                     ` Jason Wang
2020-02-11 14:00                     ` Michael S. Tsirkin
2020-02-11 14:00                       ` Michael S. Tsirkin
2020-02-12  9:03                       ` Jason Wang
2020-02-12  9:03                         ` Jason Wang
2020-02-12  9:15                         ` Michael S. Tsirkin
2020-02-12  9:15                           ` Michael S. Tsirkin
2020-02-12  3:54             ` Liu, Jing2
2020-02-12  3:54               ` Liu, Jing2
2020-02-12  7:33               ` Michael S. Tsirkin
2020-02-12  7:33                 ` Michael S. Tsirkin
2020-02-12  7:33                 ` Michael S. Tsirkin
2020-02-12  9:06               ` Jason Wang
2020-02-12  9:06                 ` Jason Wang
2020-02-12  9:16                 ` Michael S. Tsirkin
2020-02-12  9:16                   ` Michael S. Tsirkin
2020-02-12  9:16                   ` Michael S. Tsirkin
2020-02-13  3:40                   ` Jason Wang
2020-02-13  3:40                     ` Jason Wang
2020-02-13  3:40                     ` Jason Wang
2020-02-11 11:21       ` Michael S. Tsirkin
2020-02-11 11:21         ` Michael S. Tsirkin
2020-02-11 11:21         ` Michael S. Tsirkin
2020-02-11 11:11   ` Michael S. Tsirkin
2020-02-11 11:11     ` Michael S. Tsirkin
2020-02-11 11:11     ` Michael S. Tsirkin
2020-02-10  9:05 ` [PATCH v2 5/5] x86: virtio-mmio: support virtio-mmio with MSI for x86 Zha Bin
2020-02-10  9:05   ` Zha Bin
2020-02-11 11:14   ` [virtio-dev] " Michael S. Tsirkin
2020-02-11 11:14     ` Michael S. Tsirkin
2020-02-11 11:14     ` Michael S. Tsirkin
2020-02-10 11:44 ` [virtio-dev] Re: [PATCH v2 0/5] virtio mmio specification enhancement Michael S. Tsirkin
2020-02-10 11:44   ` Michael S. Tsirkin
2020-02-10 11:44   ` Michael S. Tsirkin
2020-02-11 16:05   ` Chao Peng
2020-02-11 16:05     ` Chao Peng
2020-02-11 10:57     ` Michael S. Tsirkin [this message]
2020-02-11 10:57       ` Michael S. Tsirkin
2020-02-11 10:57       ` Michael S. Tsirkin
  -- strict thread matches above, loose matches on Subject: below --
2020-07-30 20:15 Pincus, Josh
2020-07-31 15:44 ` [virtio-dev] " Alex Bennée
2020-08-03 16:19   ` Alex Bennée

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=20200211053953-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=chao.p.peng@linux.intel.com \
    --cc=gerry@linux.alibaba.com \
    --cc=jasowang@redhat.com \
    --cc=jing2.liu@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=slp@redhat.com \
    --cc=virtio-dev@lists.oasis-open.org \
    --cc=zhabin@linux.alibaba.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.