Page MenuHomeFreeBSD

rpokala (Ravi Pokala)
User

Projects

User Details

User Since
Nov 20 2015, 9:23 AM (368 w, 16 h)

Recent Activity

Fri, Nov 18

rpokala accepted D37439: arm64/machdep: Add parameter to the EFI table walking code.
Fri, Nov 18, 5:52 PM
rpokala accepted D37438: arm64/pmap: freed only used for PV_STATS.
Fri, Nov 18, 4:59 PM

Oct 28 2022

rpokala added inline comments to D29543: license: Create a license guideline document.
Oct 28 2022, 5:54 AM

Oct 3 2022

rpokala added a comment to D22150: Update swapon.8 to discourage using ZFS as swap device/file..
.Sh NOTE
ZVOLs are discouraged for use as swap devices,
because ZFS needs to allocate memory in order to write,
which may not be possible while the system is under memory pressure.
In other words, ZFS needs memory to make memory available.
ZFS swap files are discouraged for the same reason.
Oct 3 2022, 5:14 AM

Sep 15 2022

rpokala added a comment to D36515: ctime.3: Add a note about a possible return value to the description of localtime(3).

Is the problem when the year won't fit into an int, or specifically when it won't fit into a 32-bit int?

Sep 15 2022, 4:56 PM

Sep 5 2022

rpokala added a comment to D36435: loader.efi(8): document slop control, amd64 nocopy, and amd64 fault commands.

I have reworded the proposed diff for better readability in English; please consider adopting any or all of these changes:

.Ss Staging Slop
The kernel needs to allocate memory during very early bootstrap,
when creating kernel page tables and other data structures needed for initial operations.
Because the kernel cannot even parse the firmware tables describing available memory without allocating,
this makes bootstrapping problematic.
To solve this issue,
the kernel assumes that some memory after the staging area
.Po
where the kernel itself, together with modules and metadata, as loaded by
.Nm ,
resides
.Pc
is available for use,
without causing corruption of any firmware data.
.Pp
It is up to the loader to ensure that the staging area is larger than just the loaded kernel, modules, and metadata, by an extra
.Dq slop
amount.
By default, amd64 reserves 8MB.
The
.Ic staging_slop
command allows for tuning the slop size.
It takes a single argument, the size of the slop in bytes.
.Ss amd64 Nocopy
BIOS loaders on i386 and amd64 put the staging area starting at the physical address
.Ad 2M ,
then enables paging with identical mapping for the low
.Ad 1G .
The initial port of
.Nm
followed the same scheme for handing control to the kernel,
since it avoided modifications for the loader/kernel hand-off protocol,
and for the kernel page table bootstrap.
.Pp
This approach is incompatible with the UEFI specification,
and as a practical matter,
caused troubles on many boards,
because UEFI firmware is free to use any memory for its own needs.
Applications like
.Nm
must only use memory explicitly allocated using boot interfaces.
The original way also potentially destroyed UEFI runtime interfaces data.
.Pp
Eventually,
.Nm
and the kernel were improved to avoid this problem.
For backward bug-compatibility,
and to allow booting older kernels with newer
.Nm ,
this
.Sq nocopy
behaviour can be controlled by the loader
.Ic copy_staging
command.
It takes a single argument,
which can be one of
.Bl -tag -width disable
.It Ar disable
Force-disable copying staging area to
.Ad 2M .
.It Ar enable
Force-enable copying staging area to
.Ad 2M .
.It Ar auto
Selects the behaviour based on the kernel's capability of boostraping
from non-2M physical base.
The kernel reports this capability by exporting the symbol
.Va kernphys .
.El
.Pp
Arm64 loaders have operated in the
.Sq nocopy
mode from their inception,
so there is no
.Ic copy_staging
command on that platform.
.Ss amd64 Faults
Because it executes in x86 protected mode,
the amd64 version of
.Nm
is susceptible to CPU faults due to programmer mistakes and memory corruption.
To make debugging such faults easier, amd64
.Nm
can provide detailed reporting of the CPU state at the time of the fault.
.Pp
The
.Ic grab_faults
command installs a handler for faults directly in the IDT,
avoiding the use of the UEFI debugging interface
.Fn EFI_DEBUG_SUPPORT_PROTOCOL.RegisterExceptionCallback .
That interface is left available for advanced debuggers in the UEFI environment.
The
.Ic ungrab_faults
command tries to deinstall the fault handler, returning TSS and IDT
CPU tables to their pre-installation state.
The
.Ic fault
command produces a fault in the
.Nm
environment for testing purposes,
by executing the
.Ic ud2
processor instruction.
Sep 5 2022, 6:53 AM

