From nobody Sat May 18 07:48:43 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1527091784241176.1767758306935; Wed, 23 May 2018 09:09:44 -0700 (PDT) Received: from localhost ([::1]:34423 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fLWKb-0006j4-C2 for importer@patchew.org; Wed, 23 May 2018 12:09:41 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44410) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fLWIW-0005Xj-0E for qemu-devel@nongnu.org; Wed, 23 May 2018 12:07:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fLWIT-0005fe-Ha for qemu-devel@nongnu.org; Wed, 23 May 2018 12:07:31 -0400 Received: from mail-pl0-x242.google.com ([2607:f8b0:400e:c01::242]:41421) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fLWIT-0005fB-CK; Wed, 23 May 2018 12:07:29 -0400 Received: by mail-pl0-x242.google.com with SMTP id az12-v6so13305005plb.8; Wed, 23 May 2018 09:07:29 -0700 (PDT) Received: from localhost.localdomain ([208.181.63.202]) by smtp.gmail.com with ESMTPSA id c21-v6sm37198128pfb.116.2018.05.23.09.07.26 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 23 May 2018 09:07:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=jq2CmPzaUIz2OSMI8dfSA8hR/uhs/pZegHiyYKDEaOs=; b=YiwptsIKxZ/xwGi8NBsIITkvMAaK2oKGn3r/l8XoyukbCbxmeZ5tAASsmEXFJRZEnx cL8lwYuw7XSffbs2tqL/CnqK8EFqgxuC9yMz66tM/xcUgpdzpbEZuwbUSroFwkBt4ckx 7F+rdcDYPeG9g15BDYR4h4O991JH1oktUeI+3zlQd+3SALUsPh7tVjtFyjPn4N4s0nA0 IcLlfKPajHg7iYp9yellzhwuFQzLNr4Bv5j02VyDIfeYWt0AYVpsJFD3g6PcM5ipT1bk BPBWN1cZZfCxDwOJk69T9axBSHqZqdXciDGN+BrEww5btCL11PiQnrEv/9fj69GFzt5Z FIUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=jq2CmPzaUIz2OSMI8dfSA8hR/uhs/pZegHiyYKDEaOs=; b=X43c5feegMQ80yCQlP27QiAJ3+Q9LwnWQgICErQrC5Nnm2+OeBs1yVa0qQRlZUjCuR cMw/EtAptMsXpYa16FKGJYaniqidXU1ZKw8JRNlIVA6H3y7Yzpo/CYS741G2TeIyzCMt idr26eyJ9MS3PP0AoOoqIsWLE6E6E2QMGlhQ2tZSEMZ8B9YUG14wWZ2pj+BTUANvelnm YsJEmoVKPxm9K175h19j2opv1B3ux4tlMxq6gtJ9BFtGaPzlUMGQnQIq3cJsbTnxzenE ZMbMsajP8fuAtRiGF8d8tHInd0Yx+jyGzunF1s1hZLZadDh/g1gN72vmcxuMXkiQGpW4 uF9w== X-Gm-Message-State: ALKqPwdEq789zpgYxXaf26EhjCvDfVUUwxn1/Wb1BNP6lF4JZaCz+9TY I5oC2wppmI1436MW0Au7Kw8bSM0a X-Google-Smtp-Source: AB8JxZrM4NEv7y+P+IvTSGTir8iu5O/AJjB5rNK/g4uLan0sofvyxSJwhUoxPDBaJHAbmphJ9eVyAQ== X-Received: by 2002:a17:902:a586:: with SMTP id az6-v6mr3605781plb.210.1527091648145; Wed, 23 May 2018 09:07:28 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Wed, 23 May 2018 18:07:20 +0200 Message-Id: <20180523160721.14018-2-pbonzini@redhat.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180523160721.14018-1-pbonzini@redhat.com> References: <20180523160721.14018-1-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c01::242 Subject: [Qemu-devel] [PATCH 1/2] sheepdog: cleanup repeated expression X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: jcody@redhat.com, qemu-block@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The expression "SD_INODE_SIZE - sizeof(inode.data_vdi_id)" already has a ma= cro defined for the same value (though with a nicer definition using offsetof). Replace it. Reviewed-by: Fam Zheng Reviewed-by: Jeff Cody Signed-off-by: Paolo Bonzini --- block/sheepdog.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/block/sheepdog.c b/block/sheepdog.c index 4237132419..23cf5a8430 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -2337,7 +2337,7 @@ static int sd_truncate(BlockDriverState *bs, int64_t = offset, } =20 /* we don't need to update entire object */ - datalen =3D SD_INODE_SIZE - sizeof(s->inode.data_vdi_id); + datalen =3D SD_INODE_HEADER_SIZE; s->inode.vdi_size =3D offset; ret =3D write_object(fd, s->bs, (char *)&s->inode, vid_to_vdi_oid(s->inode.vdi_id), s->inode.nr_copies, @@ -2705,7 +2705,7 @@ static int sd_snapshot_create(BlockDriverState *bs, Q= EMUSnapshotInfo *sn_info) */ strncpy(s->inode.tag, sn_info->name, sizeof(s->inode.tag)); /* we don't need to update entire object */ - datalen =3D SD_INODE_SIZE - sizeof(s->inode.data_vdi_id); + datalen =3D SD_INODE_HEADER_SIZE; inode =3D g_malloc(datalen); =20 /* refresh inode. */ @@ -2991,7 +2991,7 @@ static int sd_snapshot_list(BlockDriverState *bs, QEM= USnapshotInfo **psn_tab) /* we don't need to read entire object */ ret =3D read_object(fd, s->bs, (char *)&inode, vid_to_vdi_oid(vid), - 0, SD_INODE_SIZE - sizeof(inode.data_vdi_id), 0, + 0, SD_INODE_HEADER_SIZE, 0, s->cache_flags); =20 if (ret) { --=20 2.17.0 From nobody Sat May 18 07:48:43 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1527091782643185.71916353408437; Wed, 23 May 2018 09:09:42 -0700 (PDT) Received: from localhost ([::1]:34424 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fLWKb-0006jF-OW for importer@patchew.org; Wed, 23 May 2018 12:09:41 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44427) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fLWIY-0005ZX-Hh for qemu-devel@nongnu.org; Wed, 23 May 2018 12:07:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fLWIU-0005fp-Hu for qemu-devel@nongnu.org; Wed, 23 May 2018 12:07:34 -0400 Received: from mail-pl0-x242.google.com ([2607:f8b0:400e:c01::242]:40245) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fLWIU-0005fi-BM; Wed, 23 May 2018 12:07:30 -0400 Received: by mail-pl0-x242.google.com with SMTP id t12-v6so13309777plo.7; Wed, 23 May 2018 09:07:30 -0700 (PDT) Received: from localhost.localdomain ([208.181.63.202]) by smtp.gmail.com with ESMTPSA id c21-v6sm37198128pfb.116.2018.05.23.09.07.28 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 23 May 2018 09:07:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=uj0nLbdAi8Hev09hbfN3F2yp1qia6mytpji7MSOiIX4=; b=vMry1ZoV2d7GAPDQLt4yNfVg4CDpWIh3rdsT3CJ6fU7+wcyX5RS4zRwklbHHkVp2/N bmCL3WdeVQhvQVXjp3cMUGvwUyURpSRs/9OZIKF6FVftcJkP4jxV1RdcHtEOE6ehYZnv a0nS5k610I1LB6XPBuIJJxSMZBVhafjA8cxCOPTyT34QLf61XjGvz8mPnuGWCO8t2RWb +J7r6nsbiwrBfCnXdy5rgpU6kBCSMSvYmImJgedHgkxe0nsqb0BzzPeqgW4yZSZ0yrT8 rK8KyjoOQmzvD2v6+j+LbjoW2OEhY6qN4gTwRCwdlR8TWC3rDUIy6H6+V3ZoWY2hRhXp e8eA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=uj0nLbdAi8Hev09hbfN3F2yp1qia6mytpji7MSOiIX4=; b=ALlTtNNRAC3YusMN+iRkpnpp7g2aBlByQKquZ847gZ3IJWov4gIo+aUwT/Pk4ZLzg7 nRBub4bIKzIczxg1kWWpVcatSYt6e0SxlkjgBiORfCq2m6EbDa9Dz508uQVDbMFzKXih SQ216Wuzr68aHiaha8dNnkeI35Vf1DYCkS8RLgMCDEIi0koiz6ShtoMT4b0bkm65kPy9 yy9qaeONLHo5SUnu8ttG6HJ7yjRVYyUCOrIM/sZP/IxHSWXJf3YdwCo41t1eFQ5t3dxr 34+GNTAFkI6jqmhEweyflvqbRge05+VEih2HgVnTIpIfyxMZ36k3zybMQl6zOCRGP0JL tMCw== X-Gm-Message-State: ALKqPwd6eUR3SCEsXg16MUpoyDT9Upm4fam3ek1b6tE9YpQ2ySO/evTC dUuy2tqXbxqWF0zTu2Ib8rkz08OM X-Google-Smtp-Source: AB8JxZqDhxgLM1ihFiYhnD8RRjo09yIQmUlqLW6nQfOAeO1/V5dWFxpSWd3SXFTIZ0klNuJ1vbinfA== X-Received: by 2002:a17:902:758a:: with SMTP id j10-v6mr837270pll.109.1527091649205; Wed, 23 May 2018 09:07:29 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Wed, 23 May 2018 18:07:21 +0200 Message-Id: <20180523160721.14018-3-pbonzini@redhat.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180523160721.14018-1-pbonzini@redhat.com> References: <20180523160721.14018-1-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c01::242 Subject: [Qemu-devel] [PATCH 2/2] sheepdog: remove huge BSS object X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: jcody@redhat.com, qemu-block@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" block/sheepdog.o has a 4M static variable that is 90% of QEMU's whole .bss section. Replace it with a heap-allocated block, and make it smaller too since only the inode header is actually being used. bss size goes down from 4464280 to 269976. Signed-off-by: Paolo Bonzini --- block/sheepdog.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/block/sheepdog.c b/block/sheepdog.c index 23cf5a8430..2068166e3e 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -2940,13 +2940,14 @@ static int sd_snapshot_list(BlockDriverState *bs, Q= EMUSnapshotInfo **psn_tab) QEMUSnapshotInfo *sn_tab =3D NULL; unsigned wlen, rlen; int found =3D 0; - static SheepdogInode inode; + SheepdogInode *inode; unsigned long *vdi_inuse; unsigned int start_nr; uint64_t hval; uint32_t vid; =20 vdi_inuse =3D g_malloc(max); + inode =3D g_malloc(SD_INODE_HEADER_SIZE); =20 fd =3D connect_to_sdog(s, &local_err); if (fd < 0) { @@ -2989,7 +2990,7 @@ static int sd_snapshot_list(BlockDriverState *bs, QEM= USnapshotInfo **psn_tab) } =20 /* we don't need to read entire object */ - ret =3D read_object(fd, s->bs, (char *)&inode, + ret =3D read_object(fd, s->bs, (char *)inode, vid_to_vdi_oid(vid), 0, SD_INODE_HEADER_SIZE, 0, s->cache_flags); @@ -2998,17 +2999,17 @@ static int sd_snapshot_list(BlockDriverState *bs, Q= EMUSnapshotInfo **psn_tab) continue; } =20 - if (!strcmp(inode.name, s->name) && is_snapshot(&inode)) { - sn_tab[found].date_sec =3D inode.snap_ctime >> 32; - sn_tab[found].date_nsec =3D inode.snap_ctime & 0xffffffff; - sn_tab[found].vm_state_size =3D inode.vm_state_size; - sn_tab[found].vm_clock_nsec =3D inode.vm_clock_nsec; + if (!strcmp(inode->name, s->name) && is_snapshot(inode)) { + sn_tab[found].date_sec =3D inode->snap_ctime >> 32; + sn_tab[found].date_nsec =3D inode->snap_ctime & 0xffffffff; + sn_tab[found].vm_state_size =3D inode->vm_state_size; + sn_tab[found].vm_clock_nsec =3D inode->vm_clock_nsec; =20 snprintf(sn_tab[found].id_str, sizeof(sn_tab[found].id_str), - "%" PRIu32, inode.snap_id); + "%" PRIu32, inode->snap_id); pstrcpy(sn_tab[found].name, - MIN(sizeof(sn_tab[found].name), sizeof(inode.tag)), - inode.tag); + MIN(sizeof(sn_tab[found].name), sizeof(inode->tag)), + inode->tag); found++; } } @@ -3019,6 +3019,7 @@ out: *psn_tab =3D sn_tab; =20 g_free(vdi_inuse); + g_free(inode); =20 if (ret < 0) { return ret; --=20 2.17.0