_alloc failed and why.
> It's not there to determine why it did not produce a printk message.
>
> -- Steve
Thanks,
Dennis
On Tue, Apr 20, 2021 at 04:37:02PM +0530, Pratik Sampat wrote:
>
> On 20/04/21 4:27 am, Dennis Zhou wrote:
> > On Mon, Apr 19, 2021 at 10:50:43PM +, Dennis Zhou wrote:
> > > Hello,
> > >
> > > This series is a continuation of Roman's series in [1]. It
On Mon, Apr 19, 2021 at 10:50:43PM +, Dennis Zhou wrote:
> Hello,
>
> This series is a continuation of Roman's series in [1]. It aims to solve
> chunks holding onto free pages by adding a reclaim process to the percpu
> balance work item.
>
>
On Mon, Apr 19, 2021 at 10:50:43PM +, Dennis Zhou wrote:
> Hello,
>
> This series is a continuation of Roman's series in [1]. It aims to solve
> chunks holding onto free pages by adding a reclaim process to the percpu
> balance work item.
>
And I forgot to lin
ion, sidelined chunks are first
checked before creating a new chunk.
Signed-off-by: Roman Gushchin
Co-developed-by: Dennis Zhou
Signed-off-by: Dennis Zhou
---
mm/percpu-internal.h | 4 +
mm/percpu-km.c | 5 ++
mm/percpu-stats.c| 12 +--
mm/percpu-vm.c | 30
to_depopulate_slot. pcpu_nr_isolated_empty_pop_pages[] is introduced to
aid with this.
Suggested-by: Roman Gushchin
Signed-off-by: Dennis Zhou
---
mm/percpu-internal.h | 1 +
mm/percpu-stats.c| 8 ++--
mm/percpu.c | 44 +---
3 files changed, 4
This prepares for adding a to_depopulate list and sidelined list after
the free slot in the set of lists in pcpu_slot.
Signed-off-by: Dennis Zhou
---
mm/percpu.c | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/mm/percpu.c b/mm/percpu.c
index 5edc7bd88133
From: Roman Gushchin
Factor out the pcpu_check_block_hint() helper, which will be useful
in the future. The new function checks if the allocation can likely
fit within the contig hint.
Signed-off-by: Roman Gushchin
Signed-off-by: Dennis Zhou
---
mm/percpu.c | 30
67c2669d69fb.
diffstats below:
Dennis Zhou (2):
percpu: use pcpu_free_slot instead of pcpu_nr_slots - 1
percpu: use reclaim threshold instead of running for every page
Roman Gushchin (2):
percpu: factor out pcpu_check_block_hint()
percpu: implement partial chunk depopulation
mm/percpu
> On Fri, Apr 16, 2021 at 11:57:03PM +0530, Pratik Sampat wrote:
> > > > > On 16/04/21 10:43 pm, Roman Gushchin wrote:
> > > > > > On Fri, Apr 16, 2021 at 08:58:33PM +0530, Pratik Sampat wrote:
> > > > > > > Hello Dennis,
> > > >
ing
> - * a new chunk would happen soon.
> - */
> - bit_off = ALIGN(chunk_md->contig_hint_start, align) -
> - chunk_md->contig_hint_start;
> - if (bit_off + alloc_bits > chunk_md->contig_hint)
> + if (!pcpu_check_chunk_hint(chunk_md, alloc_bits, align))
> return -1;
>
> bit_off = pcpu_next_hint(chunk_md, alloc_bits);
> --
> 2.30.2
>
Thanks,
Dennis
worry about synchronization */
> + pcpu_atomic_alloc_failed = false;
> + pcpu_grow_populated(type, nr_to_pop);
> + } else if (pcpu_nr_empty_pop_pages[type] < PCPU_EMPTY_POP_PAGES_HIGH) {
> + nr_to_pop = PCPU_EMPTY_POP_PAGES_HIGH -
> pcpu_nr_empty_pop_pages[type];
> + pcpu_grow_populated(type, nr_to_pop);
> + }
> +}
> +
> /**
> * pcpu_balance_workfn - manage the amount of free chunks and populated pages
> * @work: unused
> --
> 2.30.2
>
I've applied this for-5.14.
Thanks,
Dennis
_first_chunk->nr_empty_pop_pages;
> + pcpu_nr_empty_pop_pages[PCPU_CHUNK_ROOT] =
> pcpu_first_chunk->nr_empty_pop_pages;
> pcpu_chunk_relocate(pcpu_first_chunk, -1);
>
> /* include all regions of the first chunk */
> --
> 2.30.2
>
This turns out to have been a more pressing issue. Thanks for fixing
this. I ran this to Linus for v5.12-rc7 [1].
https://lore.kernel.org/lkml/yhhs618esvkhy...@google.com/
Thanks,
Dennis
ep the current synchronization in place.
>
> Signed-off-by: Roman Gushchin
> Reviewed-by: Dennis Zhou
> ---
> mm/percpu.c | 46 +-
> 1 file changed, 29 insertions(+), 17 deletions(-)
>
> diff --git a/mm/percpu.c b/mm/percpu.
; + * 1-31 bytes share the same slot.
> + */
> #define PCPU_SLOT_BASE_SHIFT 5
> /* chunks in slots below this are subject to being sidelined on failed alloc
> */
> #define PCPU_SLOT_FAIL_THRESHOLD 3
> --
> 2.30.2
>
I've applied this to for-5.14.
Thanks,
Dennis
ist, depopulation scan this list
> >- chunk->isolated is introduced, chunk->depopulate is dropped
> >- rearranged patches a bit
> >- fixed a panic discovered by krobot
> >- made pcpu_nr_empty_pop_pages per chunk type
> >- minor fixes
> >
> > rfc:
> >https://lwn.net/Articles/850508/
> >
> >
> > Roman Gushchin (6):
> >percpu: fix a comment about the chunks ordering
> >percpu: split __pcpu_balance_workfn()
> >percpu: make pcpu_nr_empty_pop_pages per chunk type
> >percpu: generalize pcpu_balance_populated()
> >percpu: factor out pcpu_check_chunk_hint()
> >percpu: implement partial chunk depopulation
> >
> > mm/percpu-internal.h | 4 +-
> > mm/percpu-stats.c| 9 +-
> > mm/percpu.c | 306 +++
> > 3 files changed, 261 insertions(+), 58 deletions(-)
> >
>
Roman, sorry for the delay. I'm looking to apply this today to for-5.14.
Thanks,
Dennis
On Thu, Apr 15, 2021 at 01:24:31PM +0800, Huang, Ying wrote:
> Dennis Zhou writes:
>
> > On Wed, Apr 14, 2021 at 01:44:58PM +0800, Huang, Ying wrote:
> >> Dennis Zhou writes:
> >>
> >> > On Wed, Apr 14, 2021 at 11:59:03AM +0800, Huan
On Thu, Apr 15, 2021 at 11:16:42AM +0800, Miaohe Lin wrote:
> On 2021/4/14 22:53, Dennis Zhou wrote:
> > On Wed, Apr 14, 2021 at 01:44:58PM +0800, Huang, Ying wrote:
> >> Dennis Zhou writes:
> >>
> >>> On Wed, Apr 14, 2021 at 11:59:03AM +0800, Huang,
On Wed, Apr 14, 2021 at 01:44:58PM +0800, Huang, Ying wrote:
> Dennis Zhou writes:
>
> > On Wed, Apr 14, 2021 at 11:59:03AM +0800, Huang, Ying wrote:
> >> Dennis Zhou writes:
> >>
> >> > Hello,
> >> >
> >> > On Wed, Apr 1
On Wed, Apr 14, 2021 at 11:59:03AM +0800, Huang, Ying wrote:
> Dennis Zhou writes:
>
> > Hello,
> >
> > On Wed, Apr 14, 2021 at 10:06:48AM +0800, Huang, Ying wrote:
> >> Miaohe Lin writes:
> >>
> >> > On 2021/4/14 9:17, Huang, Ying wrote:
&
t;> * Guarantee swap_map, cluster_info, etc. fields are valid
> >>>>>> * between get/put_swap_device() if SWP_VALID bit is set
> >>>>>> */
> >>>>>> - synchronize_rcu();
> >>>>>> + percpu_ref_reinit(>users);
> >>>>>
> >>>>> Although the effect is same, I think it's better to use
> >>>>> percpu_ref_resurrect() here to improve code readability.
> >>>>
> >>>> Check the original commit description for commit eb085574a752 "mm, swap:
> >>>> fix race between swapoff and some swap operations" and discussion email
> >>>> thread as follows again,
> >>>>
> >>>> https://lore.kernel.org/linux-mm/20171219053650.gb7...@linux.vnet.ibm.com/
> >>>>
> >>>> I found that the synchronize_rcu() here is to avoid to call smp_rmb() or
> >>>> smp_load_acquire() in get_swap_device(). Now we will use
> >>>> percpu_ref_tryget_live() in get_swap_device(), so we will need to add
> >>>> the necessary memory barrier, or make sure percpu_ref_tryget_live() has
> >>>> ACQUIRE semantics. Per my understanding, we need to change
> >>>> percpu_ref_tryget_live() for that.
> >>>>
> >>>
> >>> Do you mean the below scene is possible?
> >>>
> >>> cpu1
> >>> swapon()
> >>> ...
> >>> percpu_ref_init
> >>> ...
> >>> setup_swap_info
> >>> /* smp_store_release() is inside percpu_ref_reinit */
> >>> percpu_ref_reinit
> >>
> >> spin_unlock() has RELEASE semantics already.
> >>
> >>> ...
> >>>
> >>> cpu2
> >>> get_swap_device()
> >>> /* ignored smp_rmb() */
> >>> percpu_ref_tryget_live
> >>
> >> Some kind of ACQUIRE is required here to guarantee the refcount is
> >> checked before fetching the other fields of swap_info_struct. I have
> >> sent out a RFC patch to mailing list to discuss this.
I'm just catching up and following along a little bit. I apologize I
haven't read the swap code, but my understanding is you are trying to
narrow a race condition with swapoff. That makes sense to me. I'm not
sure I follow the need to race with reinitializing the ref though? Is it
not possible to wait out the dying swap info and then create a new one
rather than push acquire semantics?
> >
> > Many thanks.
> > But We may still need to add a smp_rmb() in get_swap_device() in case
> > we can't add ACQUIRE for refcount.
>
> Yes.
>
> Best Regards,
> Huang, Ying
>
Thanks,
Dennis
...@mail.gmail.com/
Thanks,
Dennis
The following changes since commit e49d033bddf5b565044e2abe4241353959bc9120:
Linux 5.12-rc6 (2021-04-04 14:15:36 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu.git for-5.12-fixes
for you to fetch changes
On 4/8/2021 6:00 PM, Stephen Rothwell wrote:
Hi all,
Commit
042a00f93aad ("IB/{ipoib,hfi1}: Add a timeout handler for rdma_netdev")
is missing a Signed-off-by from its author.
Doh! That's my fault. I must have fat fingered the delete button instead
of editing the line when I was
path, if there are no suitable chunks found,
> the list of sidelined chunks in scanned prior to creating a new chunk.
> If there is a good sidelined chunk, it's placed back to the slot
> and the scanning is restarted.
>
> Many thanks to Dennis Zhou for his great ideas and a very con
eleases), and then tries to depopulate each chunk. Successfully
> or not, at the end all chunks are returned to appropriate slots
> and their isolated flags are cleared.
>
> Many thanks to Dennis Zhou for his great ideas and a very constructive
> discussion which led to m
On Mon, Mar 29, 2021 at 01:10:10PM -0700, Roman Gushchin wrote:
> On Mon, Mar 29, 2021 at 07:21:24PM +0000, Dennis Zhou wrote:
> > On Wed, Mar 24, 2021 at 12:06:25PM -0700, Roman Gushchin wrote:
> > > To return unused memory to the system schedule an async
> > > de
On Mon, Mar 29, 2021 at 11:29:22AM -0700, Roman Gushchin wrote:
> On Mon, Mar 29, 2021 at 05:20:55PM +0000, Dennis Zhou wrote:
> > On Wed, Mar 24, 2021 at 12:06:23PM -0700, Roman Gushchin wrote:
> > > This patch implements partial depopulation of percpu chunks.
> > >
;depopulate &&
> + !chunk->immutable) {
> + chunk->depopulate = true;
> + pcpu_nr_chunks_to_depopulate++;
> + break;
> + }
> +
> + if (pcpu_nr_chunks_to_depopulate > 1)
> + need_balance = true;
> }
>
> trace_percpu_free_percpu(chunk->base_addr, off, ptr);
> --
> 2.30.2
>
Some questions I have:
1. How do we prevent unnecessary scanning for atomic allocations?
2. Even in the normal case, should we try to pack future allocations
into a smaller # of chunks in after depopulation?
3. What is the right frequency to do depopulation scanning? I think of
the pcpu work item as a way to defer the 2 the freeing of chunks and in
a way more immediately replenish free pages. Depopulation isn't
necessarily as high a priority.
Thanks,
Dennis
>
> - for (type = 0; type < PCPU_NR_CHUNK_TYPES; type++)
> - __pcpu_balance_workfn(type);
> + for (type = 0; type < PCPU_NR_CHUNK_TYPES; type++) {
> + mutex_lock(_alloc_mutex);
> + pcpu_balance_free(type);
> + pcpu_balance_populated(type);
> + mutex_unlock(_alloc_mutex);
> + }
> }
>
> /**
> --
> 2.30.2
>
Reviewed-by: Dennis Zhou
This makes sense. If you want me to pick this and the last patch up
first I can. Otherwise, do you mind moving this to the front of the
stack because it is a clean up?
Thanks,
Dennis
On Wed, Mar 24, 2021 at 12:06:23PM -0700, Roman Gushchin wrote:
> This patch implements partial depopulation of percpu chunks.
>
> As now, a chunk can be depopulated only as a part of the final
> destruction, when there are no more outstanding allocations. However
> to minimize a memory waste, it
mismatch due to percpu setup being marked __init. It is fixed by
introducing __flatten to compiler_attributes.h. This has been supported
since clang 3.5 and gcc 4.4 [1].
[1]
https://lore.kernel.org/lkml/CAKwvOdnxnooqtyeSem63V_P5980jc0Z2PDG=0im8ixeytsa...@mail.gmail.com/
Thanks,
Dennis
The following
...@mail.gmail.com/
Reported-by: kernel test robot
Cc: Arnd Bergmann
Cc: Nick Desaulniers
Signed-off-by: Dennis Zhou
---
include/linux/compiler_attributes.h | 6 ++
mm/percpu.c | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/include/linux
Hi Nick,
On Mon, Jan 25, 2021 at 10:27:11AM -0800, Nick Desaulniers wrote:
> On Mon, Jan 25, 2021 at 3:07 AM Arnd Bergmann wrote:
> >
> > On Tue, Jan 5, 2021 at 1:55 AM Dennis Zhou wrote:
> > >
> > > On Mon, Jan 04, 2021 at 04:46:51PM -0700, Nathan Chancellor wr
On Mon, Jan 25, 2021 at 12:07:24PM +0100, Arnd Bergmann wrote:
> On Tue, Jan 5, 2021 at 1:55 AM Dennis Zhou wrote:
> >
> > On Mon, Jan 04, 2021 at 04:46:51PM -0700, Nathan Chancellor wrote:
> > > On Thu, Dec 31, 2020 at 09:28:52PM +, Dennis Zhou wrote:
&
On Mon, Jan 04, 2021 at 04:46:51PM -0700, Nathan Chancellor wrote:
> On Thu, Dec 31, 2020 at 09:28:52PM +0000, Dennis Zhou wrote:
> > This is an unusual situation so I thought it best to explain it in a
> > separate patch.
> >
> > "percpu: reduce the number of cpu
_clear_cpu not inlined into
pcpu_build_alloc_info because too costly to inline (cost=725, threshold=325)
[-Rpass-missed=inline]
[1] https://lore.kernel.org/linux-mm/202012220454.9f6bkz9q-...@intel.com/
Reported-by: kernel test robot
Signed-off-by: Dennis Zhou
---
This is on top of percpu#for-5.12.
m
Add parenthesis around the alsa2chip macro to remove a checkpatch error.
Signed-off-by: Dennis Skovborg Jørgensen
---
drivers/staging/vc04_services/bcm2835-audio/bcm2835.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h
Hi Linus,
A fix for a Wshadow warning in asm-generic percpu macros came in and
then I tacked on the removal of flexible array initializers in the
percpu allocator which was discussed in the 5.9 pull request.
Thanks,
Dennis
The following changes since commit
Use the safer macro as sparked by the long discussion in [1].
[1] https://lore.kernel.org/lkml/20200917204514.ga2880...@google.com/
Signed-off-by: Dennis Zhou
---
I'll apply it to for-5.10-fixes.
mm/percpu.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/mm
cal_irq_restore(___flags);\
> + ___ret; \
> })
>
> #define this_cpu_generic_read(pcp) \
> --
> 2.27.0
>
I've applied this to percpu#for-5.10-fixes.
Thanks,
Dennis
I am Mr.Dennis, i work as an accountant in a bank, i am contacting you
in regards to a business transfer of a huge sum of money from a
deceased account. I need your urgent assistance in transferring the
sum of $11.6million dollars to your private bank account,the fund
belongs to one of our
On 10/16/2020 10:11 AM, Jason Gunthorpe wrote:
On Mon, Oct 12, 2020 at 08:36:57AM -0400, Dennis Dalessandro wrote:
On 10/10/2020 4:57 AM, Xianting Tian wrote:
In architecture like powerpc, we can have cpus without any local memory
attached to it. In such cases the node does not have real
On 10/10/2020 4:57 AM, Xianting Tian wrote:
In architecture like powerpc, we can have cpus without any local memory
attached to it. In such cases the node does not have real memory.
Use local_memory_node(), which is guaranteed to have memory.
local_memory_node is a noop in other architectures
s), GFP_KERNEL);
if (!rdi->ports)
ib_dealloc_device(>ibdev);
Acked-by: Dennis Dalessandro
Hi Matthias,
On Mon, 2020-09-21 at 18:19 +0200, Matthias Brugger wrote:
>
> On 07/07/2020 17:45, Dennis YC Hsieh wrote:
> > Add clear parameter to let client decide if
> > event should be clear to 0 after GCE receive it.
> >
> > Change since v2:
> >
and alignment requirements working in our favor.
Thanks,
Dennis
The following changes since commit f75aef392f869018f78cfedf3c320a6b3fcfda6b:
Linux 5.9-rc3 (2020-08-30 16:01:54 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu.git
[AMD Official Use Only - Internal Distribution Only]
Hi, Lukas,
Thanks for your fix. This issue was caused by that I modified these files
in windows system with Samba. I will take care in the future.
Best Regards
Dennis Li
-Original Message-
From: Lukas Bulwahn
Sent: Wednesday
--
Hello. Greetings dd you received my previous email?
On Thu, Jul 23, 2020 at 01:08:42AM +0200, Thomas Gleixner wrote:
> Dennis Zhou writes:
> > On Mon, Jul 20, 2020 at 01:49:14PM -0700, Nick Desaulniers wrote:
> >> Resend of Brian's v2 with Acks from Peter and Linus collected, as well
> >> as the final patch (mine) add
o
>
> Nick Desaulniers (1):
> x86: support i386 with Clang
>
> arch/x86/include/asm/percpu.h | 510 +++--
> arch/x86/include/asm/uaccess.h | 4 +-
> 2 files changed, 175 insertions(+), 339 deletions(-)
>
> --
> 2.28.0.rc0.105.gf9edc3c819-goog
>
This looks great to me! I applied it to for-5.9.
Thanks,
Dennis
I am Mr.Dennis ,i work as an accountant in a bank.I am contacting you
independently of my investigation in my bank,i need your urgent
assistance in transferring the sum of $11.6million dollars to your
private bank account,the fund belongs to one of our foreign customer
who died a longtime with his
Add jump function so that client can jump to any address which
contains instruction.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 13 +
include/linux/soc/mediatek/mtk-cmdq.h | 11 +++
2 files changed, 24 insertions(+)
diff --git a/drivers
add write_s function in cmdq helper functions which
writes a constant value to address with large dma
access support.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 14 ++
include/linux/soc/mediatek/mtk-cmdq.h | 13 +
2 files changed, 27
No need to clear event again since event always clear before wait.
This fix depend on patch:
"soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api"
Fixes: 2f965be7f9008 ("drm/mediatek: apply CMDQ control flow")
Signed-off-by: Dennis YC Hsieh
---
drivers/gpu/drm/med
add write_s function in cmdq helper functions which
writes value contains in internal register to address
with large dma access support.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 19 +++
include/linux/mailbox/mtk-cmdq-mailbox.h |1
Add address shift when compose jump instruction
to compatible with 35bit format.
Change since v1:
- Rename cmdq_mbox_shift() to cmdq_get_shift_pa().
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c |3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
Add read_s function in cmdq helper functions which support read value from
register or dma physical address into gce internal register.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 15 +++
include/linux/mailbox/mtk-cmdq-mailbox.h |1 +
include
add write_s_mask function in cmdq helper functions which
writes value contains in internal register to address
with mask and large dma access support.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 23 +++
include/linux/mailbox/mtk-cmdq
since v2:
- Keep behavior in drm crtc driver and
separate bug fix code into another patch.
Change since v1:
- Rename cmdq_mbox_shift() to cmdq_get_shift_pa().
Dennis YC Hsieh (9):
soc: mediatek: cmdq: add address shift in jump
soc: mediatek: cmdq: add write_s function
soc: mediatek: cmdq
add write_s_mask_value function in cmdq helper functions which
writes a constant value to address with mask and large dma
access support.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 21 +
include/linux/soc/mediatek/mtk-cmdq.h | 15
Add clear parameter to let client decide if
event should be clear to 0 after GCE receive it.
Change since v2:
- Keep behavior in drm crtc driver and
separate bug fix code into another patch.
Signed-off-by: Dennis YC Hsieh
---
drivers/gpu/drm/mediatek/mtk_drm_crtc.c |2 +-
drivers/soc
gt; performance of OVERCOMMIT_NEVER workloads or just in-par with the data
> > > > before the patchset?
> > >
> > > For the original patchset, it keeps vm_committed_as unchanged for
> > > OVERCOMMIT_NEVER policy and enlarge it for the other 2 loose policies
> > > OVERCOMMIT_ALWAYS and OVERCOMMIT_GUESS, and I don't expect the
> > > "OVERCOMMIT_NEVER
> > > workloads" performance will be impacted. If you have suggetions for this
> > > kind of benchmarks, I can test them to better verify the patchset, thanks!
> >
> > Then, please capture those information into a proper commit log when you
> > submit the regression fix on top of the patchset, and CC PER-CPU MEMORY
> > ALLOCATOR maintainers, so they might be able to review it properly.
>
>
>
Thanks,
Dennis
Hi CK,
Thanks for your comment.
On Tue, 2020-07-07 at 07:46 +0800, Chun-Kuang Hu wrote:
> Hi, Dennis:
>
> Dennis YC Hsieh 於 2020年7月6日 週一 下午3:20寫道:
> >
> > Add clear parameter to let client decide if
> > event should be clear to 0 after GCE receive it.
> &g
Hi Matthias,
thanks for your comment
On Mon, 2020-07-06 at 16:03 +0200, Matthias Brugger wrote:
>
> On 05/07/2020 08:48, Dennis YC Hsieh wrote:
> > Add address shift when compose jump instruction
> > to compatible with 35bit format.
> >
> > Signed-off-by: Dennis
Add read_s function in cmdq helper functions which support read value from
register or dma physical address into gce internal register.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 15 +++
include/linux/mailbox/mtk-cmdq-mailbox.h |1 +
include
since v1:
- Rename cmdq_mbox_shift() to cmdq_get_shift_pa().
Dennis YC Hsieh (8):
soc: mediatek: cmdq: add address shift in jump
soc: mediatek: cmdq: add write_s function
soc: mediatek: cmdq: add write_s_mask function
soc: mediatek: cmdq: add read_s function
soc: mediatek: cmdq: add write_s
add write_s_mask function in cmdq helper functions which
writes value contains in internal register to address
with mask and large dma access support.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 23 +++
include/linux/mailbox/mtk-cmdq
add write_s function in cmdq helper functions which
writes a constant value to address with large dma
access support.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 14 ++
include/linux/soc/mediatek/mtk-cmdq.h | 13 +
2 files changed, 27
Add address shift when compose jump instruction
to compatible with 35bit format.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c |3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c
b/drivers/soc/mediatek/mtk
Add jump function so that client can jump to any address which
contains instruction.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 13 +
include/linux/soc/mediatek/mtk-cmdq.h | 11 +++
2 files changed, 24 insertions(+)
diff --git a/drivers
add write_s function in cmdq helper functions which
writes value contains in internal register to address
with large dma access support.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 19 +++
include/linux/mailbox/mtk-cmdq-mailbox.h |1
Add clear parameter to let client decide if
event should be clear to 0 after GCE receive it.
Fixes: 2f965be7f9008 ("drm/mediatek: apply CMDQ control flow")
Signed-off-by: Dennis YC Hsieh
Reviewed-by: CK Hu
---
drivers/gpu/drm/mediatek/mtk_drm_crtc.c |2 +-
drivers/soc/mediate
add write_s_mask_value function in cmdq helper functions which
writes a constant value to address with mask and large dma
access support.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 21 +
include/linux/soc/mediatek/mtk-cmdq.h | 15
Some gce hardware shift pc and end address in register to support
large dram addressing.
Implement gce address shift when write or read pc and end register.
And add shift bit in platform definition.
Signed-off-by: Dennis YC Hsieh
---
drivers/mailbox/mtk-cmdq-mailbox.c | 57
/write_s_mask and write_s_value/write_s_mask_value so that
client can decide use mask or not
- fix typo in header
[... snip ...]
Dennis YC Hsieh (4):
dt-binding: gce: add gce header file for mt6779
mailbox: cmdq: variablize address shift in platform
mailbox: cmdq: support mt6779 gce platform
Add gce v4 hardware support with different thread number and shift.
Signed-off-by: Dennis YC Hsieh
Reviewed-by: CK Hu
Reviewed-by: Matthias Brugger
Reviewed-by: Bibby Hsieh
---
drivers/mailbox/mtk-cmdq-mailbox.c |2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/mailbox/mtk
Add documentation for the mt6779 gce.
Add gce header file defined the gce hardware event,
subsys number and constant for mt6779.
Signed-off-by: Dennis YC Hsieh
Reviewed-by: Rob Herring
Reviewed-by: CK Hu
Reviewed-by: Bibby Hsieh
---
.../devicetree/bindings/mailbox/mtk-gce.txt|8
Do success callback in channel when shutdown. For those task not finish,
callback with error code thus client has chance to cleanup or reset.
Signed-off-by: Dennis YC Hsieh
Reviewed-by: CK Hu
Reviewed-by: Bibby Hsieh
---
drivers/mailbox/mtk-cmdq-mailbox.c | 38
-by: Bolarinwa Olayemi Saheed
Looks like we may have had a problem when calling
pci_read_config_dword() from the init dd path and doing a check for < 0
to bail. So this looks like goodness to me.
Reviewed-by: Dennis Dalessandro
if ((linkcap & PCI_EXP_LNKCAP_SLS) != PCI_EXP_LNKCAP_SLS_8_0GB) {
Reviewed-by: Dennis Dalessandro
here.
Fixes: 6d72344cf6c4 ("IB/ipoib: Increase ipoib Datagram mode MTU's upper limit")
Link: https://github.com/ClangBuiltLinux/linux/issues/1062
Link:
https://lore.kernel.org/linux-rdma/20200527040350.GA3118979@ubuntu-s3-xlarge-x86/
Signed-off-by: Nathan Chancellor
---
Acked-
Hi Matthias,
On Mon, 2020-06-22 at 19:08 +0200, Matthias Brugger wrote:
>
> On 22/06/2020 18:12, Dennis-YC Hsieh wrote:
> > Hi Matthias,
> >
> > On Mon, 2020-06-22 at 17:54 +0200, Matthias Brugger wrote:
> >>
> >> On 22/06/2020 17:36
Hi Matthias,
On Mon, 2020-06-22 at 17:54 +0200, Matthias Brugger wrote:
>
> On 22/06/2020 17:36, Dennis-YC Hsieh wrote:
> > Hi Matthias,
> >
> > thanks for your comment.
> >
> > On Mon, 2020-06-22 at 13:07 +0200, Matthias Brugger wrote:
> >>
&g
Hi Matthias,
thanks for your comment.
On Mon, 2020-06-22 at 13:19 +0200, Matthias Brugger wrote:
>
> On 21/06/2020 16:18, Dennis YC Hsieh wrote:
> > Add clear parameter to let client decide if
> > event should be clear to 0 after GCE receive it.
> >
> >
Hi Matthias,
thanks for your comment.
On Mon, 2020-06-22 at 13:07 +0200, Matthias Brugger wrote:
>
> On 21/06/2020 16:18, Dennis YC Hsieh wrote:
> > add write_s function in cmdq helper functions which
> > writes value contains in internal register to address
> > with
Hi Bibby,
On Mon, 2020-06-22 at 10:40 +0800, Bibby Hsieh wrote:
> Hi, Dennis,
>
> Please add "depends on patch: support gce on mt6779 platform" in cover
> letter. Thanks
ok will do, thanks
Regards,
Dennis
>
> Bibby
>
> On Sun, 2020-06-21 at
Hi Bibby,
Thanks for your comment.
On Mon, 2020-06-22 at 10:33 +0800, Bibby Hsieh wrote:
> On Sun, 2020-06-21 at 21:22 +0800, Dennis YC Hsieh wrote:
> > Some gce hardware shift pc and end address in register to support
> > large dram addressing.
> > Implement gce address shi
Add assign function in cmdq helper which assign constant value into
internal register by index.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 24 +++-
include/linux/mailbox/mtk-cmdq-mailbox.h |1 +
include/linux/soc/mediatek/mtk-cmdq.h
add write_s_mask function in cmdq helper functions which
writes value contains in internal register to address
with mask and large dma access support.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 23 +++
include/linux/mailbox/mtk-cmdq
add write_s function in cmdq helper functions which
writes value contains in internal register to address
with large dma access support.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 19 +++
include/linux/mailbox/mtk-cmdq-mailbox.h |1
Add address shift when compose jump instruction
to compatible with 35bit format.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c |3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c
b/drivers/soc/mediatek/mtk
Add set event function in cmdq helper functions to set specific event.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 15 +++
include/linux/mailbox/mtk-cmdq-mailbox.h |1 +
include/linux/soc/mediatek/mtk-cmdq.h|9 +
3 files
Add clear parameter to let client decide if
event should be clear to 0 after GCE receive it.
Signed-off-by: Dennis YC Hsieh
Reviewed-by: CK Hu
---
drivers/gpu/drm/mediatek/mtk_drm_crtc.c |2 +-
drivers/soc/mediatek/mtk-cmdq-helper.c |5 +++--
include/linux/mailbox/mtk-cmdq-mailbox.h
Add read_s function in cmdq helper functions which support read value from
register or dma physical address into gce internal register.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 15 +++
include/linux/mailbox/mtk-cmdq-mailbox.h |1 +
include
add write_s_mask_value function in cmdq helper functions which
writes a constant value to address with mask and large dma
access support.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 21 +
include/linux/soc/mediatek/mtk-cmdq.h | 15
Add jump function so that client can jump to any address which
contains instruction.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 13 +
include/linux/soc/mediatek/mtk-cmdq.h | 11 +++
2 files changed, 24 insertions(+)
diff --git a/drivers
add write_s function in cmdq helper functions which
writes a constant value to address with large dma
access support.
Signed-off-by: Dennis YC Hsieh
---
drivers/soc/mediatek/mtk-cmdq-helper.c | 14 ++
include/linux/soc/mediatek/mtk-cmdq.h | 13 +
2 files changed, 27
Export finalize function to client which helps append eoc and jump
command to pkt. Let client decide call finalize or not.
Signed-off-by: Dennis YC Hsieh
Reviewed-by: CK Hu
Acked-by: Chun-Kuang Hu
---
drivers/gpu/drm/mediatek/mtk_drm_crtc.c |1 +
drivers/soc/mediatek/mtk-cmdq-helper.c
This patch support cmdq helper function on mt6779 platform,
based on "support gce on mt6779 platform" patchset.
Dennis YC Hsieh (11):
soc: mediatek: cmdq: add address shift in jump
soc: mediatek: cmdq: add assign function
soc: mediatek: cmdq: add write_s function
soc: mediatek:
Add gce v4 hardware support with different thread number and shift.
Signed-off-by: Dennis YC Hsieh
Reviewed-by: CK Hu
Reviewed-by: Matthias Brugger
---
drivers/mailbox/mtk-cmdq-mailbox.c |2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c
b/drivers
1 - 100 of 919 matches
Mail list logo