linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Haren Myneni <haren@linux.ibm.com>
To: Nicholas Piggin <npiggin@gmail.com>,
	herbert@gondor.apana.org.au, linux-crypto@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, mpe@ellerman.id.au
Subject: Re: [V3 PATCH 03/16] powerpc/vas: Create take/drop task reference functions
Date: Mon, 10 May 2021 13:32:51 -0700	[thread overview]
Message-ID: <87bf041c7b33464c7d312f12f1329db7687750aa.camel@linux.ibm.com> (raw)
In-Reply-To: <1620624047.yy8sqcrk40.astroid@bobo.none>

On Mon, 2021-05-10 at 15:28 +1000, Nicholas Piggin wrote:
> Excerpts from Haren Myneni's message of April 18, 2021 7:03 am:
> > Take task reference when each window opens and drops during close.
> > This functionality is needed for powerNV and pseries. So this patch
> > defines the existing code as functions in common book3s platform
> > vas-api.c
> > 
> > Signed-off-by: Haren Myneni <haren@linux.ibm.com>
> > ---
> >  arch/powerpc/include/asm/vas.h              | 20 ++++++++
> >  arch/powerpc/platforms/book3s/vas-api.c     | 51
> > ++++++++++++++++++
> >  arch/powerpc/platforms/powernv/vas-fault.c  | 10 ++--
> >  arch/powerpc/platforms/powernv/vas-window.c | 57 ++---------------
> > ----
> >  arch/powerpc/platforms/powernv/vas.h        |  6 +--
> >  5 files changed, 83 insertions(+), 61 deletions(-)
> > 
> > diff --git a/arch/powerpc/include/asm/vas.h
> > b/arch/powerpc/include/asm/vas.h
> > index 6bbade60d8f4..2daaa1a2a9a9 100644
> > --- a/arch/powerpc/include/asm/vas.h
> > +++ b/arch/powerpc/include/asm/vas.h
> > @@ -5,6 +5,9 @@
> >  
> >  #ifndef _ASM_POWERPC_VAS_H
> >  #define _ASM_POWERPC_VAS_H
> > +#include <linux/sched/mm.h>
> > +#include <linux/mmu_context.h>
> > +#include <asm/icswx.h>
> >  #include <uapi/asm/vas-api.h>
> >  
> >  
> > @@ -60,6 +63,22 @@ struct vas_user_win_ops {
> >  	int (*close_win)(void *);
> >  };
> >  
> > +struct vas_win_task {
> > +	struct pid *pid;	/* Thread group ID of owner */
> > +	struct pid *tgid;	/* Linux process mm_struct */
> > +	struct mm_struct *mm;	/* Linux process mm_struct */
> > +};
> 
> Looks okay, happy with struct vas_win_task? (and vas_user_win_ops)?
> 
> I'd be happier to have everything related to vas windows prefixed
> with 
> vas_window_ consistently, and have _user be present always for
> userspace
> windows, but you have to read and type it.

I will change to vas_window_task and vas_user_window_ops. struct
vas_window is common for both kernel and user space window, but struct
vas_window_task is needed only for user space.

> 
> > +
> > +static inline void vas_drop_reference_task(struct vas_win_task
> > *task)
> 
> This is not dropping a reference task, but a task reference. And
> it's 
> not really a task reference as far as Linux understands, but a
> reference on pid (not task) and mm related to an open vas window. And
> specifically a user window (with corresponding vas_user_win_ops).

Yes get and put references to pid and mm. Hence mentioned
reference_task to reflect for both pid and mm. Would you prefer
vas_put_reference_pid_mm()?

> 
> Could it be called a 'struct vas_window_user_ref' instead?

To support LPM and DLPAR, plannig to add VMA (mapping address) in
struct vas_window_task. But I can change it to 'struct
vas_window_user_ref' instread of vas_window_task.

Thanks
Haren 

