Page MenuHomeFreeBSD

pkelsey (Patrick Kelsey)
User

Projects

User Details

User Since
Jun 2 2014, 3:47 PM (549 w, 4 d)

Recent Activity

Dec 1 2021

pkelsey accepted D33189: vmxnet3: skip zero-length descriptor in the middle of a packet.
In D33189#750472, @avg wrote:

I thought a bit about gracefully handling too many (non-empty) fragments for a packet.
My only concern is what happens if we abort after seeing SOP and before reaching EOP.
Might that confuse the next call to vmxnet3_isc_rxd_available / vmxnet3_isc_rxd_pkt_get?

Dec 1 2021, 8:35 PM

Nov 30 2021

pkelsey accepted D33189: vmxnet3: skip zero-length descriptor in the middle of a packet.

We can only guess as to what may be really going on in the virtual device, but this seems like a correct defensive approach to what has been observed. Given the data at https://people.freebsd.org/~avg/vmxnet3-fragment-overrun.txt (thanks for collecting this!), I was concerned that there might be an issue with the fact that the virtual device is consuming free list entries for the zero-length fragments, but we are hiding this information from iflib, and that might break free list maintenance. I reviewed those paths, and it's fine (iflib tracks and replaces packet mbufs sent to the stack via a bitmap, provides the corresponding free list indexes to the driver during refill, and during refill, the vmx driver correctly identifies and handles gaps in those provided indexes).

Nov 30 2021, 7:20 PM

May 19 2021

pkelsey accepted D30346: pfctl: Fix crash on ALTQ configuration.

This is the right fix for what is a mistaken partial edit that occurred when parent determination was pulled up into eval_pfqueue() during 1d34c9dac8624c5c315ae39ad3ae8e5879b23256.

May 19 2021, 8:20 PM
pkelsey added a reviewer for D30346: pfctl: Fix crash on ALTQ configuration: pkelsey.
May 19 2021, 8:18 PM

Apr 26 2021

pkelsey committed rGca7005f1893d: iflib: Improve mapping of TX/RX queues to CPUs (authored by pkelsey).
iflib: Improve mapping of TX/RX queues to CPUs
Apr 26 2021, 5:08 AM
pkelsey closed D24094: Fix allocation of queues to CPUs in iflib.
Apr 26 2021, 5:07 AM

Mar 17 2020

pkelsey committed rS359029: Restore power-of-2 queue count constraint from r290948.
Restore power-of-2 queue count constraint from r290948
Mar 17 2020, 3:32 AM

Mar 16 2020

pkelsey created D24094: Fix allocation of queues to CPUs in iflib.
Mar 16 2020, 11:22 PM

Mar 14 2020

pkelsey closed D23951: Remove extraneous code from iflib.
Mar 14 2020, 8:14 PM
pkelsey committed rS359002: Remove extraneous code from iflib.
Remove extraneous code from iflib
Mar 14 2020, 8:14 PM
pkelsey committed rS359001: Adjust if_vmx default receive parameters for better out-of-box performance.
Adjust if_vmx default receive parameters for better out-of-box performance
Mar 14 2020, 8:12 PM
pkelsey closed D23950: Adjust if_vmx default receive ring size and receive ring buffers sizes to improve out-of-box performance.
Mar 14 2020, 8:12 PM
pkelsey committed rS359000: Fix if_vmx receive checksum offload bug and harden against the device skipping….
Fix if_vmx receive checksum offload bug and harden against the device skipping…
Mar 14 2020, 8:08 PM
pkelsey closed D23949: Fix if_vmx receive checksum offload bug and harden against the device skipping receive descriptors.
Mar 14 2020, 8:08 PM
pkelsey closed D23948: Remove refill budget from iflib.
Mar 14 2020, 7:59 PM
pkelsey committed rS358999: Remove refill budget from iflib.
Remove refill budget from iflib
Mar 14 2020, 7:59 PM
pkelsey committed rS358998: Allow iflib drivers to specify the buffer size used for each receive queue.
Allow iflib drivers to specify the buffer size used for each receive queue
Mar 14 2020, 7:57 PM
pkelsey closed D23947: Allow iflib drivers to specify the buffer size used for each receive queue.
Mar 14 2020, 7:57 PM
pkelsey closed D23946: Remove freelist contiguous-indexes assertion from rxd_frag_to_sd().
Mar 14 2020, 7:55 PM
pkelsey committed rS358997: Remove freelist contiguous-indexes assertion from rxd_frag_to_sd().
Remove freelist contiguous-indexes assertion from rxd_frag_to_sd()
Mar 14 2020, 7:55 PM
pkelsey committed rS358996: Fix iflib zero-length fragment handling.
Fix iflib zero-length fragment handling
Mar 14 2020, 7:52 PM
pkelsey closed D23945: Fix iflib zero-length fragment handling.
Mar 14 2020, 7:52 PM
pkelsey committed rS358995: Fix iflib freelist state corruption.
Fix iflib freelist state corruption
Mar 14 2020, 7:44 PM
pkelsey closed D23943: Fix iflib freelist state corruption.
Mar 14 2020, 7:44 PM
pkelsey retitled D23948: Remove refill budget from iflib from Add a sysctl to iflib to disable budget-based refill to Remove refill budget from iflib.
Mar 14 2020, 7:07 PM

