From patchwork Wed Apr 15 03:35:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liu, Jingqi" X-Patchwork-Id: 1270846 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=intel.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4927Rm5Bn8z9sQx for ; Wed, 15 Apr 2020 13:40:51 +1000 (AEST) Received: from localhost ([::1]:42350 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOYut-0002Bw-Hb for incoming@patchwork.ozlabs.org; Tue, 14 Apr 2020 23:40:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48655) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOYuW-00029D-1v for qemu-devel@nongnu.org; Tue, 14 Apr 2020 23:40:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jOYuU-0000ka-E3 for qemu-devel@nongnu.org; Tue, 14 Apr 2020 23:40:23 -0400 Received: from mga01.intel.com ([192.55.52.88]:4319) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jOYuT-0000iK-Td for qemu-devel@nongnu.org; Tue, 14 Apr 2020 23:40:22 -0400 IronPort-SDR: zT0w4WMRyOau8I1ZOeKl8vmVeJB9j/VgBIlxNcf/ImoVSNAwqt26Et6XJkh8VSySRBsPE+el1D 5D1u8h818zaA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Apr 2020 20:40:13 -0700 IronPort-SDR: uOzz4fbosFTiEcGLwt3h5TEuKxutwr1a1BYWjc1358aio+o7L29h3DhkXoChhR33csBySnKgnR RhqVsNKWfq0Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,385,1580803200"; d="scan'208";a="256729944" Received: from dazhang1-mobile.sh.intel.com ([10.239.48.70]) by orsmga006.jf.intel.com with ESMTP; 14 Apr 2020 20:40:11 -0700 From: Jingqi Liu To: Paolo Bonzini , Richard Henderson , Xiao Guangrong , Dan Williams Subject: [PATCH v2 0/3] fetch the alignment of device dax Date: Wed, 15 Apr 2020 11:35:35 +0800 Message-Id: <20200415033538.43329-1-jingqi.liu@intel.com> X-Mailer: git-send-email 2.17.1 X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 192.55.52.88 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jingqi Liu , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This series adds libdaxctl support and fetchs the alignment of device dax through libdaxctl [1] APIs. QEMU uses mmap(2) to maps vNVDIMM backends and aligns the mapping address to the page size (getpagesize(2)) by default. However, some types of backends may require an alignment different than the page size. The 'align' option is provided to memory-backend-file to allow users to specify the proper alignment. For device dax (e.g., /dev/dax0.0), the 'align' option needs to match the alignment requirement of the device dax, which can be fetched through the libdaxctl APIs. [1] Libdaxctl is a part of ndctl project. The project's repository is: https://github.com/pmem/ndctl Changelog: v2: Per Paolo and Dan suggestions, fetch the alignment of device dax through libdaxctl APIs. v1: The initial version. Fetch the alignment through "/sys/dev/char/%d:%d/device/align". Jingqi Liu (3): exec: fetch the alignment of Linux devdax pmem character device nodes docs/nvdimm: add description of alignment requirement of device dax configure: add libdaxctl support configure | 30 +++++++++++++++++++++++++++ docs/nvdimm.txt | 9 +++++++++ exec.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 92 insertions(+), 1 deletion(-)