> 
> Thanks,
> Nick
> 
> > +{
> > +	/* Drop references to pid and mm */
> > +	put_pid(task->pid);
> > +	if (task->mm) {
> > +		mm_context_remove_vas_window(task->mm);
> > +		mmdrop(task->mm);
> > +	}


  reply	other threads:[~2021-05-10 20:34 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-17 20:52 [V3 PATCH 00/16] Enable VAS and NX-GZIP support on powerVM Haren Myneni
2021-04-17 21:00 ` [V3 PATCH 01/16] powerpc/powernv/vas: Rename register/unregister functions Haren Myneni
2021-05-10  5:10   ` Nicholas Piggin
2021-05-10 16:59     ` Haren Myneni
2021-04-17 21:02 ` [PATCH V3 02/16] powerpc/vas: Move VAS API to common book3s platform Haren Myneni
2021-05-10  5:19   ` Nicholas Piggin
2021-05-10 17:12     ` Haren Myneni
2021-05-11  1:50     ` Michael Ellerman
2021-04-17 21:03 ` [V3 PATCH 03/16] powerpc/vas: Create take/drop task reference functions Haren Myneni
2021-05-10  5:28   ` Nicholas Piggin
2021-05-10 20:32     ` Haren Myneni [this message]
2021-04-17 21:03 ` [V3 PATCH 04/16] powerpc/vas: Move update_csb/dump_crb to common book3s platform Haren Myneni
2021-05-10  5:37   ` Nicholas Piggin
2021-04-17 21:04 ` [V3 PATCH 05/16] powerpc/vas: Define and use common vas_window struct Haren Myneni
2021-05-10  5:37   ` Nicholas Piggin
2021-05-10 17:02     ` Haren Myneni
2021-04-17 21:05 ` [V3 PATCH 06/16] powerpc/pseries/vas: Define VAS/NXGZIP HCALLs and structs Haren Myneni
2021-05-10  5:49   ` Nicholas Piggin
2021-05-11  2:18     ` Haren Myneni
2021-04-17 21:06 ` [V3 PATCH 07/16] powerpc/vas: Define QoS credit flag to allocate window Haren Myneni
2021-05-10  5:54   ` Nicholas Piggin
2021-05-11  2:12     ` Haren Myneni
2021-04-17 21:07 ` [V3 PATCH 08/16] powerpc/pseries/VAS: Implement allocate/modify/deallocate HCALLS Haren Myneni
2021-05-10  6:01   ` Nicholas Piggin
2021-04-17 21:08 ` [V3 PATCH 09/16] powerpc/pseries/vas: Implement to get all capabilities Haren Myneni
2021-05-10  6:13   ` Nicholas Piggin
2021-05-11  2:08     ` Haren Myneni
2021-04-17 21:08 ` [V3 PATCH 10/16] powerpc/pseries/vas: Integrate API with open/close windows Haren Myneni
2021-05-10  6:18   ` Nicholas Piggin
2021-05-10  6:28   ` Nicholas Piggin
2021-04-17 21:09 ` [V3 PATCH 11/16] powerpc/pseries/vas: Setup IRQ and fault handling Haren Myneni
2021-04-17 21:10 ` [V3 PATCH 12/16] powerpc/pseries/vas: sysfs interface to export capabilities Haren Myneni
2021-05-10  6:34   ` Nicholas Piggin
2021-05-10 20:52     ` Haren Myneni
2021-04-17 21:11 ` [V3 PATCH 13/16] crypto/nx: Rename nx-842-pseries file name to nx-common-pseries Haren Myneni
2021-04-22  6:55   ` Herbert Xu
2021-04-17 21:12 ` [V3 PATCH 14/16] crypto/nx: Register and unregister VAS interface Haren Myneni
2021-04-22  6:56   ` Herbert Xu
2021-04-17 21:12 ` [V3 PATCH 15/16] crypto/nx: Get NX capabilities for GZIP coprocessor type Haren Myneni
2021-04-22  6:56   ` Herbert Xu
2021-05-10  6:38   ` Nicholas Piggin
2021-05-10 20:44     ` Haren Myneni
2021-04-17 21:13 ` [V3 PATCH 16/16] crypto/nx: Add sysfs interface to export NX capabilities Haren Myneni
2021-04-22  6:56   ` Herbert Xu

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=87bf041c7b33464c7d312f12f1329db7687750aa.camel@linux.ibm.com \
    --to=haren@linux.ibm.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=npiggin@gmail.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;
as well as URLs for NNTP newsgroup(s).