Re: revisiting tunables under Safe Mode menu option

From: John Baldwin <jhb_at_freebsd.org>
Date: Mon, 27 Feb 2012 11:26:20 -0500
On Monday, February 27, 2012 5:45:39 am Andriy Gapon wrote:
> on 30/01/2012 18:59 Andriy Gapon said the following:
> > 
> > First, I think that this proposal/discussion could have been more useful before
> > the 9.0.  Maybe the RE would be interested in adding another item to their
> > pre-release checklist: ask developers about what could be dropped and what should
> > be added to the Safe Mode settings in a new (.0) release.  Probably the developers
> > should keep the Safe Mode in mind too when adding new features or making other
> > drastic changes, but the reminder should be welcome.
> [snip]
> > o Since we have a separate ACPI option and because ACPI now is almost a mandatory
> > thing (and not a significant source of boot troubles), maybe we could remove the
> > code that automatically disables ACPI in Safe Mode?
> > 
> > o hint.apic.0.disabled - APIC code doesn't seem to be a significant source of boot
> > troubles, like ACPI it has become almost a mandatory thing.  So maybe we should
> > remove this setting?
> [dropped proposals snipped]
> > o hw.eisa_slot - Looks like something from ancient times.  Probably just
> > irrelevant for most systems.
> > 
> > o hint.kbdmux.0.disabled - I do not recall any recent problems with kbdmux.  In
> > fact disabling it may produce a surprising behavior for a user if there are
> > multiple keyboards actually attached.
> > 
> > Just so that the Safe Mode doesn't turn into a NOP I propose to add the following
> > tunables:
> > 
> > o kern.eventtimer.periodic=1 - Use periodic timer to drive clocks just in case a
> > system has any problems with the default mode.  Example: PR 164457.
> > 
> > o kern.geom.part.check_integrity=0 - Let GPART code be more permissive, could be
> > useful during upgrades from earlier versions of FreeBSD or when multi-booting with
> > other OSes.
> > 
> > o More?
> > 
> 
> How does the following look?
> diff --git a/sys/boot/forth/menu-commands.4th b/sys/boot/forth/menu-commands.4th
> index 828a148..41ba317 100644
> --- a/sys/boot/forth/menu-commands.4th
> +++ b/sys/boot/forth/menu-commands.4th
> _at__at_ -62,30 +62,19 _at__at_ marker task-menu-commands.4th
>  	-rot 2dup 12 + c! rot    \ replace 'N' with ASCII numeral
> 
>  	evaluate 0= if
> -		s" hint.apic.0.disabled" unsetenv
>  		s" hw.ata.ata_dma" unsetenv
>  		s" hw.ata.atapi_dma" unsetenv
>  		s" hw.ata.wc" unsetenv
> -		s" hw.eisa_slots" unsetenv
> -		s" hint.kbdmux.0.disabled" unsetenv
> +		s" kern.eventtimer.periodic" unsetenv
> +		s" kern.geom.part.check_integrity" unsetenv
> +		s" debug.acpi.disabled" unsetenv
>  	else
> -		\
> -		\ Toggle ACPI elements if necessary
> -		\
> -		acpipresent? if acpienabled? if
> -			menuacpi _at_ dup 0<> if
> -				toggle_menuitem ( N -- N )
> -			then
> -			drop
> -			acpi_disable
> -		then then
> -
> -		s" set hint.apic.0.disabled=1" evaluate
>  		s" set hw.ata.ata_dma=0" evaluate
>  		s" set hw.ata.atapi_dma=0" evaluate
>  		s" set hw.ata.wc=0" evaluate
> -		s" set hw.eisa_slots=0" evaluate
> -		s" set hint.kbdmux.0.disabled=1" evaluate
> +		s" set kern.eventtimer.periodic=1" unsetenv
> +		s" set kern.geom.part.check_integrity=0" unsetenv
> +		s" set debug.acpi.disabled=hostres" unsetenv
>  	then
> 
>  	menu-redraw

I'm not sure we need the 'hostres' thing in HEAD and 9-stable after my latest
changes?  Other than that I think this is fine.

-- 
John Baldwin
Received on Mon Feb 27 2012 - 17:10:26 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:24 UTC