From: Robin Murphy <robin.murphy-5wv7dgnIgG8@public.gmane.org>
To: Alex Williamson
<alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Glenn Serre <gserre-yk0uUPyXz1dBDgjK7y7TUQ@public.gmane.org>
Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Subject: Re: [PATCH 1/1] arch/x86: Add CONFIG_IOMMU_DEFAULT_PT for iommu=pt
Date: Fri, 30 Sep 2016 17:19:18 +0100 [thread overview]
Message-ID: <36ee18e0-5950-75fd-ac00-fb84ebcb0ebb@arm.com> (raw)
In-Reply-To: <20160929130122.401aa85d-1yVPhWWZRC1BDLzU/O5InQ@public.gmane.org>
On 29/09/16 20:01, Alex Williamson wrote:
> On Thu, 29 Sep 2016 11:41:53 -0700
> Glenn Serre <gserre-yk0uUPyXz1dBDgjK7y7TUQ@public.gmane.org> wrote:
>
>> Good morning,
>>
>> On 09/29/2016 11:31 AM, Alex Williamson wrote:
>>> On Thu, 29 Sep 2016 09:58:55 -0700
>>> Glenn Serre <gserre-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org> wrote:
>>>
>>>> Add CONFIG_IOMMU_DEFAULT_PT for iommu=pt
>>>>
>>>> Allow default to iommu=pt without adding to command line.
>>>> Add iommu=nopt to turn off default.
>>>>
>>>> Signed-off-by: Glenn Serre <gserre-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org>
>>>> ---
>>>> Documentation/kernel-parameters.txt | 3 ++-
>>>> arch/x86/Kconfig | 7 +++++++
>>>> arch/x86/kernel/pci-dma.c | 6 ++++++
>>>> 3 files changed, 15 insertions(+), 1 deletion(-)
>>>>
>>>> --- a/Documentation/kernel-parameters.txt
>>>> +++ b/Documentation/kernel-parameters.txt
>>>> @@ -1607,7 +1607,8 @@
>>>> nomerge
>>>> forcesac
>>>> soft
>>>> - pt [x86, IA-64]
>>>> + pt [x86]
>>>> + nopt [x86]
>>>> nobypass [PPC/POWERNV]
>>>> Disable IOMMU bypass, using IOMMU for PCI devices.
>>>>
>>>> --- a/arch/x86/Kconfig
>>>> +++ b/arch/x86/Kconfig
>>>> @@ -845,6 +845,15 @@
>>>> def_bool y
>>>> depends on CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU
>>>>
>>>> +config IOMMU_DEFAULT_PT
>>>> + int "Default iommu pt value (0-1)"
>>>> + range 0 1
>>>> + default "0"
>>>> + prompt "Set to 1 to default to iommu=pt"
>>>
>>> An integer that can be either zero or one... IOW a bool. There's
>>> support for bools in Kconfig.
>>
>> We had discussion about that during in-house code review. My initial
>> take was bool like INTEL_IOMMU_DEFAULT_ON, but reviewers thought the
>> current "right" way was range 0-1 like MTRR_SANITIZER_ENABLE_DEFAULT to
>> avoid an ifdef, else, endif:
>>
>> #ifdef CONFIG_IOMMU_DEFAULT_PT
>> int iommu_pass_through __read_mostly = 1;
>> #else
>> int iommu_pass_through __read_mostly;
>> #endif /* CONFIG_IOMMU_DEFAULT_PT */
>>
>> I'll go with whatever y'all prefer.
>
> Ok, I didn't really think it all the way through I guess. Still, my
> opinion is that it's strange to have a yes/no Kconfig option take a 0/1
> parameter and I'd probably rather have the slightly uglier code for the
> benefit of a more intuitive Kconfig. Maybe others disagree. Thanks,
Actually, there's no need for ugly code *or* an unintuitive Kconfig
type. See e.g. __pat_enabled in arch/x86/mm/pat.c ;)
Robin.
>
> Alex
>
>>>
>>>> + help
>>>> + Setting this option to 1 will set iommu passthrough (iommu=pt)
>>>> + by default. Use iommu=nopt to override.
>>>> +
>>>> config MAXSMP
>>>> bool "Enable Maximum number of SMP Processors and NUMA Nodes"
>>>> depends on X86_64 && SMP && DEBUG_KERNEL
>>>> --- a/arch/x86/kernel/pci-dma.c
>>>> +++ b/arch/x86/kernel/pci-dma.c
>>>> @@ -43,7 +43,7 @@
>>>> * useful if a user wants to use an IOMMU only for KVM device
>>>> assignment to
>>>> * guests and not for driver dma translation.
>>>> */
>>>> -int iommu_pass_through __read_mostly;
>>>> +int iommu_pass_through __read_mostly = CONFIG_IOMMU_DEFAULT_PT;
>>>>
>>>> extern struct iommu_table_entry __iommu_table[], __iommu_table_end[];
>>>>
>>>> @@ -196,6 +196,8 @@
>>>> #endif
>>>> if (!strncmp(p, "pt", 2))
>>>> iommu_pass_through = 1;
>>>> + if (!strncmp(p, "nopt", 4))
>>>> + iommu_pass_through = 0;
>>>>
>>>> gart_parse_options(p);
>>>>
>>>> _______________________________________________
>>>> iommu mailing list
>>>> iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.linuxfoundation.org_mailman_listinfo_iommu&d=DQICAg&c=IL_XqQWOjubgfqINi2jTzg&r=3biwyMBB1JD9rm0R5wqz7zcDVkNif9HJ5Pflrr18dkw&m=6weXbuobXVwdVUVGUJUzgHf_32Tr95Ey128v4XLFPjs&s=XTyH-JkxzIj-W47wN4KHobMOdUQjXNnrngKhCndmG9I&e=
>>>
>
> _______________________________________________
> iommu mailing list
> iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
> https://lists.linuxfoundation.org/mailman/listinfo/iommu
>
next prev parent reply other threads:[~2016-09-30 16:19 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-29 16:58 [PATCH 1/1] arch/x86: Add CONFIG_IOMMU_DEFAULT_PT for iommu=pt Glenn Serre
[not found] ` <2ebef311-b346-f3ed-2fca-ce4715b84c9d-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org>
2016-09-29 18:11 ` Konrad Rzeszutek Wilk
[not found] ` <20160929181150.GC9432-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2016-09-29 18:18 ` Glenn Serre
[not found] ` <ed808649-22d6-8447-5ddb-5d19665b7fa3-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org>
2016-09-29 18:20 ` Konrad Rzeszutek Wilk
2016-09-29 18:31 ` Alex Williamson
[not found] ` <20160929123115.7afcc88e-1yVPhWWZRC1BDLzU/O5InQ@public.gmane.org>
2016-09-29 18:41 ` Glenn Serre
[not found] ` <66f8f023-41a6-17e0-2df0-190cf5edb7ec-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org>
2016-09-29 19:01 ` Alex Williamson
[not found] ` <20160929130122.401aa85d-1yVPhWWZRC1BDLzU/O5InQ@public.gmane.org>
2016-09-30 16:19 ` Robin Murphy [this message]
2016-10-04 16:11 ` [PATCH v1 " Glenn Serre
[not found] ` <6b2c6f0b-cce8-b8f6-37c2-d4cc453bd603-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org>
2016-10-04 16:52 ` Konrad Rzeszutek Wilk
[not found] ` <20161004165232.GD2428-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2016-10-04 17:00 ` Glenn Serre
[not found] ` <04ab568e-8088-cf23-facb-7ef3fecf4bb6-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org>
2016-10-04 17:03 ` Konrad Rzeszutek Wilk
[not found] ` <20161004170358.GE2428-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2016-10-04 17:32 ` Glenn Serre
[not found] ` <ad5f24df-99e3-d9c7-4ca3-ba3de820da8e-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org>
2016-10-17 18:13 ` [PATCH v2 1/2] " Glenn Serre
[not found] ` <f3608ce9-af12-9ac8-7503-1ccd45983ee7-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org>
2016-10-17 18:15 ` [PATCH v2 2/2] Documentation/kernel-parameters.txt : Remove IA-64 from iommu=pt doc Glenn Serre
2018-08-15 13:01 ` [v2,1/2] arch/x86: Add CONFIG_IOMMU_DEFAULT_PT for iommu=pt luca.boccassi-Re5JQEeQqe8AvxtiuMwx3w
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=36ee18e0-5950-75fd-ac00-fb84ebcb0ebb@arm.com \
--to=robin.murphy-5wv7dgnigg8@public.gmane.org \
--cc=alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=gserre-yk0uUPyXz1dBDgjK7y7TUQ@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox