Messages in this thread | | | Subject | Re: [PATCH v4 05/11] iommu/sva: Assign a PASID to mm on PASID allocation and free it on mm exit | From | "" <> | Date | Sat, 16 Apr 2022 09:30:21 +0800 |
| |
On 2022/4/15 下午8:37, Fenghua Yu wrote: > Hi, Zhangfei, > > On Fri, Apr 15, 2022 at 07:52:03PM +0800, zhangfei.gao@foxmail.com wrote: >> >> On 2022/4/15 下午6:50, Fenghua Yu wrote: >>> Hi, Zhangfei, >>> >>> On Fri, Apr 15, 2022 at 06:14:09PM +0800, zhangfei.gao@foxmail.com wrote: >>> I download this patch from: >>> https://lore.kernel.org/lkml/YllADL6uMoLllzQo@fyu1.sc.intel.com/raw >>> git am to either v5.18-rc2 or the latest upstream without any issue. >> It is my copy paste issue. >> >> I have tested, nginx woks well. > Great! > >> Other than the following issue, >> Each time /sbin/nginx will alloc ioasid but not free. >> which I think it maybe nginx issue or the mis-usage, will ask there. > Which nginx/openssl function is supposed to call kernel sva_unbind? I couldn't > find the function in nginx tree. > > If nginx doesn't free ioasid, it will cause ioasid leak and memory leak. Yes
In my case, sva_bind/unbind is from openssl_engine, bind_fn, not in nginx itself nginx will use openssl -> openssl engine.
nginx: src/core/nginx.c main ngx_ssl_init(log);
OPENSSL_init_ssl(OPENSSL_INIT_LOAD_CONFIG, NULL)
openssl_engine IMPLEMENT_DYNAMIC_BIND_FN(bind_fn) bind_fn sva_bind
destroy sva_unbind
But destroy seems not called in sbin/nginx -s quit.
Thanks
| |