Timothy J Fontaine tjfontaine Ataraxia Consulting San Francisco, CA http://www.atxconsulting.com

push eventtjfontaine/dtrace-utils

Timothy J Fontaine

commit sha 1bd5b3825ca0dd641694f795734b9bbbfd3f2ebb

use /proc/<pid>/root relative paths

view details

push time in 6 days

push eventtjfontaine/dtrace-utils

Timothy J Fontaine

commit sha 3e49124ea8c1f386f9079345fb8d47800a73d27d

skip dtrace_kernels translators?

view details

push time in 7 days

push eventtjfontaine/dtrace-utils

Timothy J Fontaine

commit sha 1879fc85a2e6e88e3f1cdc47a4445f6c222d7eb3

bump version for rpm building

view details

push time in 7 days

push eventtjfontaine/dtrace-utils

Timothy J Fontaine

commit sha a2fc77244d8128609d95cd7f496cd890cf0e808a

libproc: use mount namespace for symbol resolution

view details

push time in 7 days

push eventtjfontaine/dtrace-utils

Nick Alcock

commit sha f97512f9acbb77d0882ba17cc0c0ea8f6bdfd531

Add ctf_gzwrite(). Without this function, libctf can read in compressed CTF files, but cannot write them out.

view details

Nick Alcock

commit sha 88359408843ee91de7daec9f1c3b72ba3a250eea

Allow addition of members to structures with a specified offset. The ctf_add_member() function lets you add a member with a specified name and type to the end of a structure -- but it always uses the natural alignment of the machine to do so, which is not sufficient when re-encoding DWARF, as not all structures need be laid out that way. So we allow the user to explicitly specify the offset of the new member (in bits) from the start of the structure via the new API function ctf_add_member_offset().

view details

Nick Alcock

commit sha 741315765ede4862c358644ec92bff9672a89ec4

Make error return codes public. The libctf API functions return error codes but do not export the symbolic constants corresponding to those error codes. This makes CTF error-handling more complex than printing the string representation of the error difficult to impossible. Exporting them is a simple matter of moving them from one header to another.

view details

Nick Alcock

commit sha 6fdf7b741c80b59036ab771778632c824faf5deb

Clarify the nature of parent/child relations between CTF files. I just spent far more time than can be sensibly imagined attempting to fix what appeared to be broken code inside libctf for tracking parent/child relations and automatically importing parent types into their children. It turns out that this code has nothing whatsoever to do with parent/child relations, but is instead tracking parent/child relations among a graph of *labels*. These partition the types in a single CTF container, and are used when merging type graphs when doing multithreaded CTF file construction. So, let's update the comments in ctf.h to prevent anyone else from getting so terminally confused.

view details

Nick Alcock

commit sha 80e17e97dd3b92437011ee5b0e03b694975a330a

Clean up a trigger-related mess. We were long excluding build directories from git, but a build includes the creation of symlinks in test/triggers to the compiled triggers in the build dir. These were not being ignored, and some time ago got mistakenly checked in. This commit removes them again, and tells git to ignore every file in the test/triggers directory other than C files, the Build file, and one or two explicitly-named shell-script triggers. This should prevent this mess from reoccurring.

view details

Nick Alcock

commit sha f1d2c12fd2498ddbd7cbe006396c3b152b4bf68e

Split libctf into a new repository. This was done, and libctf relicensed under the GPLv2 and the proprietary DTrace userspace license, to make it possible to use the DTrace libctf implementation in the Linux kernel build process (specifically, so that dwarf2ctf can link against it). So libctf has migrated into a new git repository so as not to mix up code under multiple licenses, and been renamed to libdtrace-ctf to avoid conflicting with the existing Common Trace Format Linux library and to make it doubly clear that the API can and will vary at the convenience of DTrace: we will bump soname whenever we see fit. However, we do not wish to sacrifice the ability to conveniently build (and test) libctf along with dtrace. libctf doesn't change very often, so git submodules are quite well-suited for this -- but they are also annoying to use, because everyone checking out dtrace needs to do a 'git submodule update' to get the submodule, and people often forget. So libdtrace-ctf is an *optional* submodule of dtrace. If you don't do a 'git submodule update', the libdtrace-ctf directory in the dtrace checkout remains empty: the makefile detects a nonempty libdtrace-ctf directory and adds libdtrace-ctf/include to the CPPFLAGS in that situation only. Further, the two projects share one build system, and there is a Build file at the root of the libdtrace-ctf repository which pulls in libctf/Build and include/Build. Both of these consult $(PROJECT) and only provide install rules if the project is 'libdtrace-ctf'. The net effect of all this is that if you don't initialize submodules in your working tree, dtrace will use your installed libdtrace-ctf headers and link against your installed libdtrace-ctf.so: if you do initialise submodules, dtrace will build a new copy of libdtrace-ctf.so from the submodule, guaranteed to be the right version for this checkout: if test coverage analysis is enabled, it will extend over libdtrace-ctf as well. However, that submodular copy of libdtrace-ctf is never installed: you need an installed copy of libdtrace-ctf (perhaps generated via 'make && make install' in the libdtrace-ctf subdirectory, or via an RPM package installation) for dtrace to run once installed. The only failure mode now is if libdtrace-ctf grows a new interface and you have a newer libctf in the submodule that has that interface, but an older one installed that lacks it. You can expect an installed dtrace to fail with unresolved symbols in such a situation. Don't do that. (This is never a problem when building RPMs, only when developing.) This involved a bit of tweaking of include paths in various places: DTrace was including an include file in libctf that did nothing other than include <ctf_api.h> and that was not installed: this is no longer visible in a non-submodular build, so everything had to change to include <ctf_api.h> directly instead. Finally, we dropped a few preprocessor conditionals and include files that were only needed when building libctf or which were never used at all.

view details

Nick Alcock

commit sha 5c83822e420cd9cb72e463ac2948256b808478cd

GNU GLOBAL support. This is a rather nice tagging system. This adds a 'gtags' makefile target for it. Also, there's a new 'realclean' target that deletes all the tags files too.

view details

Nick Alcock

commit sha bfa26c0a7ab0c381f208eee598469fb4499c4e43

Tiny specfile cleanups. Pearly's not working here anymore and neither her nor I are the authors of DTrace. At best we could be regarded as maintainers. Add Kris, adjust the %description accordingly. Change %files to claim all of /usr/lib/dtrace, not just every file that happens to be in it right now. Declare /usr/share/doc/dtrace-*/* to be documentation.

view details

Nick Alcock

commit sha 54571c267486b403c56e58bd59b0b9032df44e54

Silent build bugfixes. The silent build work had a few cosmetic bugs. Notably, $(describe-install-target ...), which is run to print a description of things being installed, wasn't stripping the directory part from filenames being installed, leading to ridiculous output like INSTALL: buildroot/usr/include/sys/uts/common/sys/dtrace.h which should be INSTALL: buildroot/usr/include/sys/dtrace.h Finally, when linking static libraries the libraries were always being reported as something like AR: lib_TARGET.a rather than AR: libport.a which is clearly wrong.

view details

Nick Alcock

commit sha 3d4d83473f77dff3770973332e969ddd9159093d

libdtrace-ctf is a build-time requirement as well as a runtime requirement.

view details

Nick Alcock

commit sha 886b737144a1ffa915ff6463c2c41c0f1eb2d04d

Migrate some types to <sys/ctf_types.h> in the submodule. Also include that file from <sys/dtrace_types.h>.

view details

Nick Alcock

commit sha 649aa3a70fedc70fdf83a94e65945b5f76907978

Trivial warning fixes in triggers. Missing headers and missing prototypes.

view details

Nick Alcock

commit sha d1a28fb877d2612727d7f8ef7662c4adfb9b77ad

Submodule update to fix a lethal specfile bug breaking snapshot builds.

view details

Nick Alcock

commit sha 65b6d7d16c2434360cd2367ed6e0acdcdfb9f94a

Add back a #define necessary on OEL5. The snapshot build host runs OEL5, so even though this #define is present on OEL6 we still need to provide it.

view details

Nick Alcock

commit sha 38c562315397b7bf276bebc90fd94fa840714d88

File-presence fixes. Specifically, do not specify that the CTF headers are installed in the specfile, since they are not; pull in a new version of libdtrace-ctf that installs ctf_types.h.

view details

Nick Alcock

commit sha 90202ea7ef1426f63bbdac78fac948b2a95df9fa

Eliminate duplicate code for ELF symbol lookup. The near-identically-named macros and types for 32-bit and 64-bit code in <elf.h> had spawned an invasion of hundreds of lines of duplicated near-identical code in dt_module.c. This was annoying, pointlessly repetitive, and hid those few significant places where differing code was necessary for 32- versus 64-bit: so, split that code out into a header file using token pasting to produce the appropriate type and macro names, and include that header repeatedly to generate the ELF symbol table manipulation functions.

view details

Nick Alcock

commit sha ad165a0db6999be724f26a9479a130b265f096e1

Purge the last remaining signs of dm_modid and dto_id.

view details

Nick Alcock

commit sha 99a465d729e306cdc62b522110f704e3530367fe