Mar 10 2020

pkelsey updated the diff for D23948: Remove refill budget from iflib.

This kills the refill limit entirely.

Mar 10 2020, 4:02 AM

Mar 4 2020

pkelsey added a comment to D23948: Remove refill budget from iflib.

I get it, but that (totally arbitrary) limit is a pet peeve of mine. Its one of those things that you follow up several levels of code to an "XXX" comment and an arbitrary value. Its like reading a mystery novel and finding the butler really did do it.

And, to be honest, you already have the sysctl, If the user already has to touch something for decent performance, let's just have him set the budget to 65535 rather than making the running code even more complex.

Mar 4 2020, 5:19 AM
pkelsey added a comment to D23943: Fix iflib freelist state corruption.
In D23943#526402, @erj wrote:

One driver that is subject to the above scenario is the ixl driver.

Does that mean you also tested this patch with the ixl driver? I didn't see it mentioned in the "Test Plan" notes.

Mar 4 2020, 4:52 AM
pkelsey added inline comments to D23945: Fix iflib zero-length fragment handling.
Mar 4 2020, 4:40 AM
pkelsey added a comment to D23947: Allow iflib drivers to specify the buffer size used for each receive queue.
In D23947#526398, @erj wrote:

I think this looks okay, but I don't think it'll apply to the Intel drivers, right?

Mar 4 2020, 4:25 AM

Mar 3 2020

pkelsey added a comment to D23948: Remove refill budget from iflib.

Why not just remove the limit, rather than making things even more complex?

Mar 3 2020, 6:38 PM
pkelsey added a comment to D23946: Remove freelist contiguous-indexes assertion from rxd_frag_to_sd().

Funny how the comment right above the assert calls it out as bogus..

Mar 3 2020, 6:27 PM
pkelsey added a comment to D23945: Fix iflib zero-length fragment handling.
In D23945#526265, @avg wrote:

LGTM.
I assume that a change to vmxnet3 that takes advantage of this improvement is coming.

Mar 3 2020, 6:19 PM
pkelsey added inline comments to D23945: Fix iflib zero-length fragment handling.
Mar 3 2020, 6:06 PM
pkelsey created D23951: Remove extraneous code from iflib.
Mar 3 2020, 5:32 PM
pkelsey created D23950: Adjust if_vmx default receive ring size and receive ring buffers sizes to improve out-of-box performance.
Mar 3 2020, 5:29 PM
pkelsey created D23949: Fix if_vmx receive checksum offload bug and harden against the device skipping receive descriptors.
Mar 3 2020, 5:17 PM
pkelsey created D23948: Remove refill budget from iflib.
Mar 3 2020, 4:55 PM
pkelsey created D23947: Allow iflib drivers to specify the buffer size used for each receive queue.
Mar 3 2020, 4:24 PM
pkelsey created D23946: Remove freelist contiguous-indexes assertion from rxd_frag_to_sd().
Mar 3 2020, 4:14 PM
pkelsey created D23945: Fix iflib zero-length fragment handling.
Mar 3 2020, 4:03 PM
pkelsey created D23943: Fix iflib freelist state corruption.
Mar 3 2020, 3:36 PM

Jan 15 2020

pkelsey accepted D23147: Try to fix vmxnet3 when RSS option is enabled.
Jan 15 2020, 3:36 PM
pkelsey added a comment to D23147: Try to fix vmxnet3 when RSS option is enabled.

Looks good to me.

Jan 15 2020, 3:36 PM
pkelsey added inline comments to D23147: Try to fix vmxnet3 when RSS option is enabled.
Jan 15 2020, 5:43 AM

Jan 13 2020

pkelsey added inline comments to D23147: Try to fix vmxnet3 when RSS option is enabled.
Jan 13 2020, 5:54 PM

Jan 12 2020

pkelsey added a comment to D23147: Try to fix vmxnet3 when RSS option is enabled.

I have updated bug 242890 to include the rationale for enabling (and also modifying) the #ifdef notyet RSS code when converting the driver to iflib, and also raised the question of whether this same issue exists for the bnxt driver.

Jan 12 2020, 9:04 PM

Mar 14 2019

