Re: [PATCH v7 01/12] powerpc/vas: Define macros, register fields and structures

From: Michael Ellerman
Date: Fri Aug 25 2017 - 05:47:47 EST


Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> writes:

> diff --git a/arch/powerpc/platforms/powernv/vas.h b/arch/powerpc/platforms/powernv/vas.h
> new file mode 100644
> index 0000000..c66aaf0
> --- /dev/null
> +++ b/arch/powerpc/platforms/powernv/vas.h
> @@ -0,0 +1,385 @@
...
> +
> +/*
> + * In-kernel state a VAS window. One per window.
> + */
> +struct vas_window {
> + /* Fields common to send and receive windows */
> + struct vas_instance *vinst;
> + int winid;
> + bool tx_win; /* True if send window */
> + bool nx_win; /* True if NX window */
> + bool user_win; /* True if user space window */
> + void *hvwc_map; /* HV window context */
> + void *uwc_map; /* OS/User window context */
> + pid_t pid; /* Linux process id of owner */
> +
> + /* Fields applicable only to send windows */
> + void *paste_kaddr;
> + char *paste_addr_name;
> + struct vas_window *rxwin;
> +
> + /* Feilds applicable only to receive windows */
> + enum vas_cop_type cop;
> + atomic_t num_txwins;

Just noticed this. You should probably use the new refcount_t type,
because AFAICS you're using this as a refcount.

cheers