Eliminate the concept of 'primary objects'. This Solaris concept has no meaning in Linux. Dropping it means we lose a bunch of complexity from dt_module.c as well as libdtrace API to track it, and even a linkmode option. While we're at it, drop most mentions of the kernel's runtime loader (which has no API in the same sense in Linux) and yet more references to tasks, zones, projects, and contracts. Finally, update INCOMPATIBILITIES to note some of this. (Just because trying to do anything with tasks, projects, zones, contracts, and primary objects would never have worked before this change doesn't mean their absence is not an incompatibility.)

view details

Nick Alcock

commit sha 10a6091baba049b1fd8692485cbe0036c5d1ea2c

Add a crude symbol-checking infrastructure, like Autoconf's AC_CHECK_LIB. This lets you check for the presence of a symbol on the build system by calling $(eval $(call check-symbol-rule,NAME,symbol,library)) which automatically does a link test for this symbol and emits a line into $(objdir)/config.h #defining HAVE_$(NAME) to 1 if that symbol is present. To force config.h to be built whenever needed, it is forcibly added to the dependency list of every C file. (Because it is often indirectly included, we cannot reasonably ask users to add the dependency themselves. It never changes after initial creation, so this somewhat extreme solution is acceptable.)

view details

Nick Alcock

commit sha 8993b957f9af7c7f482a88f620a948878b9de2d3

Adapt to the absence of elf_getshdrstrndx() and elf_getshdrnum(). These symbols were introduced in elfutils 0.142 as aliases for the deprecated elf_getshstrndx() and elf_getshnum(). Unfortunately our snapshot build system has an older elfutils than that, and we have repeatedly fallen victim to the absence of these symbols on that system. So use the new autoconf-like symbol-checking machinery to #define the new names to the old ones where necessary, and use the new names everywhere, rather than trying to use the old symbols and frequently forgetting a few, leading to snapshot build failures later on.

view details

push time in 7 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha 035204c24cf6b75608f4e968232fe854f563cead

no cdefs needed?

view details

Timothy J Fontaine

commit sha 6841637ccdaf11aec6f75ce06fdd4fe082e06be6

no libintl

view details

Timothy J Fontaine

commit sha b0fac8b6f7e72fb8b291f6c6375eb8d7d92e90b4

no error.h

view details

Timothy J Fontaine

commit sha d248a03f16ed324ef2861c507dbd533335a595b6

add -lfts

view details

Timothy J Fontaine

commit sha 4ca29e14339916bf42d6d139ff6d5acb12fb0e67

musl: explicitly link against obstack

view details

Timothy J Fontaine

commit sha ff428cc76aeb775600c31aa3762d4d40751d22aa

alpine: musl-qsort_r.patch

view details

Timothy J Fontaine

commit sha afb0c346dc7642c34d8c5747ddae39d2b8de942c

alpine: musl-cdefs.patch

view details

Timothy J Fontaine

commit sha a4a4d583a7ae22a632f794d9fbf65afda7f10e54

alpine: musl-strerror_r.patch

view details

Timothy J Fontaine

commit sha 451bf4eeb45a47d16c0352b9d5683fa2e01f5806

alpine: no-werror.patch

view details

Timothy J Fontaine

commit sha dde7a8c8c7b2cbb0f95a53082296d5b59b2e4178

alpine: musl-macros.patch

view details

Timothy J Fontaine

commit sha 8d476132c69f360effe156e43dcd7683bcdc3bb3

alpine: musl-accessperms

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha bc6b7d7a713a10c2ba903f01dc3f8ba5a1a64ee6

musl: explicitly link against obstack

view details

Timothy J Fontaine

commit sha 34ee595f6c920d9dbd25f0eb06e34903b4e8e8fb

alpine: musl-qsort_r.patch

view details

Timothy J Fontaine

commit sha 5fa5a95656d164baada6cf327771350fc6bc8dc1

alpine: musl-cdefs.patch

view details

Timothy J Fontaine

commit sha 862d5fc46656dbf7194f4627c39c029ac3555898

alpine: musl-strerror_r.patch

view details

Timothy J Fontaine

commit sha a7bc0eca5845485c8f07a4d1f0353b6d5d04a8f5

alpine: no-werror.patch

view details

Timothy J Fontaine

commit sha 951a27e327dec5f4ae04619382d04cfe1e894d0c

alpine: musl-macros.patch

view details

Timothy J Fontaine

commit sha d808a6e11e0961b3d2e5e2fa4f155ed984659c49

alpine: musl-accessperms

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha 6edf096c868f4100f7961bf273168ad51d8f8c02

alpine: no-werror.patch

view details

Timothy J Fontaine

commit sha ca38bac59d8b0f61ef02e50bf094e69adc0b6a5d

alpine: musl-macros.patch

view details

Timothy J Fontaine

commit sha da1b0827e9591678de7e70eef5350e8e616d3fd5

alpine: musl-accessperms

view details

push time in 8 days

push eventtjfontaine/libdtrace-ctf

Timothy J Fontaine

commit sha a98c5d62bb919139cef17944ab821882308741f4

use qsort instead of qsort_r

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha 95ac7dbb1eb326cc8356862ef6e8609f6e15ce9b

alpine: musl-cdefs.patch

view details

Timothy J Fontaine

commit sha 9fdb8c6f8b09ff071a88ff0f324d3116ab5b14d2

alpine: musl-strerror_r.patch

view details

Timothy J Fontaine

commit sha 0b6876b595bc648057da92dea8efb782edc803f9

alpine: no-werror.patch

view details

Timothy J Fontaine

commit sha a7c17832da63fa6d5900f96fd6c6e0d896c4854e

alpine: musl-macros.patch

view details

Timothy J Fontaine

commit sha 33de3df87916f98f6e611ad19ebdb078eef3e297

alpine: musl-accessperms

view details

push time in 8 days

push eventtjfontaine/libdtrace-ctf

Timothy J Fontaine

commit sha 7c63ed2606bbc3e6d20cf49f26df7bebf8fe7d5f

use qsort instead of qsort_r

view details

push time in 8 days

push eventtjfontaine/libdtrace-ctf

Timothy J Fontaine

commit sha f9b3acd763a46926386f0e8d037e251ee68905ad

use qsort instead of qsort_r

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha 5e6108218a92322783a1a7ec7969a6bcc292531b

more obstack

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha 045684b3e699046f794fdc6c6265b5dde8a59d28

more obstack

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha 212becb6d9001feddedf57ebd0e30ed4d647d2e8

arlib needs obstack

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha 8fa6a6b8d7bab1253f496452fff2454686cbf901

arlib needs obstack

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha fc972aff2477215ea941a9788eedc38b78b4fb6e

no qsort_r

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha 320228fe29c593c5452a77809b35f9b5114fa4cc

no qsort_r

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha de660a8f8baca3aeba29d292b37735f62ae2802f

add obstack for libcpu

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha 77ee44bf8d37c8c080bfb2544203004558ad7328

add -lfts

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha 05b0592958475b1ba8f16fa5a38edfcff85bc7ce

no cdefs needed?

view details

Timothy J Fontaine

commit sha 6f45f776bee61b2a7f882b8e6c7d5047320f4d76

no libintl

view details

Timothy J Fontaine

commit sha e991e052933c089ffcc947f19e5f329d243cdca7

no error.h

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha df1ea68dc049efb346723921d932f0f2a8548a7a

no libintl

view details

push time in 8 days

push eventtjfontaine/elfutils

Timothy J Fontaine

commit sha 98f84f8384ff60391b97429e4937859275e73598

no cdefs needed?

view details

push time in 8 days

create barnchtjfontaine/elfutils

branch : master

created branch time in 8 days

created repositorytjfontaine/elfutils

elfutils mirro

created time in 8 days

push eventtjfontaine/libdtrace-ctf

Timothy J Fontaine

commit sha bf570d0b3de17e8e16f4f7430058bec63397804e

public domain qsort_r implementation

view details

push time in 8 days

push eventtjfontaine/libdtrace-ctf

Timothy J Fontaine

commit sha 002a1640d1b1e59f11b94a439e53cf8ec14ca5c5

public domain qsort_r implementation

view details

push time in 8 days

push eventtjfontaine/libdtrace-ctf

Timothy J Fontaine

commit sha fe606ac78a335fa03efc6e49c510057a2cf7281a

public domain qsort_r implementation

view details

push time in 8 days

push eventtjfontaine/libdtrace-ctf

Timothy J Fontaine

commit sha cd484f2679d9e79792b53bab25c0d15cf856a52f

public domain qsort_r implementation

view details

push time in 8 days

push eventtjfontaine/libdtrace-ctf

Elena Zannoni

commit sha fda75b302322ae9044a863f737294c7434600f37

Create README.md

view details

Nick Alcock

commit sha 7239cc45b2ee9dc7877504ef84679c3be52ad36e

Add missing LICENSE. libdtrace-ctf is dual-licensed under the UPL and GPLv2, so we should have the UPL license text in the source tree.

view details

Nick Alcock

commit sha 842592a789ae9bdfa1ace3291589b75ee31c90b5

create: stop rollback in child containers destroying all types therein We mix up a type and index, and in child containers these differ by 0x8000: so ctf_rollback() finds that *every* type has been 'added' since the last ctf_snapshot(), and deletes them all, with unpleasant effects on users, since this violates their specified behaviour rather drastically. Orabug: 27971037

view details

Nick Alcock

commit sha e165ad52c8c08ec95a4a4dbab376040ada59830d

Prepare for 0.8.1.

view details

Tomas Jedlicka

commit sha bd39d12998321cf874e041a950a338d86374b841

Use variables for ar during build The build should use $(AR) rather than hardcoded ar to allow its overrides. Other commands are using this already. Orabug: 28241381 Signed-off-by: Tomas Jedlicka <tomas.jedlicka@oracle.com> Reviewed-by: Eugene Loh <eugene.loh@oracle.com> Reviewed-by: Nick Alcock <nick.alcock@oracle.com>

view details

Nick Alcock

commit sha 33083bc5540eeaaa505f6d4ff1e89eed70b034ce

Introduce CTF_VERSION_2, with more types, structure members, and kinds CTF format 1 is showing its age. It supports only 2^15-1 types in any one container, which is little enough that a make allyesconfig or allmodconfig kernel will fail to build because it runs out of types (each enumeration value counts as a type!). It supports only 1024 structure members or enumeration values in any one struct/union/enum, which is little enough that some machine-generated code in the kernel is already hitting it; and it supports only 32 type kinds, which we are halfway to using up already. (Yes, the minimum C standard limit is similar, but almost all compilers support many more, in particular including GCC and all compilers that have a hope of compiling the Linux kernel -- or the Solaris kernel, come to that.) All of these problems arise because the structures used to encode types internally are too small. We can boost all of these limits by making three changes: - make types a uint32_t, allowing 31 bits for types in each of the parent and child containers (and incidentally allowing much larger sizes to be encoded in the "small" ctf_stype and ctf_member structures). This causes the ctf_stype, ctf_type, ctf_array, ctf_member and ctf_lmember structures to grow, but we have been able to drop padding so ctf_lmember has grown less than might be expected. - make the info word a uint32_t too, allowing 32 bits for the info string, permitting 16 million structure/union/enum members rather than 1024, and while we're at it adding a bit to the type kind so we now support 64 of those. (This uses no extra space because the space it consumes was occupied by alignment padding in v1.) Backward-compatibility here is a bit tricky. The ABI and soname are unchanged, but there are a lot of macros in the installed <sys/ctf.h> that provide direct access to the guts of CTF files. None of these are used by DTrace or dwarf2ctf, so I have freely changed most of their names from e.g. CTF_TYPE_* to CTF_V1/V2_TYPE_* to force affected users to recompile and rethink what they're doing: everything whose name is unchanged has unchanged semantics, but may now refer to V2 rather than V1 (particularly true of limit constants and structure names, where the unadorned name is v2 and the name suffixed _V1 or _v1 is for the older format). Some things that were macros have had to become functions: CTF_TYPE_ISPARENT and CTF_TYPE_ISCHILD are now API functions, named ctf_type_isparent() and ctf_type_ischild(). The _V1-named macros are explicitly to access CTF files by hand: types returned from the API will always appear to be v2, even if the underlying CTF file was v1. We handle backward-compatibility concerns by transparently upgrading v1 CTF files to v2 at ctf_bufopen() time, via a new upgrade_types(). This upgrades the entire type section, including varlen regions, which is quite expensive but is easy to validate and only applies to old CTF files in any case. symsects are not updated and cause an open failure, because dwarf2ctf doesn't create them so there should be zero instances of this in the wild. There are a number of assertions in the transparent upgrading process to ensure that the entire region is converted and that various invariants that might cause buffer overruns if they go wrong are not violated. (These invariants should be violated only if the code is buggy: corrupted CTF files should not be able to cause them, though the existing code is not at all armoured against malicious CTF files in any case.) (The value of the CTF_VERSION_2 constant is 3 rather than 2 to allow room for a use of 2 in a later patch in this series.) Other internal-only changes necessary for this: - The ctf_fileops vector has grown new members allowing the ctf_get_ctt_size() to vary depending on CTF file version (transparently upgraded to v2 after open is complete), and allowing the manual computation of vbytes repeated over and over again in ctf_open to be moved into a single LCTF_VBYTES() macro. - Fairly large chunks of ctf_bufopen() to do with updating the ctf base and version number have moved into functions so that upgrade_types() can call them as well: a bunch of code that depends on regions that transparent upgrade may reallocate has been moved below init_types() as well. - CTF_INFO_KIND(), CTF_INFO_ISROOT() and CTF_INFO_VLEN() have become LCTF operations that take a CTF file as a parameter, to allow them to dynamically adjust to v1 versus v2 (though in practice most calls will always be v2 because of transparent upgrade, if we should be wrong about this the code will now adapt). - CTF_INDEX_TO_TYPE and CTF_TYPE_TO_INDEX have become LCTF_ operations that take a CTF file as a parameter. This is because while we upgrade the file format, we do not change the type IDs, so the old parent/child boundary of 0x7fff persists in a v1 upgraded to v2. We record this in a new member fp->ctf_parmax, and compare against this member when determining whether a type is a parent or a child. - Many casts of type IDs to ushort_t have become casts to uint32_t instead. - A few out-of-memory errors have been flipped to ENOMEM from EAGAIN for consistency. It is unlikely anyone will be affected. The library is (and was, and remains) rather confused about whether it wants to use a uint_t or a uint32_t to encode things, and continues to rely on no information loss happening when converting in either direction. We enforce that their sizes are identical with a C11 static assertion (if supported by the compiler, which presently requires overriding CFLAGS at build time). A later commit in this series converts the lot to uint32_t. All of this has performance impact well below the noise floor, at least on a machine big enough to keep the CTF file in L3 cache across ctf_bufopen(). If one times dtrace make check-stress runs using the old library, the new library using CTF generated by the old library, and the new library, one sees something like this (these figures generated in a QEMU VM atop a mostly-idle Xeon E5-2640, i.e. it had 24MiB of L3 cache to play with: machines with much less cache might be more impacted): old: 1125.29user 677.44system 51:46.49elapsed 58%CPU (0avgtext+0avgdata 91712maxresident)k 132900inputs+4509664outputs (43major+48812910minor)pagefaults 0swaps new, old ctfa: 1128.35user 686.25system 51:38.97elapsed 58%CPU (0avgtext+0avgdata 91648maxresident)k 15484inputs+4541536outputs (0major+48395888minor)pagefaults 0swaps new, new ctfa: 1126.85user 696.26system 51:55.69elapsed 58%CPU (0avgtext+0avgdata 91684maxresident)k 254756inputs+4570376outputs (136major+47324039minor)pagefaults 0swaps The range expansion does lead to CTF files growing larger: -rw-rw-r--. 1 oranix oranix 6311731 Jun 13 14:42 vmlinux.ctfa -rw-rw-r--. 1 oranix oranix 5950771 Jun 13 12:16 vmlinux.old.ctfa However, this is no more than the growth we often see between kernel releases anyway. The files which account for the majority of the types (vmlinux.ctf and shared_ctf.ctf) have grown by less than 64KiB each. Large amounts of space could be saved in a later format revision by exploiting knowledge of the textual structure of C identifiers (accumulating underscore-separated pieces in a table and composing the identifiers out of the pieces). But that is for format v3. :) Orabug: 28150489 Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Tomas Jedlicka <tomas.jedlicka@oracle.com>

view details

Nick Alcock

commit sha f118daaa970af3148cab00ad6212ebe1f35e7d83

Boost the hash table sizes again With the support for many more types, it is now common to have 20,000+ types in a single container. Boost the hash bucket count to 8191 to allow for this. (The next upgrade should be to dynamic sizes, because *no* static size can suffice for the sheer number of distinct types we can now encode.) A little trivial testing suggests that before this change, the average length of the hash chains searched by a given successful lookup when running a full DTrace testsuite run was 9: afterwards, it was 3 (so the average chain length was probably double that). (This is only an average: some are much worse, with averages of >30 visible on some hashes before the change: still better than a linear search but that's about all you can say for it.) No effect on speed or memory usage above the noise is visible, despite this: it probably takes contrived testcases to see one, or a machine with less L3 cache than the one I'm testing on. Orabug: 28150489 Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Tomas Jedlicka <tomas.jedlicka@oracle.com>

view details

Nick Alcock

commit sha 9cce218c537700d3c0cbf45a5bb4769f9f8ec629

Introduce ctf_getdatasect(). This returns the ctfsect passed to ctf_open(), so the caller doesn't need to keep track of it. We are careful never to free this, but have before now required the caller to keep hold of it so it could free it itself. This is needlessly clumsy, when we can hand it back: the caller can ask for it right before ctf_close(), then free the data section it is passed. (It is always safe to do so, since we never free it.) Thanks to Tomas Jedlicka for the suggestion. Orabug: 28150489 Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Tomas Jedlicka <tomas.jedlicka@oracle.com>

view details

Nick Alcock

commit sha f944224c40e8156bf791dbb09db599049df23668

ctf_dump: fix a memory leak We were leaking the cts_sect data we decompressed. Plug this using the newly-introducded ctf_getdatasect() API to make valgrind leak runs cleaner. Orabug: 28150489 Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Tomas Jedlicka <tomas.jedlicka@oracle.com>

view details

Nick Alcock

commit sha bf0971132b2b07210850e40ad6e26f87397f74e1

uint32ify the API. We already depend on uint_t and uint32_t being the same size, so just migrate to using uint32_t everywhere. The uint_t type is still provided for any other users that may rely on it, but not used. Because type sizes have not changed, this technical API and ABI change is not an actual change on any platform the library is likely to run on, so the soname is unchanged with this release. Suggested by Tomas Jedlicka. Orabug: 28150489 Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Tomas Jedlicka <tomas.jedlicka@oracle.com>

view details

Nick Alcock

commit sha afee87d057576a06add329022f7f87d2e3ad3c86

Boost the next version to 1.0.0. There is no ABI or soname change, but this does flag up the API change for any users that might be doing direct CTF file access using the <sys/ctf.h> accessors. (There are probably none.) Orabug: 28150489 Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Tomas Jedlicka <tomas.jedlicka@oracle.com>

view details

Nick Alcock

commit sha 41b74d2abb594f485a891b8c22c555a07c0ae608

ctf_dump: tabify. We were using an ugly mixture of tab-based and space-based indentation. Switch to tab-based, for consistency with the rest of the project. Orabug: 28150489 Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Tomas Jedlicka <tomas.jedlicka@oracle.com>

view details

Nick Alcock

commit sha e3df8e7ff392af5b9d3f14366a243f23c50af0ed

ctf_dump: report the linked type of types that reference others. This is useful when debugging problems linking types together. Orabug: 28150489 Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Tomas Jedlicka <tomas.jedlicka@oracle.com>

view details

Nick Alcock

commit sha f05c1ae1617a018f69baf171252ef8ee084b5ae4

upgrade: support writing out a CTF_VERSION_1 file. A ctf_open() of a CTF_VERSION_1 file followed by a ctf_compress_write() will produce corrupted output that cannot be reopened: it is the wrong length, its string table pointer is pointing too early, and it declares itself to be CTF_VERSION_1 in the header, though it is internally v2 by this point and an "upgrade" will fail horribly due to accessing v2 data at v1 structure offsets. There are three interlinked problems here: we modify the header at transparent-upgrade time, but only a temporary copy kept around during ctf_bufopen(): the canonical copy at fp->ctf_base is never touched, so its version is still 1, its size is wrong, and its stroff has not been updated (this copy is used by ctf_compress_write()). We do not record that a file was at one point v1, so the parent/child boundary on reread will be wrong (a native v2 file has a parmax of CTF_MAX_PTYPE, while one upgraded from v1 has the v1 parmax, CTF_MAX_PTYPE_V1, since upgrading cannot change type IDs). Fix all of these by adding a new 'version' CTF_VERSION_1_UPGRADED_2, with a version number falling between v1 and v2 (which means we can test if a file needs to use the old parent type via a simple < CTF_VERSION_2 comparison, and can test if it needs upgrading via == CTF_VERSION_1), and taking care to update the canonical header when we update the temporary copy in ctf_bufopen(). (We still need the temporary copy because native v2 uncompressed type tables have the ctf_base in readonly memory.) Orabug: 28150489 Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Tomas Jedlicka <tomas.jedlicka@oracle.com>

view details

Nick Alcock

commit sha aa36b74cbeac92510ee8e10ef47b290985e45277

ctf_ar: only upgrade and recompress on request Currently, ctf_ar extracts archives by opening each CTF file in turn, then writing out its compressed representation. This is not very desirable default behaviour for an archiving tool: by default, such tools should write out precisely what it is in the archive, which for ctfa archives means the data will sometimes be uncompressed (if it is below the threshold specified to ctf_arc_write() at write time) and will be v1 archives if the origin was v1, rather than being v1-upgraded-to-v2 hybrids. We add a new ctf_archive_raw_iter() function which allows iteration over the raw contents of an archive, and use it in ctf_ar by default, unless the -u option (triggering dynamic upgrading) is provided. (We retain the option to rewrite them because it is a very useful bulk tester for the transparent upgrade code and for the upgrade-and-write- out-again path.) Orabug: 28150489 Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Tomas Jedlicka <tomas.jedlicka@oracle.com>

view details

Nick Alcock

commit sha af82d4f8df02f02679594bada7aee94630d1a38e

Prepare for v1.0.0.

view details

Nick Alcock

commit sha 40c5ebdd8d2bf29002b600c4fd7c5096df89b65e

ctf_add_type: Add back some conflict workarounds. Commit c4588475f94bff856ca2edfb3be82c1b648c9ad4 started checking that multiple root-visible types with the same name but different definitions did not exist. Unfortunately, dwarf2ctf had a bug which led to two root-visible definitions of int existing, one only four bits wide (mistakenly using a count of bytes, not bits, in one place): in even earlier releases it was only one bit wide. So we had to rip this checking out in release branches almost at once because the ctf_add_type() of the core D int type failed due to conflict with this ridiculous erroneous int type. Eventually we stopped doing so, and nothing went wrong -- but now people are testing new libdtrace-ctf with older kernels built with the buggy dwarf2ctf and things are failing again. So introduce a narrower check which can be reasonably carried along indefinitely: only and specifically allow root-visible conflicts with 1- and 4-bit integer types named 'int'. This means that the DTrace int type will override the buggy definition for most uses and things will keep working, while not losing the vast majority of the protection for the rest of us. Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Kris Van Hees <kris.van.hees@oracle.com> Orabug: 28952429

view details

Nick Alcock

commit sha 375fafbfdd82fe128e6f88a85058982b0c519529

ctf_bufopen: do not mprotect() the heap if reading from ctfsect We try to mprotect() the CTF buffer data we allocated after we finished footling around with it (opening it, upgrading it, whatever) to prevent later overwrites from smashing it accidentally. This is usually safe because we are careful to always allocate CTF data using ctf_data_alloc(), which translates to mmap(). Unfortunately, we failed to cater for the case where the CTF data has been passed in from a CTF section allocated by someone else: in this case, if it doesn't need to be reallocated by the upgrade code, we end up mprotect()ing part of the heap, leading to intermittent, bizarre, situation-dependent crashes depending on what else happens to have been allocated in the same memory page. Do not mprotect() in that case. Reported-by: Simon Xu <simon.xu@oracle.com> # much thanks! Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Kris Van Hees <kris.van.hees@oracle.com> Orabug: 28952429

view details

Nick Alcock

commit sha 5ebdb571a9db9f098877947c1554d76ae9c57b3c

ctf_dump: print out type sizes This makes it possible to tell if types are sized correctly (in particular structs and unions, which did not get their sizes reported anywhere before now). Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Kris Van Hees <kris.van.hees@oracle.com>

view details

Nick Alcock

commit sha d8acef93de0659d4e6dd498333a1b9352697cb06

ctf_create: add functions for explicitly-sized struct/union creation This lets callers create structs and unions with sizes explicitly specified by the DWARF, rather than always relying on the required padding being the same as that implied by the alignment of the last member. If you add so many members that the size exceeds this figure, we revert automatically to the previous behavour (so passing in a size of 0 to ctf_add_struct_sized() or ctf_add_union_sized() is equivalent to calling the pre-existing ctf_add_struct()/ctf_add_union() functions.) This is an ABI addition: bump the soname to 1.5.0 and update the symbol versions accordingly. Needed by an upcoming dwarf2ctf fix. Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Kris Van Hees <kris.van.hees@oracle.com> Orabug: 29054972

view details

push time in 8 days

create barnchtjfontaine/node-1

branch : dtrace-on-linux

created branch time in 14 days

fork tjfontaine/node-1

Node.js JavaScript runtime :sparkles::turtle::rocket::sparkles:

https://nodejs.org

fork in 14 days

push eventtjfontaine/smith

Timothy J Fontaine

commit sha d24651f9f52ce00162859e3d01e98d7d311b1d44

case normalize logrus

view details

Timothy J Fontaine

commit sha 910f04a7077cbd61b0253d3e31aaae453b4f4fda

initial support for docker archive format

view details

Timothy J Fontaine

commit sha 7f9bc48bad839c6ea1e6a515eeb9530a139591c7

add documentation for smith.yaml

view details

Timothy J Fontaine

commit sha f5a09f5adc861c70f206a9d282234e9b8c9d311b

store intermediate layers on disk not memory

view details

Timothy J Fontaine

commit sha b1524ed8581b6e5a167367bfb2c9025afa191009

migrate to vgo

view details

push time in 20 days

push eventtjfontaine/smith

Timothy J Fontaine

commit sha 99323d980f19b2488455edab4693307a6f7f5802

initial support for docker archive format

view details

Timothy J Fontaine

commit sha 95eb2ac07362897d77742a4e917a29759081d090

add documentation for smith.yaml

view details

Timothy J Fontaine

commit sha 06da078cd2be8eda65cfd06437512126f9289b6f

store intermediate layers on disk not memory

view details

Timothy J Fontaine

commit sha 7d8d677cc25b906283428b8843377ce1ec0826da

migrate to vgo

view details

push time in 20 days

push eventtjfontaine/sobchak

Timothy J Fontaine

commit sha db7bae8a06430537631cb24e9e2fa957289b936b

Create post.html

view details

push time in a month

push eventtjfontaine/sobchak

Timothy J Fontaine

commit sha 6749113a0d904a17ce3de59afa768cc9724d5b6b

Create default.html

view details

push time in a month

push eventtjfontaine/sobchak

Timothy J Fontaine

commit sha a2e262ed819ad7ef4607c723330367dcdf10a3b5

Create CNAME

view details

push time in a month

create barnchtjfontaine/sobchak

branch : master

created branch time in a month

created repositorytjfontaine/sobchak

Am I wrong? You're not wrong Walter ...

created time in a month

pull request commentiovisor/bpftrace

Usdt specify provider ns

GetProviderFromPath is a very rudimentary/naive solution, and probably should be scrapped. The reality is that the provider name is customizable, and with things like libstapsdt (and before it was libusdt) during runtime multiple providers may be instantiated independently of what was included in the binary during compilation.

I think there's also an impedance mismatch between the 4 tuple that dtrace uses, and the tuple that bpftrace uses, that makes specifying provider for usdt a bit complicated.

Also, at the end of the day, regardless of setting the provider here in bpftrace we have a larger problem where bcc can't enable probes of the same name with different providers -- https://github.com/iovisor/bcc/blob/master/src/cc/usdt/usdt.cc#L299 which is probably more common that people realize. So this plumbing for the dispatch of providers and probes goes all the way down.

dalehamel

comment created time in a month

pull request commentiovisor/bpftrace

usdt: path is optional when attaching to pid

@dalehamel no problem, I'll comment on your other pull request as I have some thoughts there

tjfontaine

comment created time in a month

pull request commentiovisor/bpftrace

usdt: path is optional when attaching to pid

I can get this fixed up tomorrow, sorry work got in the way

tjfontaine

comment created time in a month

push eventtjfontaine/tjfontaine.github.io

Timothy J Fontaine

commit sha a350bd944e71c70798febed507f1990baaa9d8f5

Create CNAME

view details

push time in 2 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha 2799a6ddef2e419e54ee6536187d7e05f6f9c572

include images

view details

push time in 2 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha 5a66133194f94dc3f0c7d481dce69e7b151c2446

html-xml

view details

push time in 2 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha 875b54c3d57a6783f1d56dd0867aca824948449a

html-xml

view details

push time in 2 months

push eventtjfontaine/tjfontaine.github.io

Timothy J Fontaine

commit sha cfb95b4133f1d9eeb2f9c857308458d7b88da850

Delete CNAME

view details

push time in 2 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha c8693888e3fc850e89f7fbebfb2667b1581d094f

move to https

view details

push time in 2 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha 910f397506fa1687a0eb493dd7ee3d18da71d36b

add image listing

view details

push time in 2 months

push eventtjfontaine/cloudnative

mickey.boxell

commit sha cd9a587f5d23cbd3c9ced835d2642ba4d4d19591

updated helidon labs

view details

Timothy J Fontaine

commit sha b12ffbc5263869a110bb890fcd7df169a173a532

update kubecon18-na

view details

Victoria Domalik

commit sha 83514d9cb16dac7784bb8c8e6fddf1059701774c

Removed general prerequisite

view details

Victoria Domalik

commit sha 39f5db18834f191e9c751c5027b54ceda6ea15c9

Added basic prerequisite that was removed from main tutorial

view details

Victoria Domalik

commit sha 0701e74dd6a5daf1ef1a55bf217d3c085de46478

Update readme.md

view details

Victoria Domalik

commit sha ba1d4b7009f1fcb553be5b28e1638dddf70bf28d

Grammatical changes suggested by AH

view details

mickey.boxell

commit sha 46d44afa3d27da120bfa6a741491de734afa0469

spinnaker doc updates

view details

mickey.boxell

commit sha 5e3390d4caf8517b58e8ba2c54429cca4699fbc8

Merge branch 'spinnaker' of gitlab-odx.oracledx.com:cloudnative/cnl-site-solutions-content into spinnaker

view details

mickey.boxell

commit sha b5c54ca025de7940e105373f626377ca3e585876

images

view details

victoria.domalik

commit sha cb9d46d7f13022f181f8ba3ff836dcb4642c21e9

Merge branch 'Prerequisites-fix'

view details

mickey.boxell

commit sha 95d96b2de40b577f79f2f4f06fdc81996515bdd8

Merge branch 'master' of gitlab-odx.oracledx.com:cloudnative/cnl-site-solutions-content into spinnaker

view details

mickey.boxell

commit sha 74417d575b26335d74ee8f554611a6423b8f3355

additional spinnaker docs

view details

Mickey Boxell

commit sha 76b2895af66d5cb9fcbffdcc744f598e45e1dafb

updated spinner to spinnaker

view details

Mickey Boxell

commit sha a3b3a84e402388d0c5f4ade50e17b31cf34b8971

corrected spelling of persistent

view details

Mickey Boxell

commit sha dd4830ebd29fbff005d5e3f228215feec4df309f

Corrected spelling of persistent.

view details

Mickey Boxell

commit sha 80e23683968e841326a6ee7605a1513b83e888fe

Update spinnaker-oracle-provider.md

view details

Mickey Boxell

commit sha 25abfddf4d5eaac05b4037d558a550103e793d23

Images

view details

Timothy J Fontaine

commit sha 09802a64f36949206c08872f5d68996395e2a36e

kubecon18-na: add summit videos

view details

push time in 2 months

issue commentmikebrady/shairport-sync

Airplay 2 Support ?

Ok, I've reviewed the patch, it's a bit convoluted if you're not familiar with how the sout pipeline works for VLC, but you can look at the function startSoutChain in https://patches.videolan.org/patch/21908/ for confirmation that they're just using HLS for passing the video. There are other bits that demonstrate what this particular sink is capable of in terms of audio and video containers and codecs, if the incoming source doesn't match that the VLC pipeline will automatically convert (and also issue a modal/dialog/warning telling you it may steal all your CPU to achieve that).

I'd be surprised if much of this negotiation and URI driven workflow changes between AirPlay v1 and v2 (especially for video), but is probably not the information folks here are looking for in terms of "How does multi-room audio work in AirPlay 2, and how can I enable it for other devices"

timstans

comment created time in 2 months

issue commentmikebrady/shairport-sync

Airplay 2 Support ?

The videolan website is currently being hugged to death because of HN nonsense, so I can't describe exactly what their solution is doing, but I can describe how I've previously used VLC to stream content to Apple devices previously.

The TL;DR is to use configure VLC to export your desired content in an appropriate format and have VLC host that as a URI either in terms of an m3u8 or an HLS much of this is documented on Apple's site: https://developer.apple.com/streaming/

Since the result of configuring VLC to do this is some URI that is ultimately being served by VLC, so the next step is to do the AirPlay discovery, negotiation/handshake, and then sling the URI to the device where finally the Apple device is responsible for displaying the content.

If I had to guess, the solution that VLC is adding is bringing in scope discovery/negotiation and some sane defaults and dynamic m3u8 generation to their sout pipeline such that it's much easier for consumers to handle this with having to stitch it all together themselves. In other words, I'm not expecting them to have any net new discoveries/solutions in their implementation.

timstans

comment created time in 2 months

issue commentmikebrady/shairport-sync

Airplay 2 Support ?

This could be interesting.

I am only able to find a reference for airplay v1, not v2 -- https://patches.videolan.org/project/vlc-devel/list/?q=airplay&archive=both

timstans

comment created time in 2 months

pull request commentiovisor/bpftrace

usdt: path is optional when attaching to pid

I will rebase this today/tonight

tjfontaine

comment created time in 2 months

push eventtjfontaine/noah

Timothy J Fontaine

commit sha 0fd6f1795ae08f004291ee43515fc42cde4c3e77

add vsyscall emulation in page fault handler If we hit a PF for an address in the vsyscall page, allocate some memory in the process address space which will do `syscall;retq`, and depending on the offset into the vsyscall page set `RAX` to the desired syscall number. This does not implement a true fast path for syscalls, nor does it implement vDSO.

view details

push time in 2 months

PR opened linux-noah/noah

add vsyscall emulation in page fault handler

If we hit a PF for an address in the vsyscall page, allocate some memory in the process address space which will do syscall;retq, and depending on the offset into the vsyscall page set RAX to the desired syscall number.

This does not implement a true fast path for syscalls, nor does it implement vDSO.

+85 -2

0 comment

1 changed file

pr created time in 2 months

create barnchtjfontaine/noah

branch : add-vsyscall-emulation

created branch time in 2 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha b6a859219523d7d5a237f66ff4568f20fee7a56b

fix

view details

push time in 2 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha 1f16853ef63c8a2b71ce823483de8b8153e86674

fix

view details

push time in 2 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha 719d2dab676f562559e93d866999d2d7e76570d9

fix

view details

push time in 2 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha 644bd6ed41b5b4103bf8a6eb7d6ccd37c350ff55

update kubecon18-na

view details

Timothy J Fontaine

commit sha 9bbe711d1c21bc8b64631ec977adeabbccb2c03a

fix

view details

push time in 2 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha 87ec7a63168c2434c27656466bbf5bcf3307a3bd

fix

view details

push time in 2 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha dcf38ace59606b95b5c7c45a3b6c36f5554cc751

add kubecon 2018 gallery

view details

Timothy J Fontaine

commit sha 10f62959411a78204f7f36ab539d3fb6085c85ee

update kubecon18-na

view details

push time in 2 months

fork tjfontaine/noah

Bash on Ubuntu on macOS

fork in 3 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha 2c1a970f61ee470fbd15fbfe962652c021168f6f

f

view details

push time in 3 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha d8a9557bdd4fbbd77adcf3d20d06b88396d54bb9

f

view details

push time in 3 months

push eventtjfontaine/cloudnative

Timothy J Fontaine

commit sha 5b948b15ca09a7f0565d128353f207dab3632685

f

view details

push time in 3 months

push eventtjfontaine/cloudnative

Jesse Butler

commit sha 1d8c4daf17c5b14a67d5991aa6e5db56a3edd10d

Istio tutorial

view details

Jesse Butler

commit sha 2d351300acf2a0e077bd5a02b3ccf223968bcfec

fix istio image links

view details

Timothy J Fontaine

commit sha 067fb1edc8ac51ffa1435fb0f3205395afbb0cb2

add mickey as a speaker

view details

Jesse Butler

commit sha ef002a5aa157426cdbc84231ce5f3d5e369a61e4

cnl learning labs initial commit

view details

Jesse Butler

commit sha e70d14accfb679287e5f46c23dddb46743ec6dc1

add vm provision to prelabs

view details

Jesse Butler

commit sha 7823777170cd22b318027ea388c0e6dc1755e1f3

fix fn container tutorial install readme link

view details

Jesse Butler

commit sha f9f83ef751073e28e9067b449d263332b23b3c3c

clean up XXX's in labs

view details

Mickey Boxell

commit sha 9e6fa3237dc3ce6d49b8458d1f010dae81324d5d

Updated helidon labs

view details

Timothy J Fontaine

commit sha b4cefdf7e58b1c3f0d93c163159b5128fc45c2fc

thank you kubecon 2018!

view details

Timothy J Fontaine

commit sha eb554c234f38549e03ef68bb1a8c2e13fd67ed4b

gallery test

view details

push time in 3 months

more