pkelsey added a member for iflib: pkelsey.
Mar 14 2019, 6:01 PM

Feb 18 2019

pkelsey added a comment to D19140: Fix memory corruption bug in vdev_read in loader ZFS support.

Not sure that this works.
I try this on 11.2 and on Hyper-V gen1 system stick at ldelf loading stage on boot from zfs root.

Feb 18 2019, 10:13 PM

Feb 17 2019

pkelsey committed rS344234: It turns out r344226 narrowed the overrun bug but did not eliminate it entirely.
It turns out r344226 narrowed the overrun bug but did not eliminate it entirely
Feb 17 2019, 5:47 PM
pkelsey closed D19220: Still a memory corruption bug in vdev_read in loader ZFS support.
Feb 17 2019, 5:47 PM
pkelsey retitled D19220: Still a memory corruption bug in vdev_read in loader ZFS support from Still a memory corruption bug in vdev_readin loader ZFS support to Still a memory corruption bug in vdev_read in loader ZFS support.
Feb 17 2019, 4:27 PM
pkelsey created D19220: Still a memory corruption bug in vdev_read in loader ZFS support.
Feb 17 2019, 4:17 AM
pkelsey committed rS344227: Remove whole-disk vdev support from zfsboot.
Remove whole-disk vdev support from zfsboot
Feb 17 2019, 3:52 AM
pkelsey closed D19142: Remove whole-disk vdev support from zfsboot.
Feb 17 2019, 3:52 AM
pkelsey updated the summary of D19142: Remove whole-disk vdev support from zfsboot.
Feb 17 2019, 3:50 AM
pkelsey committed rS344226: Fix memory corruption bug introduced in r325310.
Fix memory corruption bug introduced in r325310
Feb 17 2019, 3:35 AM
pkelsey closed D19140: Fix memory corruption bug in vdev_read in loader ZFS support.
Feb 17 2019, 3:35 AM

Feb 12 2019

pkelsey updated the diff for D19140: Fix memory corruption bug in vdev_read in loader ZFS support.

Introduced local char * buffer pointer to avoid casts on output buffer pointer updates

Feb 12 2019, 12:42 AM
pkelsey committed rS344031: MFC r343919:.
MFC r343919:
Feb 12 2019, 12:00 AM

Feb 11 2019

pkelsey committed rS344030: MFC r343535:.
MFC r343535:
Feb 11 2019, 11:35 PM
pkelsey committed rS344029: MFC r343534:.
MFC r343534:
Feb 11 2019, 11:33 PM
pkelsey committed rS344028: MFC r343995:.
MFC r343995:
Feb 11 2019, 11:30 PM
pkelsey committed rS344027: MFC r343291:.
MFC r343291:
Feb 11 2019, 11:24 PM
pkelsey committed rS344026: MFC r343287:.
MFC r343287:
Feb 11 2019, 11:13 PM
pkelsey committed rS344025: Fix the fix added in r343287 for spurious HFSC bandwidth check errors.
Fix the fix added in r343287 for spurious HFSC bandwidth check errors
Feb 11 2019, 10:58 PM
pkelsey closed D19124: Fix HFSC configuration bug introduced in r343287.
Feb 11 2019, 10:58 PM
pkelsey added a comment to D19140: Fix memory corruption bug in vdev_read in loader ZFS support.

The reason why I am asking is, I am trying to understand if we actually *can* get into the situation with overrun, I got the impression the zfs on disk format should keep things sector aligned, but it really is easy to get confused there... And it does feel safer if we do have proper checks in place.

If the zfs on-disk format keeps things sector-aligned / sector-multiple, then why was vdev_read complicated with code to handle non-sector aligned / non-sector multiple reads to begin with?

Yea, you are right:)

Feb 11 2019, 5:08 PM
pkelsey added a comment to D19140: Fix memory corruption bug in vdev_read in loader ZFS support.

The reason why I am asking is, I am trying to understand if we actually *can* get into the situation with overrun, I got the impression the zfs on disk format should keep things sector aligned, but it really is easy to get confused there... And it does feel safer if we do have proper checks in place.

Feb 11 2019, 4:39 PM
pkelsey added inline comments to D19140: Fix memory corruption bug in vdev_read in loader ZFS support.
Feb 11 2019, 2:32 PM
pkelsey added a comment to D19140: Fix memory corruption bug in vdev_read in loader ZFS support.

I have two questions:

  1. how was it tested - was there some corruption case?