Sep 1 2022

rpokala accepted D36418: lualoader: Add loader_menu_multi_user_prompt config variable.
Sep 1 2022, 10:42 PM

Aug 29 2022

rpokala accepted D36286: stand: Document EFI consoles.
Aug 29 2022, 5:42 AM

Aug 26 2022

rpokala added inline comments to D36286: stand: Document EFI consoles.
Aug 26 2022, 9:47 PM
rpokala added inline comments to D33779: nvmecontrol: logpage will use the controller's vid to choose the formatting function when the vendor name is not provided..
Aug 26 2022, 2:54 AM

Aug 23 2022

rpokala added inline comments to D36318: Add new EVENTHANDLER types: PREEMPTIBLE and SLEEPABLE.
Aug 23 2022, 8:20 PM

Aug 22 2022

rpokala added inline comments to D36286: stand: Document EFI consoles.
Aug 22 2022, 8:06 PM
rpokala added inline comments to D36286: stand: Document EFI consoles.
Aug 22 2022, 6:08 PM
rpokala requested changes to D36286: stand: Document EFI consoles.
Aug 22 2022, 6:07 PM

Aug 5 2022

rpokala added a comment to D22012: Import dhcpcd(8) into FreeBSD base..

Given that we h ave a number of options in ports, why? What would dhcpd in base provide us that one of the alternatives in ports cannot?

Aug 5 2022, 11:28 PM
rpokala accepted D35588: bsdinstall: allow setting the root password via env variables.
Aug 5 2022, 2:46 AM

Jul 28 2022

rpokala added a comment to D35912: stand: Add driver interface docs.

Based on my previous comments, I suggest something like this for dv_type:

.It dv_type
Type of device.
The supported types are:
.Bl -tag -width "DEVT_NONE"
.It DEVT_NONE
.It DEVT_DISK
.It DEVT_NET
.It DEVT_CD
.It DEVT_ZFS
.It DEVT_FD
.El
Each type may have its own associated (struct type_devdesc),
which has the generic (struct devdesc) as its first member.

(The markup might need a little tweaking, particularly the references to the structures, but that should be in the right ballpark.)

Jul 28 2022, 10:41 PM
rpokala added inline comments to D35912: stand: Add driver interface docs.
Jul 28 2022, 10:25 PM
rpokala added a comment to D35966: date: refer to tzdata as a 'distribution' rather than 'package'.

I agree "package" is unclear, but I have mixed feelings about "distribution". "tzdata data" read weirdly to me, so what about "information"?

Jul 28 2022, 12:06 AM

Jul 27 2022

rpokala accepted D35966: date: refer to tzdata as a 'distribution' rather than 'package'.
Jul 27 2022, 6:03 PM

Jul 26 2022

rpokala added inline comments to D35959: style: Tighten up one use of 'may'.
Jul 26 2022, 9:13 PM
rpokala added a comment to D35960: style: Allow C++ comments.

I would suggest clarifying "appropriate for the situation".

Jul 26 2022, 9:09 PM
rpokala accepted D35959: style: Tighten up one use of 'may'.
Jul 26 2022, 8:24 PM
rpokala accepted D35945: Style(9): Strengthen statements about not using K&R function definitions.
Jul 26 2022, 5:30 PM
rpokala accepted D35945: Style(9): Strengthen statements about not using K&R function definitions.
Jul 26 2022, 4:34 PM

Jul 25 2022

rpokala added inline comments to D35912: stand: Add driver interface docs.
Jul 25 2022, 9:05 PM

Jul 21 2022

rpokala added a comment to D35817: qat: Rename to qat_c2xxx and remove support for modern chipsets.

Re-add the manual page.

Jul 21 2022, 5:16 PM

Jul 19 2022

rpokala added a comment to D35588: bsdinstall: allow setting the root password via env variables.

FWIW, I'd switch to printf '%s' "$ROOTPASS" on general principles, to avoid the possibility of silliness.

Jul 19 2022, 2:49 AM

Jul 18 2022

rpokala accepted D35588: bsdinstall: allow setting the root password via env variables.
Jul 18 2022, 5:15 PM

