-
robertdfrench
rmustacc: thank you, that was helpful. I need to get more familiar with the existing data structures, that will probably make it easier to navigate and poke around.
-
jbk
hrm.. this is maybe a dumb question, but are there any sort of PCI bus stats
-
jbk
e.g. if you wanted to see utilization or saturation
-
Smithx10
Was buying a server with 12tb drives, they ran out of 4kn and want to sell me 512e
-
Smithx10
Anything I need to lookout for when creating my zpool with 512e?
-
jbk
512e ?
-
jbk
doesn't the 'e' mean emulated? (i.e. it's likely 4kn under the hood?)
-
jbk
do you know what brand
-
jbk
some manufacturers actually have ways to switch between 4k/512e (destructive, so obviousy do before putting any data on it)
-
Smithx10
HGST/WD 3.5" 12TB SAS 12Gb/s 7.2K 256M 0F29560 4kn ISE P3 and HGST/WD 3.5" 12TB SAS 12Gb/s 7.2K 256M 0F29530 512e ISE P3
-
tsoome
I think we should use physical sector size by default, but you may want to check this to be sure
-
gitomat
[illumos-gate] 15908 upgrade nfs/server properties server_versmax and server_versmin -- Toomas Soome <tsoome⊙mc>
-
toasterking
I'm looking into adding `sendfile` support for Zig, and I just want to get my history straight.
-
toasterking
AFAIK sendfile/sendfilev was introduced in Solaris 8, based on the system call manpages I found.
-
toasterking
Whereas Wikipedia puts the Linux implementation in "Linux 2.2", but I don't know if it was there at the start or it was introduced later on.
-
toasterking
If it was, that would mean that Linux's implementation predates Solaris' by at least 3 years (1999 vs 2002).
-
toasterking
What I'm getting at is: if Solaris came later, why does the implementation differ so much? The biggest problem I have is that Solaris will send EINVAL and return -1 for incomplete writes, but Linux/BSD will at least return what was written.
-
toasterking
It also means that I can't easily emulate the BSD behaviour of "send everything if len == 0".
-
tsoome
from sendfile(3C): The sendfile() function was added to Oracle Solaris in the Solaris 9 release.
-
tsoome
it is good thing they did add HISTORY section;)
-
sjorge
Yay the server_vermin/max change landed!
-
sjorge
Thanks for working on that tsoome
-
vab
toasterking Interestingly enough, sendfilev(3C) says that it was added to Solaris 8 Update 5 in July 2001.
-
tsoome
sjorge now it is time to add knobs to 15405, then we can put it back
-
jbk
it might have been 'backported'
-
jbk
Smithx10: i think zfs is fine with using a smaller block size in a pool created with a larger disk
-
jbk
it's the opposite that's usually the problem
-
rmustacc
jbk: Presuming you mean PCIe and not PCI, I don't know of the processor really exposing that kind of information in any architectural way.
-
papertigers
robertdfrench: I sometimes find it useful to use the -t option to print in mdb instead of flipping back and forth to code. Example ::print -t kthread_t
-
papertigers
obviously you wont see the code comments etc that are always useful but to quickly dump out what a struct looks like, it's pretty useful
-
gitomat
[illumos-gate] 15938 amdzen_df_rome_ids check needs to be >= -- Robert Mustacchi <rm⊙fo>
-
jbk
rmustacc: once an mblk_t has been handed downstack (i.e. TX) to mac, can mac assume it has exclusive control of that mblk_t (at least until it passes it downstack)?
-
rmustacc
What does exclusive mean to you?
-
rmustacc
Are you just wanting to manipulate the mblk_t fields, the dblk, something else?
-
jbk
well ideally the dblk.. though i guess thinking about it, that could be shared, couldn't it?
-
rmustacc
Yes, the dblk has a db_ref on it.
-
rmustacc
What do you want to modify?
-
rmustacc
I wouldn't expect any need to modify the dblk in tx.
-
rmustacc
(Or even really the mblk_t fields).
-
rmustacc
But pretty much every tcp dblk is going to have a ref of 2 at least because the stack wants to hold onto the dblk until it gets an ack.
-
jbk
as i'm digging into some network stuff, I keep encountering these arguably pathological TSO mblk_ts -- a single packet, rife with long strings of tiny, large, tiny, large, ... and in a lot of the cases the previous mblk_t has more than enough space to append the data
-
rmustacc
I would look at that at TCP then and not in mac.
-
rmustacc
The sizing is based on the combo of what are the actual socket write systemcalls and then window sizing.
-
rmustacc
The bcopy there may simplify things, but honestly I would expect most cards to be pretty good at the sl.
-
rmustacc
*sgl
-
rmustacc
Are you running out of descriptors or just doing a pull up too much there or?
-
jbk
it's often leading to pullups in the driver because of segment limits
-
jbk
since i think just about every driver will consolidate runs of small into one descriptor (and copy)
-
rmustacc
i40e I'm assuming?
-
rmustacc
It has a rather low segment limit.
-
rmustacc
But I do think that this is something you want to look at above mac rather than in the driver.
-
jbk
(Ed McMahon impression) you are correct!
-
rmustacc
That is why is TCP carving up the mblks that way.
-
rmustacc
Yeah, i40e's I/O engine with only 8 SGL entries is pretty pessimal.
-
rmustacc
I think the question I'd basically ask is when we're getting a chain built up on a socket and sending, at what point do we consolidate?
-
jbk
i thought ice was similar (started looking at the datasheet for that since there's talk of maybe finishing your driver so we can use it)
-
rmustacc
Dunno. Just thinking outloud.
-
rmustacc
Yes, ice has the exact same I/O constraints.
-
rmustacc
That is the one part that is the same.
-
rmustacc
For better and worse.
-
jbk
though i'm wondering if other nics might be a better fit
-
rmustacc
Depends on what the surrounding situation and what your options are.
-
jbk
at least if we want to look to take advtange of any offloading beyond TSO + checksum offloading
-
rmustacc
That is, is it a situation where you pick the NIC or where someone else picks it.
-
rmustacc
In terms of other stateless offloads, that'd depend on what traffic you're doing.
-
jbk
(where we have a choice)
-
rmustacc
We will be looking at things around encapsulation offloads, but otherwise there's not a ton IIRC.
-
jbk
this would be SMB, NFS, HTTP[S].. so all the virtualization / hosting VM bits (e.g. effectively having a whole hw switch in the NIC) aren't very useful
-
jbk
i mean they don't hurt, but they don't really help either
-
rmustacc
I mean there are things we could do potentially around fast-pathing a ring/group filtered to traffic for some of those, but otherwise I don't think there's a lot there.