From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6EE8B35E956 for ; Fri, 22 May 2026 17:17:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779470225; cv=none; b=iKDDpzvBK9LIHatpTWQY3XiE9FTabvOkQybkIYM9ihjkrAa49M5KDIzssB2UypA7ICECvmZyECd1VdKfeEPVSsa9EzofsU8wG09JoIn6ARzOuLxvXelas9mhBJSFD2ZnNuHKX9/ddNEKvmwGV5Nm2gVyjaDGpW2uLeKuwmwhvl0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779470225; c=relaxed/simple; bh=U+hd1nq5Ba9sKgpCIAr9hKLqwF2P52OkoE9q+pl5LXM=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=ca4D+B/I+nVt/S5Djk+sK5T5dpoqgP8SQDgDK06MdbrovuiGKPSXvtoaVdaoxJPuAQp8HWY2lACnyUf8484ySkMc1i0V/T95yQJTfIfWlqw5MZ/ReeISC9HJ1sXC2O2vLEwX+Ze4GHPsIwCAHGhJ+Ep2vuMbI8RTE65baz3qtfc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=ZB53vQW7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=NmCVLSsV; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ZB53vQW7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="NmCVLSsV" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64MBjR3E1960694 for ; Fri, 22 May 2026 17:17:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= sclBxpHfctQ6QwGlU6dwiPzIZrTCVf6A9WUqY/ePdZU=; b=ZB53vQW7z9jabqQ8 kgT28do1vkOHhEdOIgPru97GG4AP1cUWLReg75tBDiOVExo7EeOAmYVBm4veb7Yt 3Ycvg/CwAaPQN1waWIhCYhHoO0B1zP4Qlc2G6SPBD6/6bnmUpIsfZkFXoyx4UbCJ TIT7QZWc2FRARdZFrV160XtL23c5RaAQua6el+5BCTX+Ld3TGqv9xMrU/MfJHNTi sYlAxOzpzrSRaSVkeGWxZGFCbwHDshAG311FuICxN++O4JHKdskdQKGcCKNU1T+L 9GEGg2EM96TjueNSqmyhEzJjENXuSsZeEexLMryJEBJrKKbmnGV92QOdUlr4FFMy q+I/iw== Received: from mail-yw1-f197.google.com (mail-yw1-f197.google.com [209.85.128.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eahxetkhk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 17:17:02 +0000 (GMT) Received: by mail-yw1-f197.google.com with SMTP id 00721157ae682-7b3e41a97f0so102570087b3.0 for ; Fri, 22 May 2026 10:17:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779470221; x=1780075021; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=sclBxpHfctQ6QwGlU6dwiPzIZrTCVf6A9WUqY/ePdZU=; b=NmCVLSsVIl5mQjkJ0VRym7ndk7SzIwjwefqN3NQKuGPhERfQLu8DgP12atthDT/ZUH 4Gc2C6y4S1+PWOmdKMQr8U6e3CyMFq68CybuY7B/Nqg3C0sriXoK32ycHySJCSKJ4MPD 1+JRGb8tUCa5bpurAkczkS8hswHmqje2Z+Avref15I2PPGGQYCFyrHiQf+tF3NsYl4b6 sBBbkko0brW4lNpQHiotYYJfwRbo7VFS8LC1DSq95q5sAT9OaG8NPg7e1UJmroCWfvRV 6zsbtn8Kx8KeNWzizofaSieIAzB2nBo63A87YaK/TFK38m45TwA4FrOU6omHmU4F7s5q tMgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779470221; x=1780075021; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=sclBxpHfctQ6QwGlU6dwiPzIZrTCVf6A9WUqY/ePdZU=; b=IeBONwotqcf+ueP92CPkfb9UMki2i42F8S4E48s0vu6qH2sxMgHsFB8NbL1pc5Jpw8 AjYqlQaNlEiuuyY3GWVPmF9fdVBgVAQHT7wqKuOjc3E5IQSAPgBnH+XM+mjz/QWPrvgW /9huuH1SHfP6Zl9IoxIqSt+ztGu3e8dUGq6RTGI85OeB9bJh29N8o33eh/TTpVgrr7oo DTgP+V0T01/IbMbGV1XhYhXJgX8EFk0xpbgYnEsFKfz4vJkKYvrH8PbQee6RgnsQ1JaH k4Z+qHmnPRATKLAWKfV8DfAYGUkpf5b1rQMF90YwrROUWKcmsn51bDfH5dW5RNlPwcQ0 YmpA== X-Forwarded-Encrypted: i=1; AFNElJ+/MRyX696EQ2Ytb6hnt9s0JUG2oir7ZeKbMYWx9UnTo1XUv2FWGOcSMsFhs9+SYtuNNyljLWwdo06zpFg=@vger.kernel.org X-Gm-Message-State: AOJu0YyDuFE6EqAjxBMF54/7MY8vUFZ6OPtsltxHSYhp6fa2vxqT89ji FoxdAdxdSC3OU9QnxwuzwSvrUKJ/8rgTr/m8+0ee90xE8zefI+84GJSdJU12UY8cLBD++HM2VEA eyWLCihLLvICmjmqm3+u7yfjx8+Xwgb2lgDAhlHMmEifR2yH6uNJcbeqnZz+B4kOlk3k= X-Gm-Gg: Acq92OE8zGNEoRrlFsbDsoFI8DEdaGFp6ftv2/kwWOX7pdsrJniocdyOXHkJYlzH9RV D5p+h1uTPOlALnvO+tbKoMyDVZfufBhH5mq1FSiVEccn9A+y5Uapg4SPQLcqGxzMraEJGSOQ7Gf ipIXS8Z1uGatKOPu/tuEGy2QFsAoS20ynYRkVcMgfUYcuZA5DB8S39fhCBAdWqgoxDEaQ70y0av w8DSvWMR5tnXUOwn0y3jwUEDz3Q4N3p4gjeoCby2x3/n9KilYFYguKaLdAFjyUq48V17a49Fwql uwTCl04w+RlAFl6VsJO7e1uXIfmOviEJWaIFKGafZ51y7HKHXO3TJGBisxe5IqnMtYs+KRe/JQG T20OKspW+r7Lh1vALsQVRX2PPMzqMJV7eLU5sXT/ULNIUcD+iv6TyfvFhPDQvMB9VswZULx2IgJ Hf5vp9k02hrg== X-Received: by 2002:a05:690c:4b0c:b0:799:198d:8c5a with SMTP id 00721157ae682-7d335fbc537mr53940677b3.34.1779470221241; Fri, 22 May 2026 10:17:01 -0700 (PDT) X-Received: by 2002:a05:690c:4b0c:b0:799:198d:8c5a with SMTP id 00721157ae682-7d335fbc537mr53939907b3.34.1779470220720; Fri, 22 May 2026 10:17:00 -0700 (PDT) Received: from [192.168.101.236] (107-198-5-8.lightspeed.irvnca.sbcglobal.net. [107.198.5.8]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7d38c73ff33sm11043207b3.45.2026.05.22.10.16.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 May 2026 10:17:00 -0700 (PDT) Message-ID: <581cc180-b993-4b86-81ae-17822a35a1fb@oss.qualcomm.com> Date: Fri, 22 May 2026 10:16:58 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 4/4] arm64: dts: qcom: x1-dell-thena: bump linux,cma to 256 MiB To: Bryan O'Donoghue , linux-arm-msm@vger.kernel.org Cc: vkoul@kernel.org, neil.armstrong@linaro.org, dmitry.baryshkov@oss.qualcomm.com, wesley.cheng@oss.qualcomm.com, abelvesa@kernel.org, faisal.hassan@oss.qualcomm.com, linux-phy@lists.infradead.org, andersson@kernel.org, konradybcio@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org, val@packett.cool, laurentiu.tudor1@dell.com, alex.vinarskis@gmail.com, linux-kernel@vger.kernel.org References: <20260521010935.1333494-1-mike.scott@oss.qualcomm.com> <20260521010935.1333494-5-mike.scott@oss.qualcomm.com> Content-Language: en-US From: Michael Scott In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDE3MiBTYWx0ZWRfX59hWzneXCt5K WVoKW7lw00iRBz9Aj+omTQwqgrV8bZ617VjCrvtbKgJ8jjWhCEKHLHgM/LtUGypLosCwUBpB2TH kF5cNl9lpJpiIgdKKy18J0+STi73sZ470w8vWKOz9cLViQCILYgXVcesc6DjctIJAxpdt57lBHa xjHoKB6GzM0ybBJX2pZFqTx7VUqUFgf8kwZB5m0E0uHBFD1rHP8Y0qihR/omfjR46ySdm+hZAJe 9LM6vPfjLBCbJX5K+I7qri3gZ/0YA7EsDnk5LL9hVjx5mN5HOiBT9/Np6d3iXVWYWEd3kL7xCMv HTyMEfDP6cecxqVSQVNqd+VPkVZFyniIEdHSHxrMMuYNVxo7NVMSZ0b6zf5se65kDOMmat0UzQq Ov2ja4UoF6W/AruJgBR/M1SHPOjinVbgrYk957397iwmhXlETYG4OiqhN/6pmwmi7OFWlK03qU1 npdp/a0y6iXU29rLmvQ== X-Proofpoint-GUID: Sh_b66_Y1kL51F7m4dm1HszlPK5OKSA5 X-Proofpoint-ORIG-GUID: Sh_b66_Y1kL51F7m4dm1HszlPK5OKSA5 X-Authority-Analysis: v=2.4 cv=ar2CzyZV c=1 sm=1 tr=0 ts=6a108f8e cx=c_pps a=0mLRTIufkjop4KoA/9S1MA==:117 a=cdagev08qavQYXHyx3V8vg==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=87SNHxiu0QhxqWoJ-3IA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=WgItmB6HBUc_1uVUp3mg:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-22_04,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 spamscore=0 malwarescore=0 adultscore=0 clxscore=1015 priorityscore=1501 phishscore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220172 On 5/21/26 5:04 AM, Bryan O'Donoghue wrote: > On 21/05/2026 02:09, Michael Scott wrote: >> The 128 MiB linux,cma reserved-memory pool on dell-thena is too small >> to support the camera pipeline in parallel with the normal Linux >> desktop. On a freshly-booted system with GNOME running, the typical >> runtime consumers — msm DRM framebuffers (Wayland triple buffering on >> the eDP panel), qcom_iris video codec buffers, qcom_camss VFE >> pre-allocated buffers — already occupy ~100 MiB of the pool, leaving >> only ~25 MiB free. >> >> The libcamera "simple" pipeline handler used by /dev/media0 on >> dell-thena allocates four ABGR8888 frames at 1920×1088 = 32 MiB total. >> That request fails on the fourth frame: >> >>      ERROR DmaBufAllocator: dma-heap allocation failure for frame-3 >>      ERROR Allocator: Stream is not part of /base/.../camera@10 >> active configuration >>      Can't allocate buffers >>      Failed to start camera session >> >> resulting in gnome-snapshot's "Could not play camera stream" and any >> other libcamera-mediated app being unable to actually stream. >> >> Bumping linux,cma to 256 MiB (a 0.9% reservation on these laptops' >> typical 27 GiB RAM) leaves ~150 MiB free at runtime — sufficient for >> the libcamera buffer set plus headroom for video playback or other >> CMA-hungry workloads in parallel. >> >> Tested on Dell Latitude 7455: with the 256 MiB pool, CmaFree at >> GNOME-desktop idle is ~150 MiB, gnome-snapshot streams the OV02E10 >> camera cleanly, and `cam -c 1 --capture=2` succeeds. >> >> The companion board files dell-inspiron-14-plus-7441 and the upstream >> .dts variants inherit from x1-dell-thena.dtsi, so this changes the >> pool size for every dell-thena-based laptop in one place. >> >> Signed-off-by: Michael Scott >> --- >>   arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi | 2 +- >>   1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi >> b/arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi >> index d6de4da02dcd..714988a81384 100644 >> --- a/arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi >> +++ b/arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi >> @@ -167,7 +167,7 @@ led-camera-indicator { >>       reserved-memory { >>           linux,cma { >>               compatible = "shared-dma-pool"; >> -            size = <0x0 0x8000000>; >> +            size = <0x0 0x10000000>; >>               reusable; >>               linux,cma-default; >>           }; > > How old is your version of libcamera ? > > With CONFIG_UDMA=y you don't need a contiguous memory area at all and > you will get juicy and delicious GPUISP. I have CONFIG_UDMABUF=y enabled. > > Instead of allocating in the kernel just use a better version of > libcamera > > ┌─[deckard@inspiron14p-linux] - [~/Development/libcamera] - [Thu May > 21, 13:03] > └─[$] zcat /proc/config.gz | grep UDMA > CONFIG_UDMABUF=y > ┌─[deckard@inspiron14p-linux] - [~/Development/libcamera] - [Thu May > 21, 13:03] > └─[$] cam -v > libcamera version v0.7.1 > ┌─[deckard@inspiron14p-linux] - [~/Development/libcamera] - [Thu May > 21, 13:03] > └─[$] qcam > [68:50:10.493478857] [438859]  INFO Camera camera_manager.cpp:340 > libcamera v0.7.1 > [68:50:10.511134091] [438863] ERROR V4L2 v4l2_subdevice.cpp:1192 > 'ov02e10 10-0010': Unable to get rectangle 2 on pad 0/0: Inappropriate > ioctl for device > [68:50:10.511201590] [438863]  WARN CameraSensor > camera_sensor_legacy.cpp:402 'ov02e10 10-0010': The PixelArraySize > property has been defaulted to 1928x1088 > [68:50:10.511206069] [438863] ERROR V4L2 v4l2_subdevice.cpp:1192 > 'ov02e10 10-0010': Unable to get rectangle 1 on pad 0/0: Inappropriate > ioctl for device > [68:50:10.511209559] [438863]  WARN CameraSensor > camera_sensor_legacy.cpp:413 'ov02e10 10-0010': The > PixelArrayActiveAreas property has been defaulted to (0, 0)/1928x1088 > [68:50:10.511213778] [438863] ERROR V4L2 v4l2_subdevice.cpp:1192 > 'ov02e10 10-0010': Unable to get rectangle 0 on pad 0/0: Inappropriate > ioctl for device > [68:50:10.511216590] [438863]  WARN CameraSensor > camera_sensor_legacy.cpp:421 'ov02e10 10-0010': Failed to retrieve the > sensor crop rectangle > [68:50:10.511219559] [438863]  WARN CameraSensor > camera_sensor_legacy.cpp:427 'ov02e10 10-0010': The sensor kernel > driver needs to be fixed > [68:50:10.511221746] [438863]  WARN CameraSensor > camera_sensor_legacy.cpp:429 'ov02e10 10-0010': See > Documentation/sensor_driver_requirements.rst in the libcamera sources > for more information > [68:50:10.511327474] [438863]  WARN CameraSensorProperties > camera_sensor_properties.cpp:538 No static properties available for > 'ov02e10' > [68:50:10.511330599] [438863]  WARN CameraSensorProperties > camera_sensor_properties.cpp:540 Please consider updating the camera > sensor properties database > [68:50:10.511334089] [438863]  WARN CameraSensor > camera_sensor_legacy.cpp:617 'ov02e10 10-0010': Rotation control not > available, default to 0 degrees > [68:50:10.511340912] [438863]  WARN CameraSensor > camera_sensor_legacy.cpp:502 'ov02e10 10-0010': No sensor delays found > in static properties. Assuming unverified defaults. > [68:50:10.512362985] [438863]  WARN IPAProxy ipa_proxy.cpp:196 > Configuration file 'ov02e10.yaml' not found for IPA module 'simple', > falling back to '/usr/share/libcamera/ipa/simple/uncalibrated.yaml' > [68:50:10.512372828] [438863] ERROR V4L2 v4l2_subdevice.cpp:1192 > 'ov02e10 10-0010': Unable to get rectangle 0 on pad 0/0: Inappropriate > ioctl for device > [68:50:10.512377464] [438863]  WARN CameraSensor > camera_sensor_legacy.cpp:881 'ov02e10 10-0010': The analogue crop > rectangle has been defaulted to the active area size > [68:50:10.512386578] [438863]  WARN IPASoft soft_simple.cpp:104 > IPASoft: Failed to create camera sensor helper for ov02e10 > [68:50:10.512505275] [438863]  INFO Camera camera_manager.cpp:223 > Adding camera '/base/soc@0/cci@ac16000/i2c-bus@1/camera@10' for > pipeline handler simple > [68:50:10.548026157] [438859]  INFO Camera camera.cpp:1216 configuring > streams: (0) 1920x1088-ABGR8888/sRGB > [68:50:10.548323081] [438863]  INFO IPASoft soft_simple.cpp:258 > IPASoft: Exposure 1-2242, gain 16-248 (1) > [68:50:10.548402247] [438863]  INFO SoftwareIsp software_isp.cpp:278 > Input 1928x1088-GRBG-10-CSI2P stride 2416 > Zero-copy enabled > [68:50:10.636862424] [438866]  INFO eGL egl.cpp:288 EGL: EGL_VERSION: 1.5 > [68:50:10.636899299] [438866]  INFO eGL egl.cpp:289 EGL: EGL_VENDOR: > Mesa Project > [68:50:10.636902112] [438866]  INFO eGL egl.cpp:290 EGL: > EGL_CLIENT_APIS: OpenGL OpenGL_ES > [68:50:10.636904768] [438866]  INFO eGL egl.cpp:291 EGL: > EGL_EXTENSIONS: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync > EGL_EXT_config_select_group EGL_EXT_create_context_robustness > EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers > EGL_EXT_query_reset_notification_strategy EGL_EXT_surface_compression > EGL_IMG_context_priority EGL_KHR_cl_event2 EGL_KHR_config_attribs > EGL_KHR_context_flush_control EGL_KHR_create_context > EGL_KHR_create_context_no_error EGL_KHR_fence_sync > EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace > EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image > EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image > EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync > EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float > EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_gl_interop > EGL_MESA_image_dma_buf_export EGL_MESA_query_driver > EGL_MESA_x11_native_visual_id EGL_NV_context_priority_realtime > [68:50:10.643064652] [438866]  INFO eGL egl.cpp:332 EGL: GL_VERSION: > OpenGL ES 3.2 Mesa 26.0.6-arch1.1 > [68:50:12.667202273] [438866]  INFO Benchmark benchmark.cpp:89 Debayer > processed 30 frames in 228802us, 7626 us/frame > ┌─[deckard@inspiron14p-linux] - [~/Development/libcamera] - [Thu May > 21, 13:03] > └─[$] Good point about the libcamera version. I debugged this on Ubuntu 26.04 (v0.7.0+patches). I tried testing v0.7.1, but it caused a crash due to API changes with other parts of the subsystem.  I checked the diff of upstream between v0.7.0 and v0.7.1 for the dma allocator code and I didn't see any changes, but I wasn't looking at the software ISP changes. This highlights that "I'm doing this wrong". I'll move to a cleaner rolling distro where staying current is a lot easier. The GPUISP support looks great! Dropping this patch as I'm not understanding the full allocator story.  Sorry for the noise.