On Tue, Oct 29, 2019 at 02:00:27AM -0600, Jonathan Corbet wrote:
> On Tue, 29 Oct 2019 08:31:22 +0800
> Changbin Du wrote:
>
> > Here python is different from C. Both empty string and None are False in
> > python.
> > Note such condition is common in python.
>
&g
On Mon, Oct 28, 2019 at 11:24:22AM +0200, Jani Nikula wrote:
> On Fri, 25 Oct 2019, Changbin Du wrote:
> > On Fri, Oct 25, 2019 at 09:57:48AM +0300, Jani Nikula wrote:
> >> On Thu, 24 Oct 2019, Jonathan Corbet wrote:
> >> > On Sun, 20 Oct 2019 21:17:17 +
On Fri, Oct 25, 2019 at 09:57:48AM +0300, Jani Nikula wrote:
> On Thu, 24 Oct 2019, Jonathan Corbet wrote:
> > On Sun, 20 Oct 2019 21:17:17 +0800
> > Changbin Du wrote:
> >
> >> The 'functions' directive is not only for functions, but also works for
> &
re
all documentation are updated.
Signed-off-by: Changbin Du
---
v2:
o use 'identifiers' as the new directive name.
---
Documentation/doc-guide/kernel-doc.rst | 29 ++
Documentation/sphinx/kerneldoc.py | 19 ++---
2 files changed, 28 insertions(+
type', but that is only for function.
> We don't allow documenting all those things separately, but it does cover
> all the things we do allow to be individually documented.
--
Cheers,
Changbin Du
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Tue, Oct 15, 2019 at 12:27:26PM -0600, Jonathan Corbet wrote:
> On Sun, 13 Oct 2019 13:53:59 +0800
> Changbin Du wrote:
>
> > The 'functions' directive is not only for functions, but also works for
> > structs/unions. So the name is misleading. This patch renam
improved
the warning message.
Signed-off-by: Changbin Du
---
Documentation/PCI/pci.rst | 4 +-
Documentation/core-api/boot-time-mm.rst | 2 +-
Documentation/core-api/debug-objects.rst | 14 +-
Documentation/core-api/genalloc.rst | 34 +--
Documentat
From: Changbin Du
This adds a new vGPU cap info bit VGT_CAPS_HUGE_GTT, which is to detect
whether the host supports shadowing of huge gtt pages. If host does
support it, remove the page sizes restriction for vGPU.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/i915_gem.c| 8
From: Changbin Du
Don't forget to free allocated spt if shadowing failed.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 33 +
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/i915/gvt/gtt.c b/drivers/gpu/drm
From: Changbin Du
This add 2M huge gtt support for GVTg. Unlike 64K gtt entry, we can
shadow 2M guest entry with real huge gtt. But before that, we have to
check memory physical continuous, alignment and if it is supported on
the host. We can get all supported page sizes from
From: Changbin Du
If the guest update the 64K gtt entry before changing IPS bit of PDE, we
need to re-shadow the whole page table. Because we have ignored all
updates to unused entries.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 20 +++-
1 file changed, 15
From: Changbin Du
Add clear_pse operation in case we need to split huge gtt into small pages.
v2: correct description.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 19 +++
drivers/gpu/drm/i915/gvt/gtt.h | 1 +
2 files changed, 20 insertions(+)
diff --git
From: Changbin Du
We need a interface to allocate a pure shadow page which doesn't have
a guest page associated with. Such shadow page is used to shadow 2M
huge gtt entry.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 62 +++---
1
From: Changbin Du
This add a software PTE flag on the Ignored bit of PTE. It will be used
to identify splited 64K shadow entries.
v2: fix mask definition.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 21 +
drivers/gpu/drm/i915/gvt/gtt.h | 3 +++
2
From: Changbin Du
The register RENDER_HWS_PGA_GEN7 is renamed to GEN8_GAMW_ECO_DEV_RW_IA
from GEN8 which can control IPS enabling.
v2: IPS of all engines must be enabled together for gen9.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/handlers.c | 29
From: Changbin Du
Add huge gtt shadowing for GVT. This will alow huge gtt feature turned on for
vGPU.
v6:
o Split changes of last patch in i915 side into a separated patch.
v5:
o IPS of all engines must be enabled together for gen9.
o Coding style improvment.
v4:
o Make first patch
From: Changbin Du
Add a new entry type GTT_TYPE_PPGTT_PTE_64K_ENTRY. 64K entry is very
different from 2M/1G entry. 64K entry is controlled by IPS bit in upper
PDE. To leverage the current logic, I take IPS bit as 'PSE' for PTE
level. Which means, 64K entries can also processed by ge
From: Changbin Du
Now GVTg supports shadowing both 2M/64K huge gtt pages. So let's turn on
the cap info bit VGT_CAPS_HUGE_GTT.
v2: Split changes in i915 side into a separated patch.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/vgpu.c | 1 +
1 file changed, 1 insertion(+)
From: Changbin Du
Finally, this add the first huge gtt support for GVTg - 64K pages. Since
64K page and 4K page cannot be mixed on the same page table, so we always
split a 64K entry into small 4K page. And when unshadow guest 64K entry,
we need ensure all the shadowed entries in shadow page
From: Changbin Du
Add three IPS operation functions to test/set/clear IPS in PDE.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 18 ++
drivers/gpu/drm/i915/gvt/gtt.h | 2 ++
2 files changed, 20 insertions(+)
diff --git a/drivers/gpu/drm/i915/gvt/gtt.c b
From: Changbin Du
64K PTE is special, only PTE#0, PTE#16, PTE#32, ... PTE#496 are used in
the page table.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/gvt/gtt.c b/drivers/gpu/drm
From: Changbin Du
To support huge gtt, we need to support huge pages in kvmgt first.
This patch adds a 'size' param to the intel_gvt_mpt::dma_map_guest_page
API and implements it in kvmgt.
v2: rebase.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 6 +-
d
From: Changbin Du
This change help us detect the real entry type per PSE and IPS setting.
For 64K entry, we also need to check reg GEN8_GAMW_ECO_DEV_RW_IA.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 68 +-
drivers/gpu/drm/i915/gvt
From: Changbin Du
If the guest update the 64K gtt entry before changing IPS bit of PDE, we
need to re-shadow the whole page table. Because we have ignored all
updates to unused entries.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 20 +++-
1 file changed, 15
From: Changbin Du
Don't forget to free allocated spt if shadowing failed.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 33 +
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/i915/gvt/gtt.c b/drivers/gpu/drm
From: Changbin Du
This add 2M huge gtt support for GVTg. Unlike 64K gtt entry, we can
shadow 2M guest entry with real huge gtt. But before that, we have to
check memory physical continuous, alignment and if it is supported on
the host. We can get all supported page sizes from
From: Changbin Du
This add a software PTE flag on the Ignored bit of PTE. It will be used
to identify splited 64K shadow entries.
v2: fix mask definition.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 21 +
drivers/gpu/drm/i915/gvt/gtt.h | 3 +++
2
From: Changbin Du
Now GVTg supports shadowing both 2M/64K huge gtt pages. So this is to
remove the restriction on guest side.
To be compatible with old host kernel, we defined a new cap info bit
VGT_CAPS_HUGE_GTT.
Cc: Zhenyu Wang
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt
From: Changbin Du
64K PTE is special, only PTE#0, PTE#16, PTE#32, ... PTE#496 are used in
the page table.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/gvt/gtt.c b/drivers/gpu/drm
From: Changbin Du
To support huge gtt, we need to support huge pages in kvmgt first.
This patch adds a 'size' param to the intel_gvt_mpt::dma_map_guest_page
API and implements it in kvmgt.
v2: rebase.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 6 +-
d
From: Changbin Du
We need a interface to allocate a pure shadow page which doesn't have
a guest page associated with. Such shadow page is used to shadow 2M
huge gtt entry.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 62 +++---
1
From: Changbin Du
Add clear_pse operation in case we need to split huge gtt into small pages.
v2: correct description.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 19 +++
drivers/gpu/drm/i915/gvt/gtt.h | 1 +
2 files changed, 20 insertions(+)
diff --git
From: Changbin Du
This change help us detect the real entry type per PSE and IPS setting.
For 64K entry, we also need to check reg GEN8_GAMW_ECO_DEV_RW_IA.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 68 +-
drivers/gpu/drm/i915/gvt
From: Changbin Du
Add a new entry type GTT_TYPE_PPGTT_PTE_64K_ENTRY. 64K entry is very
different from 2M/1G entry. 64K entry is controlled by IPS bit in upper
PDE. To leverage the current logic, I take IPS bit as 'PSE' for PTE
level. Which means, 64K entries can also processed by ge
From: Changbin Du
The register RENDER_HWS_PGA_GEN7 is renamed to GEN8_GAMW_ECO_DEV_RW_IA
from GEN8 which can control IPS enabling.
v2: IPS of all engines must be enabled together for gen9.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/handlers.c | 29
From: Changbin Du
Add three IPS operation functions to test/set/clear IPS in PDE.
Signed-off-by: Changbin Du
---
drivers/gpu/drm/i915/gvt/gtt.c | 18 ++
drivers/gpu/drm/i915/gvt/gtt.h | 2 ++
2 files changed, 20 insertions(+)
diff --git a/drivers/gpu/drm/i915/gvt/gtt.c b
From: Changbin Du
Add huge gtt shadowing for GVT. This will alow huge gtt feature turned on for
vGPU.
v5:
o IPS of all engines must be enabled together for gen9.
o Coding style improvment.
v4:
o Make first patch bisectable.
v3:
o rebase.
v2:
o fix comments from zhenyu.
o rebase
From: Changbin Du
Finally, this add the first huge gtt support for GVTg - 64K pages. Since
64K page and 4K page cannot be mixed on the same page table, so we always
split a 64K entry into small 4K page. And when unshadow guest 64K entry,
we need ensure all the shadowed entries in shadow page
From: Changbin Du
Our QA reported a problem caused by movntdqa instructions. Currently,
the KVM hypervisor doesn't support VEX-prefix instructions emulation.
If users passthrough a GPU to guest with vfio option 'x-no-mmap=on',
then all access to the BARs will be trapped and em
From: Changbin Du
Our QA reported a problem caused by movntdqa instructions. Currently,
the KVM hypervisor doesn't support VEX-prefix instructions emulation.
If users passthrough a GPU to guest with vfio option 'x-no-mmap=on',
then all access to the BARs will be trapped and em
From: Changbin Du
It mistakenly set debugfs root path to "/debug/dri", so correct it.
Signed-off-by: Changbin Du
---
overlay/debugfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/overlay/debugfs.c b/overlay/debugfs.c
index 9f3e5cc..5516949 100644
---
From: Changbin Du
Just found this is a useful introduction about User command
execution, so add it to doc-tree.
Signed-off-by: Changbin Du
---
Documentation/gpu/i915.rst | 6 ++
1 file changed, 6 insertions(+)
diff --git a/Documentation/gpu/i915.rst b/Documentation/gpu/i915.rst
index
From: Changbin Du
In the past, vGPU alloc fence registers by walking through mm.fence_list
to find fence which pin_count = 0 and vma is empty. vGPU may not find
enough fence registers this way. Because a fence can be bind to vma even
though it is not in using. We have found such failure many
From: Changbin Du
In the past, vGPU alloc fence registers by walking through mm.fence_list
to find fence which pin_count = 0 and vma is empty. vGPU may not find
enough fence registers this way. Because a fence can be bind to vma even
though it is not in using. We have found such failure many
From: Changbin Du
In the past, vGPU alloc fence registers by walking through mm.fence_list
to find fence which pin_count = 0 and vma is empty. vGPU may not find
enough fence registers this way. Because a fence can be bind to vma even
though it is not in using. We have found such failure many
From: Changbin Du
At least we need one MPT module (currently only have one) selected
to get GVTg functional. When GVTg is enabled while no MPT selected,
the build just includes useless GVTg code. This doesn't make sense.
With this patch, a submenut is created under i915 as below:
-*- E
From: Changbin Du
GVTg has introduced the context status notifier to schedule the GVTg
workload. At that time, the notifier is bound to GVTg context only,
so GVTg is not aware of host workloads.
Now we are going to improve GVTg's guest workload scheduler policy,
and add Guc emulation su
From: Changbin Du
GVTg has introduced the context status notifier to schedule the GVTg
workload. At that time, the notifier is bound to GVTg context only,
so GVTg is not aware of host workloads.
Now we are going to improve GVTg's guest workload scheduler policy,
and add Guc emulation su
From: Changbin Du
hi, Daniel, Chris and All,
As you know, GVTg introduced the context status notifier to schedule
the GVTg workload. At that time, the notifier is bound to GVTg context
only, so GVTg is not aware of host workloads.
Now we are going to improve GVTg's guest workload sche
35.749567] [] ? process_one_work+0x470/0x470
[ 35.749567] [] ?
call_usermodehelper_exec_async+0x12e/0x130
[ 35.749567] [] kthread+0xc5/0xe0
[ 35.749567] [] ? kthread_park+0x60/0x60
[ 35.749567] [] ? umh_complete+0x40/0x40
[ 35.749567] [] ret_from_fork+0x22/0x30
Signed-off-by: Changbin Du
--
50 matches
Mail list logo