Jul 17 2022

rpokala added a comment to D35817: qat: Rename to qat_c2xxx and remove support for modern chipsets.
In D35817#813191, @pauamma_gundo.com wrote:

The qat(4) manual page was deleted, not moved or renamed. Is that deliberate?

Yes. The new QAT driver has its own manual page, and since qat_c2xxx is specifically for old hardware and won't be receiving improvements beyond the usual maintenance, I don't see much reason to keep a man page for it.

Jul 17 2022, 6:35 PM

Jul 16 2022

rpokala added a comment to D35835: ofed/infiniband: fix ifdefs for new INET changes, fixing LINT-NOIP.

LGTM.

Jul 16 2022, 9:22 PM
rpokala accepted D35828: atomic: Define inline functions for atomic_load/store.
Jul 16 2022, 12:43 AM

Jul 13 2022

rpokala accepted D35806: inet.4 tcp.4 udp.4: Replace *CTL_* OID macro names with sysctls.

LGTM.

Jul 13 2022, 8:55 PM
rpokala added inline comments to D35806: inet.4 tcp.4 udp.4: Replace *CTL_* OID macro names with sysctls.
Jul 13 2022, 7:50 PM
rpokala added a comment to D35774: kdump: Advance kdump timestamp resolution..
In D35774#812599, @jhb wrote:

Perhaps adjust the log message a bit to something like:

Jul 13 2022, 6:51 PM
rpokala added inline comments to D35774: kdump: Advance kdump timestamp resolution..
Jul 13 2022, 6:49 PM

Jul 12 2022

rpokala added a comment to D35783: ls: `-v` flag (and `strverscmp(3)` & `versionsort(3)`).

I implemented something similar to strverscmp() several years back, but in a much simpler (though potentially slower?) way, by leveraging strtol():

