Re: [PATCH v12 2/4] uacce: add uacce driver

From: zhangfei
Date: Tue Feb 25 2020 - 03:37:22 EST


Hi, Raj

On 2020/2/25 äå2:22, Raj, Ashok wrote:
Hi Kenneth,

sorry for waking up late on this patchset.

+
+static int uacce_fops_open(struct inode *inode, struct file *filep)
+{
+ struct uacce_mm *uacce_mm = NULL;
+ struct uacce_device *uacce;
+ struct uacce_queue *q;
+ int ret = 0;
+
+ uacce = xa_load(&uacce_xa, iminor(inode));
+ if (!uacce)
+ return -ENODEV;
+
+ q = kzalloc(sizeof(struct uacce_queue), GFP_KERNEL);
+ if (!q)
+ return -ENOMEM;
+
+ mutex_lock(&uacce->mm_lock);
+ uacce_mm = uacce_mm_get(uacce, q, current->mm);
I think having this at open time is a bit unnatural. Since when a process
does fork, we do not inherit the PASID. Although it inherits the fd
but cannot use the mmaped address in the child.

If you move this to the mmap time, its more natural. The child could
do a mmap() get a new PASID + mmio space to work with the hardware.

Thanks for the suggestion.
We will consider fork in the next step, may need some time.

Thanks