Re: [PATCH] remove fullflush and nofullflush in IOMMU genericoption

From: Ingo Molnar
Date: Mon Sep 22 2008 - 07:18:00 EST



* FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote:

> > But, in general, it's pretty pointless to add boot options for
> > anything but debugging - nobody will use them unless there's a
> > _problem_ with the default. So the right approach is to not add boot
> > options and to make sure that the defaults are sane and intelligent.
>
> In general (or ideally), I agreed. But we can't do that in some cases.
>
> And IOMMUs has some options for non general cases. For example, the
> option, we are talking about, 'fullflush' for disabling lazy IOTLB
> flushing, has no correct setting for everyone. It's kinda policy. The
> boot option changes the policy that the IOMMU maintainer set by
> default.

yes. But boot options really have a lot less relevance in practice. In
99.99% of cases they are only used if things go wrong. They are almost
never used to tune production systems. (yes, there are exceptions - in
0.01% of the cases)

so ... i'd really suggest for you to get the bootup defaults right, and
then just to give enough boot option flexibility to turn something off
that might break in practice.

Otherwise, dont bother - if you want to offer advanced performance
tuning then at _minimum_ it should be debugfs or sysctl exposed. It's
totally PITA to performance-tune a system via a boot option.

> > So could we work towards removing unnecessary boot options please? _If_
> > we want any strategy switch then that should be runtime anyway - nobody
> > sane will reboot a server just to tune it slightly, and no distro will
> > litter the boot commandline with hardware dependent tunings either. So
> > it's only the default that matters, plus boot parameters for debugging.
>
> Ok, though I still think that deprecating and removing the existing
> kernel parameter is bad for users.

yes - the solution could be as easy as to add back that single option to
the affected iommu alone. (i.e. create a compatibility alias in essence)

> Joerg's patch does two things, adding fullflush and nofullflush to the
> generic option. The former needs more discussion though it might be a
> correct idea. The latter is clearly wrong (as Joerg agreed).
>
> I sent you the patch to revert his patch. But If you like to fix
> things in a different way, then it's fine.

well, i'd like you two to agree on how to proceed. Could you send a
patch please that adds back the option that Joerg's patch removed? I
certainly dont argue with the point that we should preserve existing
options.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/