int
strnumcmp(
    const char *s1,
    const char *s2)
{
    unsigned int n1 = 0;
    unsigned int n2 = 0;
Jul 12 2022, 4:39 PM

Jul 11 2022

rpokala added inline comments to D35774: kdump: Advance kdump timestamp resolution..
Jul 11 2022, 5:28 PM

May 27 2022

rpokala added a comment to D35326: glabel.8: Warn against using generic labels on a shared device.
In D35326#800921, @imp wrote:

"You should not use glabel with any device you plan on putting a filesystem on"

might be better advise.

May 27 2022, 12:22 AM

May 6 2022

rpokala added a comment to D35141: msgbuf: Allow microsecond granularity timestamps.
In D35141#796582, @imp wrote:

Nice! (How did I not know that kern.msgbuf_show_timestamp was a thing?!?)

Because nobody has done something like https://reviews.freebsd.org/D35139 to document it?

May 6 2022, 5:48 PM
rpokala added a comment to D35141: msgbuf: Allow microsecond granularity timestamps.

Nice! (How did I not know that kern.msgbuf_show_timestamp was a thing?!?)

May 6 2022, 5:41 PM
rpokala added inline comments to D35139: dmesg: Document kern.msgbuf_show_timestamp.
May 6 2022, 4:40 PM

May 1 2022

rpokala committed rG3cbc8109a985: lacp: short timeout erroneously declares link-flapping (authored by Greg Foster <gfoster@panasas.com>).
lacp: short timeout erroneously declares link-flapping
May 1 2022, 7:18 PM
rpokala committed rG3fbee9be2563: lacp: short timeout erroneously declares link-flapping (authored by Greg Foster <gfoster@panasas.com>).
lacp: short timeout erroneously declares link-flapping
May 1 2022, 7:18 PM

Apr 28 2022

rpokala added inline comments to D34208: find-mfc: add a tool to find MFC candidates.
Apr 28 2022, 5:05 PM

Apr 27 2022

rpokala closed D35070: LACP w/ short timeout erroneously declares link-flapping.
Apr 27 2022, 8:00 PM
rpokala committed rG00a80538b447: lacp: short timeout erroneously declares link-flapping (authored by Greg Foster <gfoster@panasas.com>).
lacp: short timeout erroneously declares link-flapping
Apr 27 2022, 8:00 PM

Apr 26 2022

rpokala requested review of D35070: LACP w/ short timeout erroneously declares link-flapping.
Apr 26 2022, 6:20 PM

Apr 12 2022

rpokala added inline comments to D34882: ping: split the visual part of -f into a new option -..
Apr 12 2022, 1:11 AM

Apr 6 2022

rpokala added inline comments to D34747: ls(1): Add -g, -n, and -o options for POSIX standard.
Apr 6 2022, 10:43 PM

Apr 1 2022

rpokala accepted D34731: bikeshed.7: the backstory.
Apr 1 2022, 6:51 PM

Mar 31 2022

rpokala added inline comments to D34703: uart(4): Add a concept of "unique" serial devices.
Mar 31 2022, 12:25 AM

Mar 23 2022

rpokala accepted D34649: bsdinstall.8 tar command order of argument breakage.
Mar 23 2022, 8:57 PM · manpages

Mar 16 2022

rpokala accepted D34577: x86: Correctly report unexpected cache level..
Mar 16 2022, 8:16 PM

Mar 11 2022

rpokala committed R9:bb376db935f8: Add updated GPG key. (authored by rpokala).
Add updated GPG key.
Mar 11 2022, 6:50 PM

Mar 9 2022

rpokala added a comment to D34511: script add -T fmt to print time-stamps.

FWIW, LGTM.

Mar 9 2022, 9:32 PM
rpokala added inline comments to D34511: script add -T fmt to print time-stamps.
Mar 9 2022, 8:47 PM

Mar 4 2022

rpokala added inline comments to D34444: x86: Defer TSC timecounter calibration.
Mar 4 2022, 7:05 PM

Feb 13 2022

rpokala accepted D34245: Add support for module_verbose.
Feb 13 2022, 5:00 AM

Feb 11 2022

rpokala added a comment to D34245: Add support for module_verbose.

LGTM

Feb 11 2022, 5:25 AM
rpokala added a comment to D34245: Add support for module_verbose.

Might I suggest something like this next to the definition of module_verbose:

enum {
        MODULE_VERBOSE_SILENT,  /* 0 */
        MODULE_VERBOSE_QUIET,   /* 1 */
        MODULE_VERBOSE_DEFAULT, /* 2 */
        MODULE_VERBOSE_FULL,    /* 3 */
};

Or something along those lines. Then, rather than comparing against bare 0 or 2 (or potentially 3, as you mentioned here in Phabricator), you'd compare against the symbol. And of course get rid of MODULE_VERBOSE in favor of MODULE_VERBOSE_DEFAULT.

Feb 11 2022, 3:37 AM

Feb 4 2022

rpokala accepted D34152: style(9): Default to omitting $FreeBSD$.
Feb 4 2022, 5:26 PM

Feb 3 2022

rpokala added inline comments to D34152: style(9): Default to omitting $FreeBSD$.
Feb 3 2022, 4:48 PM
rpokala added inline comments to D34152: style(9): Default to omitting $FreeBSD$.
Feb 3 2022, 6:02 AM

Nov 12 2021

rpokala added inline comments to D32954: Retire non-NEW_PCIB code and remove config option.
Nov 12 2021, 2:49 AM
rpokala added a comment to D32954: Retire non-NEW_PCIB code and remove config option.

... leaving just arm (which still enables it for GENERIC and TEGRA124) and mips
(which still enables it for RT2880_FDT and various std.mediatek-using kernel
configs), ...

Nov 12 2021, 2:42 AM

Nov 10 2021

rpokala added inline comments to D32700: nvmecontrol: Implement Get/Set Feature for nvmecontrol.
Nov 10 2021, 6:25 AM

Nov 8 2021

rpokala added inline comments to D32700: nvmecontrol: Implement Get/Set Feature for nvmecontrol.
Nov 8 2021, 7:11 PM

Nov 5 2021

rpokala added inline comments to D32832: nvme: improve selftest option for nvmecontrol.
Nov 5 2021, 2:52 AM

Nov 4 2021

rpokala added inline comments to D32832: nvme: improve selftest option for nvmecontrol.
Nov 4 2021, 6:57 PM

Sep 10 2021

rpokala added inline comments to D29543: license: Create a license guideline document.
Sep 10 2021, 9:06 PM

Jun 13 2021

rpokala added a comment to D30751: linux(4): Get rid of Linuxulator's kernel build options..

To make sure I understand this: this change is to no longer allow Linuxulator to be built into the kernel, and only allow it to be built as a module?

Jun 13 2021, 9:23 PM

May 31 2021

rpokala added inline comments to D21886: Add USB support for location based device unit numbers.
May 31 2021, 10:58 PM

May 13 2021

rpokala added a comment to D30254: style: tweak tab after #define advice.

Can we please encourage per-file or per-group consistency? Patches are annoying to read when the a group of #defines randomly switches between styles.

May 13 2021, 10:08 PM
rpokala added inline comments to D17083: Alter the prototype of qsort_r(3) to match POSIX, which adopted the glibc-based interface..
May 13 2021, 6:56 PM

May 5 2021

rpokala accepted D30116: kern: clarify boot time.

Thanks for the changes!

May 5 2021, 6:48 AM
rpokala added inline comments to D30116: kern: clarify boot time.
May 5 2021, 6:21 AM
rpokala added inline comments to D30116: kern: clarify boot time.
May 5 2021, 6:06 AM
rpokala added inline comments to D30116: kern: clarify boot time.
May 5 2021, 5:39 AM
rpokala added a comment to D30116: kern: clarify boot time.
In D30116#676007, @phk wrote:

I would go with:

"Estimated System Boot time. When the clock is set, this is recalculated as new_time - uptime"

I think the "Estimated" is important, because neither clock-frequency tweaks, up to half a millisecond per second, nor leap-seconds are accounted for.

May 5 2021, 5:33 AM
rpokala added inline comments to D30116: kern: clarify boot time.
May 5 2021, 3:34 AM
rpokala added inline comments to D30116: kern: clarify boot time.
May 5 2021, 2:32 AM

May 2 2021

rpokala added inline comments to D30050: Adds uuid validation to bhyve(8) arg parsing.
May 2 2021, 9:54 PM

Apr 26 2021

rpokala added inline comments to D29992: camcontrol(8): add "smart" command.
Apr 26 2021, 5:45 PM
rpokala added inline comments to D29917: BeFS support for fstyp command.
Apr 26 2021, 2:58 AM

Apr 23 2021

rpokala added inline comments to D29937: newbus: Move from bus_child_{pnpinfo,location}_src to bus_child_{pnpinfo,location} with sbuf.
Apr 23 2021, 12:19 AM

Apr 20 2021

rpokala accepted D29871: fix leak in lib/libc/posix1e/acl_support_nfs4.c.

@freqlabs requested a second set of eyes; LGTM

Apr 20 2021, 7:30 PM

Apr 10 2021

rpokala accepted D29676: Rename struct device to struct _device.

LGTM, FWIW.

Apr 10 2021, 8:36 PM
rpokala added inline comments to D29676: Rename struct device to struct _device.
Apr 10 2021, 2:19 AM

Apr 7 2021

rpokala added a comment to D29531: Add kvmclock timecounter support to FreeBSD.

Thanks!

Apr 7 2021, 11:06 PM
rpokala added a comment to D29531: Add kvmclock timecounter support to FreeBSD.

As for the copyright, it was originally there but got removed after @imp said it was no longer custom.

Apr 7 2021, 10:56 PM
rpokala added a comment to D29531: Add kvmclock timecounter support to FreeBSD.

In addition to the copyright thing mentioned inline, a question: This is for FreeBSD VMs running under Linux Kernel-based Virtual Machine, correct? If that's the case, for clarity, please change the

# KVM support

line in in the GENERIC and NOTES files to something like

# Linux KVM support
Apr 7 2021, 10:31 PM

Apr 6 2021

rpokala accepted D29591: gptboot.efi: Add man page.
Apr 6 2021, 5:00 AM
rpokala added inline comments to D29591: gptboot.efi: Add man page.
Apr 6 2021, 4:35 AM

Apr 5 2021

rpokala added inline comments to D29591: gptboot.efi: Add man page.
Apr 5 2021, 11:20 PM
rpokala added a comment to D29276: smbios: support getting address from EFI.

Code LGTM. ==@ambrisko WRT testing on legacy BIOS platforms.

Apr 5 2021, 10:16 PM
rpokala added inline comments to D29591: gptboot.efi: Add man page.
Apr 5 2021, 8:01 PM
rpokala added inline comments to D29591: gptboot.efi: Add man page.
Apr 5 2021, 7:25 PM

Apr 3 2021

rpokala added inline comments to D29479: x11: document the latest best advice about graphics.
Apr 3 2021, 12:13 AM

Mar 27 2021

rpokala added inline comments to D29437: Start pre-commit best practices guide.
Mar 27 2021, 5:03 AM