From: Daniel Vetter <daniel@ffwll.ch>
To: Zhenyu Wang <zhenyuw@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
intel-gfx@lists.freedesktop.org, "Lv,
Zhiyuan" <zhiyuan.lv@intel.com>,
Daniel Vetter <daniel.vetter@intel.com>,
igvt-g-dev@lists.01.org
Subject: Re: [PULL] GVT-g device model core
Date: Mon, 17 Oct 2016 09:30:45 +0200 [thread overview]
Message-ID: <20161017073045.GD20761@phenom.ffwll.local> (raw)
In-Reply-To: <20161014103030.4aar45puf3iv5bzz@zhen-hp.sh.intel.com>
On Fri, Oct 14, 2016 at 06:30:30PM +0800, Zhenyu Wang wrote:
>
> Hi,
>
> This is first pull request to merge GVT-g device model in i915
> which contains core GVT-g device model work to virtualize GPU
> resources. This tries to add feature of Intel GVT-g technology
> for full GPU virtualization. This version will support KVM based
> virtualization solution named as KVMGT.
>
> More background is on official project home: https://01.org/igvt-g
>
> To manage mediated device between virtual GPU and physical device it
> will rely on VFIO/mdev framework, this version has not included GVT-g
> device model integration work for VFIO/mdev yet as VFIO community is
> still under work to refine code base. Currently we're basing on
> VFIO/mdev v8 patch series (http://www.spinics.net/lists/kvm/msg138515.html)
> and doing more testings on that.
>
> There're also several KVM change dependences. KVM maintainer has
> merged two and we will ensure left hits KVM tree before sending new
> pull request to enable that.
>
> p.s, There would require some coordinate work for VFIO/mdev. We will
> send device model work for that after Alex merged mdev framework in
> VFIO tree. Alex has promised to merge that in early of Nov.
>
> Let me know if there's any issue with this our first pull request.
Ok applied, but a few things to keep in mind before your next pull
request:
- Dont rebase everything 5 seconds before sending out the pull request.
That just invalidates all the testing you've done, so not a good idea.
In general try to avoid rebases as much as possible, and only rebase to
take out a truly embarassing mistake. And then only rebase up to the
patch that needs a hotfix, not your entire tree.
- Similar, don't base your pull requests upon a random commit of the day
(that's why I noticed you rebased). Instead pick something meaningful,
like a tag I (or Dave Airlie or Linus Torvalds) push out. Or another
good option is to base it right on top of the last merge commit from
gvt. Once you've picked a baseline, don't change it (except when you
have a good reason). And if you need a patch from upstream also don't
rebase, just send out a pull request with your current patch pile, and
then continue applying more stuff on top once I merged that.
- One technical nit on the integration: My idea was that i915 core code
only calls a few specific functions and structures exposed through
intel_gvt.h. But that file now seems to include gvt-internal headers,
which is a bit a mess. Please clean that up in the next pull request:
* Anything that core i915 code or headers needs must be moved into
intel_gvt.h.
* Everything else, including the 2 gvt includes we now have (gvt/gvt.h
and i915_pvinfo.h) should only be included from code in
drm/i915/gvt.h. So either sprinkle include directives over your source
files for everything, or make gvt/gvt.h the main gvt header that pulls
in everything.
The idea here is similar to drm core vs. i915: drm core headers never
pull in i915 headers, and all communication happens through the
well-defined interfaces in drm core header files. I think our goal with
gvt should be similar, with all the interfaces being in intel_gvt.h.
Otherwise I fear the submaintainer model will be a bit painful, if we
don't aim for strict separation here.
- There's not yet a MAINTAINERS entry for i915/gvt with gvt mailing lists,
git repos and your name on it. Please fix that in the next pull request,
too.
- gvt seems to lack kernel-doc entirely. I think we need at least an
overview file and interface documentation for the stuff in
intel_gvt.[hc]. Please run
$ make hmtldocs
to make sure it all looks pretty (you need to add stanzas in
Documenation/gpu/i915.rst to include things). Another item for the next
pull request please.
Also, this is the first time ever I've taken a pull request, so some
learning involved on my side too. Please bear with me ;-)
Cheers, Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-10-17 7:30 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-14 10:30 [PULL] GVT-g device model core Zhenyu Wang
2016-10-17 7:30 ` Daniel Vetter [this message]
2016-10-17 7:33 ` Daniel Vetter
2016-10-17 7:45 ` Zhenyu Wang
2016-10-17 14:07 ` Daniel Vetter
2016-10-18 1:45 ` Zhenyu Wang
2016-10-17 14:06 ` Jani Nikula
2016-10-18 11:59 ` Jani Nikula
2016-10-19 1:52 ` Zhenyu Wang
2016-10-18 14:43 ` Chris Wilson
2016-10-19 7:50 ` Chris Wilson
2016-10-19 7:58 ` Zhenyu Wang
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=20161017073045.GD20761@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=daniel.vetter@ffwll.ch \
--cc=daniel.vetter@intel.com \
--cc=igvt-g-dev@lists.01.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=zhenyuw@linux.intel.com \
--cc=zhiyuan.lv@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox