[01:10:26] jimharris or bwalker: can you pull https://review.gerrithub.io/#/c/spdk/dpdk/+/425576/ to dpdk submodule. I don't know why but I think we are using spdk-18.05 instead spdk-18.05.1. [04:27:23] *** Joins: tkulasek (tkulasek@nat/intel/x-lcmhnctkdncabdxr) [07:47:06] oh - you're right - master is still using spdk-18.05 [07:48:51] pwodkowx: i restored the spdk-18.05 patch you had made previously: https://review.gerrithub.io/#/c/spdk/dpdk/+/425577/ [07:54:31] pwodkowx, darsto: reviewing this bdev/iscsi readme patch from peluse, and realize the readme is woefully out of date [07:54:46] could one of you clean it up when you have a chance? [07:56:18] oh wow, it really is [07:57:05] maybe we should remove it completely, and just document it in doc/bdev.md like the rest of the modules now [07:58:32] yeah, we've added it in 18.04 as experimental and didn't announce it to be ready anytime later [07:58:52] it's probably a good moment to announce it now, isn't it? [07:59:04] sounds good [08:24:20] sethhowe: Thanks for the long, arduous slog to get through the shared lib series! jimharris: Feel free to re-examine 426129 et. al. [08:32:48] lhodev: Thanks for guiding me through it! I learned a lot from you during the process. And I feel like we have really good line of sight for some further improvements to the build structure after these changes are approved. [09:02:41] jimharris: about https://review.gerrithub.io/#/c/spdk/spdk/+/424061/ [09:03:25] sure [09:03:31] i'm looking at your comments now [09:04:08] I try to use it today and softly speaking it isn't generic enought :P [09:05:38] I feel that the work might take some time and I can't wait any longer if loading JSON configuration is planned for next release. [09:05:43] can I take over this patch? [09:06:33] can you remind me why the client work impacts the JSON configuration loading? [09:09:11] are you looking to use this internally? i.e. connect to the RPC server using this library, and then sending all of the RPCs from the config file? [09:09:56] because JSON configuration is stored as series of RPC commands and loading it in other way than using internal JSON RPC server won't be reliable will need to redesign out most of the RPC framework. [09:09:59] yes [09:10:27] Initially I was doing something simmilar like Xiaodong Liu in his patch [09:10:54] but dropped this when saw his work [09:10:59] ok - let me take a further look at his patch [09:24:32] sethhowe, lhodev: sorry for lame question but want to clarify something about shared libraries work [09:25:24] what is the list of shared libraries we need to add by '-lspdk_xxx' to link application [09:26:00] you also do -lspdk, then you also have to do more depending on which "env" you use [09:26:15] so -lspdk_env_dpdk, plus the DPDK shared libs if you are using DPDK [09:26:30] I mean you always do -lspdk, not you also do -lspdk [09:27:14] Plus things like -ldl -lnuma [09:27:30] And if need RDMA, then also -libverbs -lrdmacm [09:33:36] sure sounds good, but I'm asking in face of packaging. How the user can know what libraries he need to link with? [09:33:57] by user I mean "me" :D [09:38:53] should the SPDK library contain the list of dependent libraries? [09:45:14] pwodkowx: isn't that something that pkg-config does? [09:45:30] listing all the required libs [09:45:45] yes, but we need to tell the pkg-config this first :D [09:45:57] can it accept some parameters, then? [09:46:21] you usually embed pkg-config in a gcc call: [09:46:48] could we do something like: [09:47:13] gcc -o main main.c $(pkg-config spdk --with-crypto) [09:48:08] yes, yes, yest but we need to prepare *.pc for pkg-config. These *.pc file contian informations that are printed later [09:48:33] could add a make target that outputs the pkg-config [09:48:36] and then we just keep a list [09:48:39] usually there are automaticaly generated using libtool by we are not using libtool [09:49:13] bwalker: something like this https://review.gerrithub.io/#/c/spdk/spdk/+/428335/ :P [09:49:59] yeah exactly [09:50:39] but we still need to know what libraries to print if we don't want to linkg against all SPKD libraries [09:51:01] we can build a list programmatically based on the config flags [09:51:14] that's what determines the dependencies [09:51:30] config files? [09:52:08] you mean add *.pc file in each folder? [09:53:03] or just write a simple shell script that sources the config file and echoes out the right thing [09:53:11] and put it in a make target [09:53:30] this is exactly what I would like to avoid.. [09:53:31] I don't know if there is some standard way to do this - I've never packaged something before [09:53:58] I think we have that SYS_LIBS thing that each of the makefiles define already [09:54:03] so maybe we could tie into that [09:54:32] in this patch from sethhowe https://review.gerrithub.io/#/c/spdk/spdk/+/426131/ he is adding LOCAL_SYS_LIBS [09:54:53] ca we add SPDK_LIBS? [09:55:29] we only need to know which system libraries - the shared libraries are set up so that you just link to -lspdk [09:55:37] and it will only load the symbols you actually use [09:56:08] but based on what you plan to use, the system libraries you need to link to may change (i.e. whether you need RDMA libs or not) [09:56:36] pwodcowx: If you run ldd on each of the individaul spdk_xxx libraries, they will print the external libraries upon which they depend. (libnuma, libld, etc). I think we could leverage that information to inform users. Just not sure how yet. [09:56:50] *pwodkowx [10:03:31] bwalker: pwodkowx: In preparation for identifying inter-spdk dependencies, I shared with Seth a little shell script that uses readelf to help identify those. This was just a one off for development purposes. [10:04:09] jimharris: I was just looking through some reset stuff for peluse. This is entirely unrelated to what he needs to do in his module, but I just started wondering what we should do about the io_wait_queue during a bdev reset [10:04:24] should the bdev layer automatically abort all of those? how do they get out of the list? [10:04:41] right now it seems like they're not accounted for and just stay queued [10:05:23] sethhowe, lhodev: ldd libspdk_bdev_nvme.so | grep nvme -> nothing there as we are not linking against libspdk_nvme.so right now. [10:07:02] bwalker: we should be aborting any ios in that queue that match the bdev being reset [10:07:16] pwodkowx: Correct. Again, we're not *currently* linking inter-spdk lib dependencies. sethhowe: and I discussed doing that in a future patch series. [10:07:27] I'm just asking if we could explicitly add dependent SPDK libraries in each library. So libspdk_bdev_nvme.so will link agains libspdk_nvme.so during build time [10:07:47] pwodkowx: Yes, we will. [10:07:47] oh, ok [10:08:42] jimharris: the problem is that the things in that queue are not bdev_io, they're bdev_io_waits [10:08:55] and they don't have a bdev_io associated yet [10:09:28] we can call the user callback, but they won't know what to do then [10:09:35] If this will be done, we can also discover all needed libraries just by using ldd or simpler by "make -C lib/bdev/nvme ldflags" [10:10:58] lhodev: thanks, I will wait for these patches. Pls add me to review when you have it. [10:13:39] pwodkowx: You bet. Right now after lots of iterations, we're about to get 426129+426131+427808 "final" reviewed and merged. [11:14:07] *** Joins: travis-ci (~travis-ci@ec2-54-196-199-48.compute-1.amazonaws.com) [11:14:08] (spdk/master) ut/log: test print level set and get functions (Mike Altman) [11:14:08] Diff URL: https://github.com/spdk/spdk/compare/5c9dccc96289...a077b477ca76 [11:14:08] *** Parts: travis-ci (~travis-ci@ec2-54-196-199-48.compute-1.amazonaws.com) () [11:14:26] *** Joins: travis-ci (~travis-ci@ec2-54-80-71-183.compute-1.amazonaws.com) [11:14:27] (spdk/master) nvme: broke up NS construction with extra states (Changpeng Liu) [11:14:27] Diff URL: https://github.com/spdk/spdk/compare/a077b477ca76...d9ecb5724e31 [11:14:27] *** Parts: travis-ci (~travis-ci@ec2-54-80-71-183.compute-1.amazonaws.com) () [11:15:53] *** Quits: tkulasek (tkulasek@nat/intel/x-lcmhnctkdncabdxr) (Remote host closed the connection) [11:44:45] *** Quits: guerby (~guerby@april/board/guerby) (Ping timeout: 252 seconds) [12:40:25] bwalker, jimharris - FYI the error I get qith high Q depth "conn.c:1093:spdk_iscsi_conn_flush_pdus_internal: *ERROR*: spdk_sock_writev() failed, errno 9: Bad file descriptor" happens even with a PT disk or straight NVMe. Gonna assume that's independent of the crypto bug I'm resolving.... [13:29:56] peluse: file a github issue if you aren't starting one already [13:30:59] will do [13:35:01] peluse: is your latest reset handling code checked in? [14:00:31] just now, yes [14:05:14] *** Joins: guerby (~guerby@april/board/guerby) [14:20:02] *** Joins: travis-ci (~travis-ci@ec2-54-157-225-115.compute-1.amazonaws.com) [14:20:03] (spdk/master) doc: small update to iscsi bdev readme (paul luse) [14:20:03] Diff URL: https://github.com/spdk/spdk/compare/868c28cd1310...16f9d58ab5f5 [14:20:03] *** Parts: travis-ci (~travis-ci@ec2-54-157-225-115.compute-1.amazonaws.com) () [14:49:13] *** Joins: travis-ci (~travis-ci@ec2-54-80-71-183.compute-1.amazonaws.com) [14:49:14] (spdk/master) shared_lib: add as_needed to the libspdk.so linker script (Seth Howell) [14:49:14] Diff URL: https://github.com/spdk/spdk/compare/460cf3e62b30...346fefc36423 [14:49:14] *** Parts: travis-ci (~travis-ci@ec2-54-80-71-183.compute-1.amazonaws.com) () [15:21:01] *** Joins: travis-ci (~travis-ci@ec2-54-157-37-116.compute-1.amazonaws.com) [15:21:02] (spdk/master) bdev/qos: fix a heap-use-after-free error (wuzhouhui) [15:21:02] Diff URL: https://github.com/spdk/spdk/compare/346fefc36423...3785a4d83bd5 [15:21:02] *** Parts: travis-ci (~travis-ci@ec2-54-157-37-116.compute-1.amazonaws.com) () [16:22:01] *** Joins: travis-ci (~travis-ci@ec2-50-16-82-88.compute-1.amazonaws.com) [16:22:02] (spdk/master) gpt: add support for bdev_io_wait when no memory (Ni Xun) [16:22:02] Diff URL: https://github.com/spdk/spdk/compare/3785a4d83bd5...08ed55bb1dc9 [16:22:02] *** Parts: travis-ci (~travis-ci@ec2-50-16-82-88.compute-1.amazonaws.com) () [17:21:03] *** Joins: Shuhei (caf6fc61@gateway/web/freenode/ip.202.246.252.97) [17:22:58] jimharris: Will you see the patch for avoidance of raid bdev offline at creation (https://review.gerrithub.io/#/c/spdk/spdk/+/428321/) ? [17:23:58] if we don't set the state to online before calling io_device_register and bdev_register, examine process by GPT bdev fails at raid_bdev_create_cb. [18:38:02] *** Quits: sethhowe (sethhowe@nat/intel/x-simsvaebfoscthow) (*.net *.split) [18:38:02] *** Quits: drv (daniel@oak.drv.nu) (*.net *.split) [18:38:03] *** Quits: darsto (~darsto@89-78-174-111.dynamic.chello.pl) (*.net *.split) [18:38:03] *** Quits: mszwed (~mszwed@134.134.139.72) (*.net *.split) [18:38:03] *** Quits: jimharris (~jimharris@134.134.139.72) (*.net *.split) [18:38:03] *** Quits: JohnKariuki (~jkkariu@134.134.139.72) (*.net *.split) [18:38:03] *** Quits: Shuhei (caf6fc61@gateway/web/freenode/ip.202.246.252.97) (*.net *.split) [18:38:03] *** Quits: alekseymmm (050811aa@gateway/web/freenode/ip.5.8.17.170) (*.net *.split) [18:38:07] *** Quits: lhodev (~lhodev@66-90-218-190.dyn.grandenetworks.net) (*.net *.split) [18:38:11] *** Quits: pawelkax (pawelkax@nat/intel/x-vqgsztwewaflxspg) (*.net *.split) [18:38:11] *** Quits: ppelplin (ppelplin@nat/intel/x-kdczvdqxqbqditho) (*.net *.split) [18:38:11] *** Quits: pwodkowx (pwodkowx@nat/intel/x-frorzbjodkktoyvj) (*.net *.split) [18:38:11] *** Quits: klateck (klateck@nat/intel/x-ktlinkzzcrgdhzty) (*.net *.split) [18:38:12] *** Quits: guerby (~guerby@april/board/guerby) (*.net *.split) [18:38:12] *** Quits: ChanServ (ChanServ@services.) (*.net *.split) [18:43:27] *** Joins: drv (daniel@oak.drv.nu) [18:43:27] *** asimov.freenode.net sets mode: +o drv [18:43:37] *** Joins: pawelkax (pawelkax@nat/intel/x-vqgsztwewaflxspg) [18:43:37] *** Joins: klateck (klateck@nat/intel/x-ktlinkzzcrgdhzty) [18:43:37] *** Joins: pwodkowx (pwodkowx@nat/intel/x-frorzbjodkktoyvj) [18:43:37] *** Joins: ppelplin (ppelplin@nat/intel/x-kdczvdqxqbqditho) [18:44:10] *** Joins: Shuhei (caf6fc61@gateway/web/freenode/ip.202.246.252.97) [18:44:10] *** Joins: alekseymmm (050811aa@gateway/web/freenode/ip.5.8.17.170) [18:44:55] *** Joins: sethhowe (sethhowe@nat/intel/x-simsvaebfoscthow) [18:45:08] *** Joins: guerby (~guerby@april/board/guerby) [18:45:52] *** Joins: JohnKariuki (~jkkariu@134.134.139.72) [18:45:52] *** Joins: darsto (~darsto@89-78-174-111.dynamic.chello.pl) [18:45:52] *** Joins: mszwed (~mszwed@134.134.139.72) [18:45:52] *** Joins: jimharris (~jimharris@134.134.139.72) [18:45:52] *** asimov.freenode.net sets mode: +o jimharris [18:46:48] *** Joins: lhodev (~lhodev@66-90-218-190.dyn.grandenetworks.net) [18:47:44] *** Joins: ChanServ (ChanServ@services.) [18:47:44] *** asimov.freenode.net sets mode: +o ChanServ [19:19:33] *** Quits: Shuhei (caf6fc61@gateway/web/freenode/ip.202.246.252.97) (Ping timeout: 256 seconds)