From: Ohad Ben-Cohen <ohad@wizery.com> To: KyongHo Cho <pullip.cho@samsung.com> Cc: Arnd Bergmann <arnd@arndb.de>, Joerg Roedel <Joerg.Roedel@amd.com>, Hiroshi DOYU <Hiroshi.DOYU@nokia.com>, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, David Brown <davidb@codeaurora.org>, linux-omap@vger.kernel.org, David Woodhouse <dwmw2@infradead.org>, linux-arm-kernel@lists.infradead.org Subject: Re: [RFC 7/7] iommu/core: split mapping to page sizes as supported by the hardware Date: Thu, 8 Sep 2011 17:03:50 +0300 [thread overview] Message-ID: <CAK=WgbZoF-F_hXHT1i=cAh8QJb+aFSjjubdy_YkHQ97acRvorA@mail.gmail.com> (raw) In-Reply-To: <CAHQjnONUvBtKSMxiDf5Mk+DLqfrTr09Us11rWoaR1mVZeiAmnA@mail.gmail.com> Hi KyongHo, On Thu, Sep 8, 2011 at 3:51 PM, KyongHo Cho <pullip.cho@samsung.com> wrote: > 16MB page is less practical in Linux because Linux kernel is unable > to allocated larger physically contiguous memory than 4MB by default. > But I also think that it is needed to support 16MB mapping for IO > virtualization someday Actually we need physically contiguous memory regions that are much bigger (in the tens of megs), so we do utilize 16MB pages. Today we reserve that memory on boot, but the plan is to move to CMA. > Actually, I think your idea is good and does not cause performance degradation. > But I wondered if it is really useful. Well, the alternative is to duplicate this logic in every IOMMU driver. Go ahead and try to rebase your driver on my recent patch set and see if you like it; the result should significantly simplify your map/unmap functions. You only need to add this line: static unsigned long s5p_iommu_pgsizes = SZ_4K | SZ_64K | SZ_1M | SZ_16M; and then advertise it with iommu_register, and you're done. The IOMMU core will only ask you to handle a single page from now on, and will take care of the rest. > The caller of iommu_map() gives gfp_order that is the size of the physical > memory to map. I've changed it in the patch :) This way users are not bound to rigid mapping sizes (this allows us to better utilize the physically-contiguous memory region we reserve on boot). Thanks, Ohad.
WARNING: multiple messages have this Message-ID (diff)
From: ohad@wizery.com (Ohad Ben-Cohen) To: linux-arm-kernel@lists.infradead.org Subject: [RFC 7/7] iommu/core: split mapping to page sizes as supported by the hardware Date: Thu, 8 Sep 2011 17:03:50 +0300 [thread overview] Message-ID: <CAK=WgbZoF-F_hXHT1i=cAh8QJb+aFSjjubdy_YkHQ97acRvorA@mail.gmail.com> (raw) In-Reply-To: <CAHQjnONUvBtKSMxiDf5Mk+DLqfrTr09Us11rWoaR1mVZeiAmnA@mail.gmail.com> Hi KyongHo, On Thu, Sep 8, 2011 at 3:51 PM, KyongHo Cho <pullip.cho@samsung.com> wrote: > 16MB page is less practical in Linux because Linux kernel is unable > to allocated larger physically contiguous memory than 4MB by default. > But I also think that it is needed to support 16MB mapping for IO > virtualization someday Actually we need physically contiguous memory regions that are much bigger (in the tens of megs), so we do utilize 16MB pages. Today we reserve that memory on boot, but the plan is to move to CMA. > Actually, I think your idea is good and does not cause performance degradation. > But I wondered if it is really useful. Well, the alternative is to duplicate this logic in every IOMMU driver. Go ahead and try to rebase your driver on my recent patch set and see if you like it; the result should significantly simplify your map/unmap functions. You only need to add this line: static unsigned long s5p_iommu_pgsizes = SZ_4K | SZ_64K | SZ_1M | SZ_16M; and then advertise it with iommu_register, and you're done. The IOMMU core will only ask you to handle a single page from now on, and will take care of the rest. > The caller of iommu_map() gives gfp_order that is the size of the physical > memory to map. I've changed it in the patch :) This way users are not bound to rigid mapping sizes (this allows us to better utilize the physically-contiguous memory region we reserve on boot). Thanks, Ohad.
next prev parent reply other threads:[~2011-09-08 14:04 UTC|newest] Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-09-02 17:32 [PATCH/RFC 0/7] iommu: fixes & extensions Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 17:32 ` [PATCH 1/7] iommu/omap-iovmm: support non page-aligned buffers in iommu_vmap Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 17:32 ` [PATCH 2/7] iommu/omap: cleanup: remove a redundant statement Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 17:32 ` [PATCH 3/7] iommu/core: use the existing IS_ALIGNED macro Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 17:32 ` [PATCH 4/7] iommu/omap: ->unmap() should return order of unmapped page Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 17:32 ` [PATCH 5/7] iommu/msm: " Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 18:36 ` David Brown 2011-09-02 18:36 ` David Brown 2011-09-02 18:36 ` David Brown 2011-09-02 17:32 ` [RFC 6/7] iommu/core: add fault reporting Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-05 10:00 ` Roedel, Joerg 2011-09-05 10:00 ` Roedel, Joerg 2011-09-05 10:00 ` Roedel, Joerg 2011-09-07 16:36 ` Ohad Ben-Cohen 2011-09-07 16:36 ` Ohad Ben-Cohen 2011-09-07 16:36 ` Ohad Ben-Cohen 2011-09-02 17:32 ` [RFC 7/7] iommu/core: split mapping to page sizes as supported by the hardware Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-02 17:32 ` Ohad Ben-Cohen 2011-09-07 1:30 ` KyongHo Cho 2011-09-07 1:30 ` KyongHo Cho 2011-09-07 6:01 ` Ohad Ben-Cohen 2011-09-07 6:01 ` Ohad Ben-Cohen 2011-09-07 8:05 ` KyongHo Cho 2011-09-07 8:05 ` KyongHo Cho 2011-09-07 9:16 ` Ohad Ben-Cohen 2011-09-07 9:16 ` Ohad Ben-Cohen 2011-09-08 12:51 ` KyongHo Cho 2011-09-08 12:51 ` KyongHo Cho 2011-09-08 14:03 ` Ohad Ben-Cohen [this message] 2011-09-08 14:03 ` Ohad Ben-Cohen 2011-09-07 9:49 ` Ohad Ben-Cohen 2011-09-07 9:49 ` Ohad Ben-Cohen 2011-09-06 10:15 ` [PATCH/RFC 0/7] iommu: fixes & extensions Roedel, Joerg 2011-09-06 10:15 ` Roedel, Joerg 2011-09-06 10:15 ` Roedel, Joerg 2011-09-06 11:28 ` Ohad Ben-Cohen 2011-09-06 11:28 ` Ohad Ben-Cohen 2011-09-06 11:28 ` Ohad Ben-Cohen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAK=WgbZoF-F_hXHT1i=cAh8QJb+aFSjjubdy_YkHQ97acRvorA@mail.gmail.com' \ --to=ohad@wizery.com \ --cc=Hiroshi.DOYU@nokia.com \ --cc=Joerg.Roedel@amd.com \ --cc=arnd@arndb.de \ --cc=davidb@codeaurora.org \ --cc=dwmw2@infradead.org \ --cc=iommu@lists.linux-foundation.org \ --cc=laurent.pinchart@ideasonboard.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-omap@vger.kernel.org \ --cc=pullip.cho@samsung.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.