00:09:22 hrm.. it looks like the smbios3.0 spec includes records that should allow you to map a DIMM (from the smbios data) to a physical address.. is there any reason (other than just not implemented/ENOTIME) the imc driver couldn't use that (when present) to include the vendor/serial/etc. info? 01:49:18 jbk: Which piece? 01:49:37 Do you mean the bank locator? 01:49:45 Or Device locator? 01:57:44 the device locator.. 01:57:57 So, I would probably have topo merry it up. 01:58:02 It's a free form string and varies with every vendor. 01:58:10 And will change from hw gen to gen. 01:58:22 At least, that was my experience when I looked at it back when I did the imc work. 01:59:00 it looks like you could take the physical address from a SMB_TYPE_MEMDEVICEMAP and match that record up with a SMB_TYPE_MEMDEVICE to get the device locator, manuf, serial, etc. 01:59:33 and use the physical address to map it back to the dimm from the mc 01:59:46 (asking the mc to return the DIMM for the physical address) 02:00:27 (I'm happy to play around with this and see if I can get it working if there's no obvious flaws I'm missing) 02:00:43 Intersting. I'd probably start with marrying it up in topo. 02:01:27 Rather than in the kernel. 02:02:10 i guess for fm, it really doesn't matter since as long as it's getting the info from somewhere, it should be able to use i 02:02:14 t 02:02:21 doesn't matter how it gets the info 02:03:27 Though I think it may be more complicated. I'll need to see what's going on on one of these systems. 02:04:14 I think this may not be a slam dunk. 02:04:27 Due to interleaving, I see things that all have the same starting address on a system. 02:05:04 Maybe because it's two dpc. 02:07:58 the SMB_TYPE_MEMDEVICEMAP does have the interleaving info... though my system doesn't do interleaving, so i'll need to find one that does to see what that looks like 02:08:42 Mine all have a value of 255. 02:09:01 Which makes me wonder if something is going on with the decoding, but I dunno. 02:09:12 Anyways, promising area, but something we'll need to dig a bit more into. 02:09:31 Otherwise, you can always do something with a map for a known scheme with the bank locator stringf. 02:09:34 *string 05:40:20 getting into the weeds here.. but https://github.com/illumos/illumos-gate/blob/master/usr/src/cmd/fm/eversholt/files/i386/i86pc/intel.esc#L298-L303 05:40:38 does that suggest that on intel, we'll never fail dimms larger than 8gb? 05:40:50 because there's no serd engine defined for larger dimms? 06:10:01 err no.. 06:18:17 i think it's just propagating a fault w/ different serd parameters.. 14:36:33 rmustacc: interestingly enough, it appears mcelog on linux is using that approach (smbios type 20 records to map physical addr to type 17 record) 14:37:11 though annoyingly, it appears (from checking a few different systems) that at least some HP and Dell systems don't supply those records :( 14:37:17 (my supermicro server does though) 14:39:55 I would probably just do the manual map personally. 16:15:07 probably a dumb question, but if you have an existing TCP connection, and the interface associated with the source IP does down (link down), is there a way to detect that aside from just waiting for the connection to time out (or looking for the link level sysevent and map the linkname back)? assume you don't care/want to wait to see if the link comes back 16:16:08 With just the tcp socket? 16:18:35 yeah, if there was an option or such that could be set... i didn't think there was, but sometimes there's stuff lurking taht isn't immediately discoverable 16:42:22 you can monitor for interface changes with the routing socket. 16:46:59 [illumos-gate] 16060 tcp data loss with recv() -- Arne Jansen 16:49:39 that might be the way to go 16:50:50 the context here is iSCSI.. the typical setup I see w/ multipathing is that you'll have sparate vlans for each path which means multiple tcp sessions on different interfaces 16:51:10 (e.g. not using link aggrs) 16:52:00 and while I can see where a TCP timeout causes a path down, if the underlying link is down, we might as well immediately stop traffic across it at least until it comes back up 16:55:00 (example of something using this - in.mpathd. see usr/src/cmd/cmd-inet/usr.lib/in.mpathd/mpd_main.c 17:17:42 .. but be aware that this only catches some reasons why a destination might be unreachable..) 17:45:38 yeah.. that might be fine though... while the best we can do if packets are lost in the ether is just timeout, but when we know out link is down, we're better off not trying to send PDUs down it if we have an alternative 17:48:09 (I do think this sort of illustrates why trying to do SCSI over TCP isn't a great fit 17:49:00 but not much I can do about that... 19:15:27 Does anybody know if the mariadb package in either omnios extra or pkgsrc have galera support? 19:15:37 At first glance it looks like that is a no. 20:06:15 i don't even know what that is :) 20:07:19 This comes from @bahamat: 20:07:37 "The galera documentation says it's Linux only. Makes me think that maybe they know they have linuxisms that aren't/won't be supported elsewhere." 20:10:12 https://github.com/codership/galera/tree/3.x appears to be the key component 20:10:16 it looks like synchronous replication 20:10:25 it looks like c++ 20:10:40 sjorge: not the mariadb package (yet), but our percona-cluster packages do 20:11:24 you can use e.g. https://github.com/TritonDataCenter/pkgsrc/wiki/use:percona-cluster to set up replication 20:12:38 we have at least one customer using it so it seems to be pretty stable on illumos, there are occasional linuxisms I need to fix on updates but the rest is OS agnostic 20:50:14 jbk: I don't think a link going down actually means a TCP connection is going to be useless, per se, right? It presumably depends on what's going on with the routing table and is almost certainly site dependent (e.g., if you're using BGP it might be a few seconds and then you'll have a new path to the end host) 20:50:55 If you need TCP liveness you really should do it inside the protocol at the interval where you want liveness to be tested 20:51:04 in general yes 20:51:06 iSCSI probably should have done that at a transport layer below the SCSI packets 20:51:13 but in the context of iSCSI 20:51:31 it really ends up being worse 20:51:48 and i've never seen a setup where anyone is insane enough to route iSCSI packets 20:52:21 It's almost certainly happening in modern deployments where you isolate a subnet within a rack 20:52:33 and only do L3 forwarding between racks 20:52:48 (Or even if you live in the IPv6 future with a /64 per server) 20:52:51 i don't think those places are using iSCSI 20:52:51 Yeah 20:53:00 They might not be, I guess. 20:55:16 every setup i've ever seen is each path to the storage has it's own subnet (I suppose it could be routed within that) 20:58:05 jbk: one approach that I've heard of injects individual server addresses into the local routing protocol so if there is a different path to the destination the connection can stay alive. But that is rarely done (requires host admins and network admins to trust each other too much, and I'm only a little sarcastic about that..) 20:58:44 well we all know the network is perfection in carnate, flawless even, and is _never_ the cause of problems :) 21:01:09 for iSCSI multipathing, failover really should be driven by timeouts in iSCSI rather than relying on a signal from TCP. 21:02:17 yes, and it is, but you're still going to basically have stuff freeze until the timeout hits 21:05:22 but even then, if i have foo0 w/ 1.2.3.4/24 and bar0 with 1.2.3.5/24, once the TCP session is created, we're not going to send packets from 1.2.3.4 out bar0, are we? 21:05:44 if the link is down, we're just going to buffer until the link comes back or it times out, right? 21:09:10 if I have a CDB I need to send, and I have multiple paths to choose from, why would I ever want to pick the one that I know (or at least could know) is not going to be able to send it right now? 21:09:18 jbk: depends on how routing is set up. 21:10:10 both 1.2.3.4 and 1.2.3.5 are on 1.2.3.0/24 21:11:36 (and even that is pretty unusual... pretty much always foo0 would be on subnetA and bar0 would be on subnetB) 21:11:37 .. and on which hostmodel the stack is configured to use (weak/strong/src-priority; see ipadm man page) 21:12:09 weak host model would send packet out any interface if it believed it had the best route 21:12:23 strong model sends it only out the configured interface 21:19:57 other signals you could look for distributing requests across multiple equivalent connections would be number of outstanding transactions and time of most recent reply from the other end. 21:30:29 jperkin aha thanks! I did not check the percona package, but percona is fine too. 21:31:00 [illumos-gate] 15723 mbrtowc_l manpage omits "_l" from function name in prototype -- Bill Sommerfeld 21:48:16 While I'll be back for a period of Wed. night the 27th through Fri noon the 29th for the 20231228 release, and maybe Wed. the 3rd if Intel is intransigent, I officially enter my winter break at 5pmET today, and will be officially back on Monday the 8th. See you in 2024! 21:48:55 enjoy your break!