Feb 11 2019, 2:31 PM
pkelsey created D19142: Remove whole-disk vdev support from zfsboot.
Feb 11 2019, 6:19 AM
pkelsey committed rS343996: Place pf_altq_get_nth_active() under the ALTQ ifdef.
Place pf_altq_get_nth_active() under the ALTQ ifdef
Feb 11 2019, 5:39 AM
pkelsey updated the summary of D19131: Decrease the time the kernel takes to install a new PF config with a large number of queues.
Feb 11 2019, 5:18 AM
pkelsey committed rS343995: Reduce the time it takes the kernel to install a new PF config containing a….
Reduce the time it takes the kernel to install a new PF config containing a…
Feb 11 2019, 5:17 AM
pkelsey closed D19131: Decrease the time the kernel takes to install a new PF config with a large number of queues.
Feb 11 2019, 5:17 AM
pkelsey created D19140: Fix memory corruption bug in vdev_read in loader ZFS support.
Feb 11 2019, 5:06 AM

Feb 9 2019

pkelsey added a comment to D19124: Fix HFSC configuration bug introduced in r343287.
In D19124#409229, @kristof wrote:

I have no objections to the patch, but I don't know enough about HFSC to meaningfully review this, I'm afraid.

Feb 9 2019, 5:41 PM
pkelsey updated the test plan for D19124: Fix HFSC configuration bug introduced in r343287.
Feb 9 2019, 5:22 PM

Feb 8 2019

pkelsey closed D19070: Fix em(4) tx interrupt routing.
Feb 8 2019, 8:35 PM
pkelsey committed rS343919: Fix em(4) interrupt routing.
Fix em(4) interrupt routing
Feb 8 2019, 8:35 PM
pkelsey updated the summary of D19131: Decrease the time the kernel takes to install a new PF config with a large number of queues.
Feb 8 2019, 8:15 PM
pkelsey created D19131: Decrease the time the kernel takes to install a new PF config with a large number of queues.
Feb 8 2019, 8:02 PM
pkelsey created D19124: Fix HFSC configuration bug introduced in r343287.
Feb 8 2019, 7:03 PM

Feb 3 2019

pkelsey created D19070: Fix em(4) tx interrupt routing.
Feb 3 2019, 12:22 AM

Feb 2 2019

pkelsey committed rS343688: Fix interrupt index configuratoin when using MSI interrupts..
Fix interrupt index configuratoin when using MSI interrupts.
Feb 2 2019, 9:15 PM

Jan 28 2019

pkelsey committed rS343535: Speed up non-status operations applied to a single interface.
Speed up non-status operations applied to a single interface
Jan 28 2019, 8:30 PM
pkelsey closed D18919: In ifconfig(8), don't build, sort and search all system addresses when performing a non-status action on a single interface.
Jan 28 2019, 8:30 PM
pkelsey committed rS343534: Don't re-evaluate ALTQ kernel configuration due to events on non-ALTQ interfaces.
Don't re-evaluate ALTQ kernel configuration due to events on non-ALTQ interfaces
Jan 28 2019, 8:26 PM
pkelsey closed D18918: Don't re-evaluate ALTQ kernel configuration due to events on non-ALTQ interfaces.
Jan 28 2019, 8:26 PM

Jan 24 2019

pkelsey added inline comments to D18919: In ifconfig(8), don't build, sort and search all system addresses when performing a non-status action on a single interface.
Jan 24 2019, 3:53 AM
pkelsey added inline comments to D18919: In ifconfig(8), don't build, sort and search all system addresses when performing a non-status action on a single interface.
Jan 24 2019, 3:46 AM
pkelsey added inline comments to D18919: In ifconfig(8), don't build, sort and search all system addresses when performing a non-status action on a single interface.
Jan 24 2019, 3:43 AM
pkelsey updated the diff for D18919: In ifconfig(8), don't build, sort and search all system addresses when performing a non-status action on a single interface.

Added ifname parameter to getifflags(), which now uses that instead of the global name var.

Jan 24 2019, 3:41 AM
pkelsey added inline comments to D18919: In ifconfig(8), don't build, sort and search all system addresses when performing a non-status action on a single interface.
Jan 24 2019, 3:27 AM

Jan 22 2019

pkelsey committed rS343301: Add missing dependency to vmxnet3 Makefile and clean it up a bit otherwise..
Add missing dependency to vmxnet3 Makefile and clean it up a bit otherwise.
Jan 22 2019, 4:36 AM
pkelsey committed rS343296: Remove unused function gsc_destroy().
Remove unused function gsc_destroy()
Jan 22 2019, 2:54 AM
pkelsey created D18919: In ifconfig(8), don't build, sort and search all system addresses when performing a non-status action on a single interface.
Jan 22 2019, 2:10 AM
pkelsey created D18918: Don't re-evaluate ALTQ kernel configuration due to events on non-ALTQ interfaces.
Jan 22 2019, 1:55 AM
pkelsey committed rS343291: onvert vmx(4) to being an iflib driver..
onvert vmx(4) to being an iflib driver.
Jan 22 2019, 1:11 AM