A simple abstraction of the socket api
Intro:
http://lwn.net/Articles/370307/
Guide:
http://zguide.zeromq.org/page:all
FAQ:
http://www.zeromq.org/area:faq
Home page:
http://www.zero.mq
This blog serves as a dumping ground for my own interests. On it you will find anything which I want to keep track of; links, articles, tips and tricks. Mostly it focuses on C++, Javascript and HTML, linux and performance.
Thursday, 5 January 2012
RoCE - RDMA over Converged Ethernet
http://www.mellanox.com/related-docs/prod_software/ConnectX-2_RDMA_RoCE.pdf
RDMA Aware programming user manual:
http://www.mellanox.com/related-docs/prod_software/RDMA_Aware_Programming_user_manual.pdf
RDMA Aware programming user manual:
http://www.mellanox.com/related-docs/prod_software/RDMA_Aware_Programming_user_manual.pdf
Tuesday, 3 January 2012
Network packet capture / analysis: tcpdump
http://www.linuxjournal.com/content/tcpdump-fu
Example: capture anything sent to/from port 7500 on interface eth0 and dump it to a file
$ sudo /usr/sbin/tcpdump -w /tmp/tcpdump.out -s 0 -i eth0 port 7500
We can now use Wireshark to read the file and analyse the packets
To filter the packets based on, for example, a port; use an expression such as tcp.port == 1234
Example: capture anything sent to/from port 7500 on interface eth0 and dump it to a file
$ sudo /usr/sbin/tcpdump -w /tmp/tcpdump.out -s 0 -i eth0 port 7500
We can now use Wireshark to read the file and analyse the packets
To filter the packets based on, for example, a port; use an expression such as tcp.port == 1234
Zero-copy
http://www.linuxjournal.com/article/6345
Wednesday, 14 December 2011
dynamically linked libraries
ELF file format has an RPATH section where it lists hardcoded paths to search for libraries
You can find the RPATH that an application has:
readelf -d app_name | grep RPATH
Hardcoding paths into an application is not very elegant. It is better to allow the Linux dynamic linker to locate the libraries for you.
Fedora has /etc/ld.so.conf.d/ which is a folder it searches for library paths. You can add foo-x86_64.conf, and inside put the library path, and ld will search that path whenever it needs to locate libfoo.so
Tuesday, 13 December 2011
Fedora 16: enable core files
/proc/sys/kernel/core_pattern is used to specify a core dumpfile pattern name.
If the first character of the pattern is a '|', the kernel will treat the rest of the pattern as a command to run. The core dump will be written to the standard input of that program instead of to a file.
The default core_pattern is:
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e
So we instead put core.%p into the file so we get a core file.
echo "core.%p" > /proc/sys/kernel/core_pattern
If the first character of the pattern is a '|', the kernel will treat the rest of the pattern as a command to run. The core dump will be written to the standard input of that program instead of to a file.
The default core_pattern is:
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e
So we instead put core.%p into the file so we get a core file.
echo "core.%p" > /proc/sys/kernel/core_pattern
put ulimit -c unlimited into your .bashrc
Monday, 12 December 2011
Fedora 16: Yum and package management
list installed packages
yum list installed
list available packages (not yet installed)
yum list available
list all packages (installed and available)
yum list all
list all package groups
yum grouplist
list all repost
yum repolist
info on a package
yum info package_name
install a package
yum install package_name
install a package group
yum groupinstall "Group package name"
uninstall a package
yum remove package_name
uninstall a package group
yum groupremove "Group package name"
find installation location of a package
rpm -ql package_name
yum list installed
list available packages (not yet installed)
yum list available
list all packages (installed and available)
yum list all
list all package groups
yum grouplist
list all repost
yum repolist
info on a package
yum info package_name
install a package
yum install package_name
install a package group
yum groupinstall "Group package name"
uninstall a package
yum remove package_name
uninstall a package group
yum groupremove "Group package name"
find installation location of a package
rpm -ql package_name
Subscribe to:
Posts (Atom)