diff --git a/shared/GoldfishAddressSpace/include/goldfish_address_space_android.impl b/shared/GoldfishAddressSpace/include/goldfish_address_space_android.impl
index e390ba8..df03918 100644
--- a/shared/GoldfishAddressSpace/include/goldfish_address_space_android.impl
+++ b/shared/GoldfishAddressSpace/include/goldfish_address_space_android.impl
@@ -185,7 +185,7 @@
 
 bool GoldfishAddressSpaceBlock::allocate(GoldfishAddressSpaceBlockProvider *provider, size_t size)
 {
-    ALOGD("%s: Ask for block of size 0x%llx\n", __func__,
+    ALOGV("%s: Ask for block of size 0x%llx\n", __func__,
          (unsigned long long)size);
 
     destroy();
@@ -208,7 +208,7 @@
         m_handle = provider->m_handle;
         m_is_shared_mapping = false;
 
-        ALOGD("%s: ioctl allocate returned offset 0x%llx size 0x%llx\n", __func__,
+        ALOGV("%s: ioctl allocate returned offset 0x%llx size 0x%llx\n", __func__,
                 (unsigned long long)m_offset,
                 (unsigned long long)m_size);
 
@@ -218,7 +218,7 @@
 
 bool GoldfishAddressSpaceBlock::claimShared(GoldfishAddressSpaceBlockProvider *provider, uint64_t offset, uint64_t size)
 {
-    ALOGD("%s: Ask to claim region [0x%llx 0x%llx]\n", __func__,
+    ALOGV("%s: Ask to claim region [0x%llx 0x%llx]\n", __func__,
          (unsigned long long)offset,
          (unsigned long long)offset + size);
 
diff --git a/shared/GoldfishAddressSpace/include/goldfish_address_space_host.impl b/shared/GoldfishAddressSpace/include/goldfish_address_space_host.impl
index d1fa4a3..c7d5c43 100644
--- a/shared/GoldfishAddressSpace/include/goldfish_address_space_host.impl
+++ b/shared/GoldfishAddressSpace/include/goldfish_address_space_host.impl
@@ -108,7 +108,7 @@
 
 bool GoldfishAddressSpaceBlock::allocate(GoldfishAddressSpaceBlockProvider *provider, size_t size)
 {
-    ALOGD("%s: Ask for block of size 0x%llx\n", __func__,
+    ALOGV("%s: Ask for block of size 0x%llx\n", __func__,
          (unsigned long long)size);
 
     destroy();
diff --git a/system/OpenglSystemCommon/HostConnection.cpp b/system/OpenglSystemCommon/HostConnection.cpp
index 9d41be4..60a4716 100644
--- a/system/OpenglSystemCommon/HostConnection.cpp
+++ b/system/OpenglSystemCommon/HostConnection.cpp
@@ -617,11 +617,6 @@
             (unsigned int *)con->m_stream->allocBuffer(sizeof(unsigned int));
     *pClientFlags = 0;
     con->m_stream->commitBuffer(sizeof(unsigned int));
-
-    ALOGD("HostConnection::get() New Host Connection established %p, tid %d\n",
-          con.get(), getCurrentThreadId());
-
-    // ALOGD("Address space echo latency check done\n");
     return con;
 }
 
@@ -667,7 +662,6 @@
 
 // static
 std::unique_ptr<HostConnection> HostConnection::createUnique(uint32_t capset_id) {
-    ALOGD("%s: call\n", __func__);
     return connect(capset_id);
 }
 
