[04:54:07] --- Simon Wilkinson has become available [04:58:46] what happens is that the RTT is being computed and when there is a NAK the backoff algorithm kicks in which doubles the measured retryTime as the new starting point. It is not the goal of the RTT logic to determine how many packets the window size should be. That is elsewhere. [05:06:38] indeed. just to figure out what the retransmit time(s) should be [05:07:19] > the code just confused me yeah well, that's common [05:08:06] If you want your brain broken, try reading rx_queue.h [05:10:19] rx_queue.h isn't that bad. bah [05:11:50] I have a new version of it that is both more readable, and faster. [06:17:19] does anyone link rx libs into other (userspace) apps? I'm looking at linking it against another library and would love to see someone else's code before I tackle certain pieces. [06:17:45] Yes. [06:18:10] There are quite a few folk who have local applications which use RX as their RPC layer. [06:18:33] do you know if any of that code is public or sharable? [06:19:21] I'm not sure. But I'm also not sure what your question is - it's pretty straightforwards to link libafsrpc into your application. [06:20:15] at this point, I'm still in the 'consideration' stage, so I'd like to browse some code to help clarify what I want to do. [06:20:39] Have you looked at the various test applications in the rx directory itself? [06:21:14] in the past, yes, but are those still maintained? [06:22:11] (and in looking at them, they are so simple that they almost certainly still work -- only the security bits might have rotted) [06:22:12] Some of them are, some of them aren't. As I find I need one, I've been fixing it and making it build again. Generally the problem is just warnings that have to be dealt with. [06:23:00] ok, tx. [06:23:09] But, essentially, all you need to do is write a .xg file, process that .xg file with rxgen, build the resulting components into your application and link against libafsrpc. [06:23:53] You then have a small amount of boiler plate (rx_Init, rx_NewService &c) that you have to call as part of your application startup, but all of that should be pretty clear from the example scripts. [06:24:45] I'm actually wanting to do something about 1 level down from that [06:24:57] ie, use rx as the transport, but my own rpcgen mechanism [06:25:17] There are fewer examples of that, but that should be possible too. [06:25:28] rxperf has modes of operation which do that. [06:26:51] tx. that's helpful. [06:47:58] --- jaltman has left: Disconnected [06:48:05] --- jaltman has become available [07:15:53] --- deason has become available [07:58:45] --- jaltman has left: Disconnected [08:03:08] --- Simon Wilkinson has left [09:20:05] hmm, I have a kernel that claims 'find_exported_dentry' does not exist, but the pointer in the sb exported ops structure exists [09:20:10] osi_compat.h:343: error: `find_exported_dentry' undeclared (first use in this function) [09:20:20] what should the pointer be set to? [09:22:43] (kernel is 2.6.9-89.EL , centos4, btw; I'll probably just set it to null to get it to build for the moment) [09:28:22] For what it's worth, linerva claims to be running with: -stat 25000 -daemons 100 -volumes 2000 -files 40000 [11:17:17] --- mdionne has become available [11:18:54] deason: try modprobe exportfs [11:22:15] You need the function, to assign to the ops of the same name [11:26:36] --- meffie has left [11:28:19] Actually, scratch that, since you're at compile time, you're probably missing a header file. Can you find the declaration in include/linux somewhere? [11:29:09] I don't think modprobe is going to help me with a build error :) I assume we just prototype it ourselves [11:32:04] --- ksumner has left [11:32:29] --- ksumner has become available [11:36:47] gerrit 2946 if you want to look [11:39:49] I'd prefer finding the right linux header to include. I think this will fail on rh5 [11:41:38] there is no prototype that I can find [11:41:50] 'grep -R' on the headers I have doesn't find it [11:41:58] --- meffie has become available [11:43:01] er, well, that is, find_exported_entry exists as the struct member, and in Module.symvers, but that's it [11:48:25] Ok, you might have to declare it then. In rh5 it's in fs.h, no error with adding the prototype [11:50:40] It's surprising, an exported function should be declared in a global header [11:51:46] "Who says it's exported?" [11:58:33] EXPORT_SYMBOL says so [11:59:52] and yes, it should but c'est la vie [12:00:14] the 2.6.9 fs/nfsd/export.c apparently prototypes it itself, too [12:01:52] If it wasn't exported we'd have problems loading it later of course [12:21:26] --- mdionne has left [12:21:26] --- mdionne has become available [12:21:46] --- mdionne has left [12:23:48] --- Russ has become available [15:24:35] --- mdionne has become available [15:28:50] --- deason has left [16:04:19] --- Jeffrey Altman has left: Replaced by new connection [16:16:46] --- Simon Wilkinson has become available [16:26:31] --- jaltman has become available [17:09:52] --- Simon Wilkinson has left [17:23:33] --- deason has become available [18:13:16] --- phalenor has left [18:23:20] --- phalenor has become available [18:45:40] --- mdionne has left [20:39:05] --- jaltman has left: Replaced by new connection [20:39:07] --- jaltman has become available [20:51:04] Bah. 2942 both (a) doesn't build and (b) when the build is fixed, panics. I messed up in testing. [20:57:38] --- asedeno has left [21:16:07] --- asedeno has become available [22:33:43] --- deason has left