Clint Rickards
Aleister Crowley
Some kind of mélange of computing hardware, software, music and sound recording.
An LTO-3 tape drive requires a pretty high sustained data input rate in order to keep streaming. If the tape cannot be kept streaming, it will stop and restart, and possibly start “shoe-shining”: frequent stopping and restarting due to buffer under-runs. This behaviour incurs much more wear and tear on the tape and drive.
There are several things I have tried with good results to reduce or avoid this problem:
The third option assumes your host system has quite a bit of free memory, but can be very effective. A useful utility for doing this is mbuffer.
In the following example, a 1 GiB buffer is used (-m 1024M), with a tape block size of 262 144 bytes (-s 262144), and the output rate is limited to 25 MiB/s (-R 25M). The input stream is provided by tar, using the same block size (tar measures it in units of 512 bytes). You may have to tune the rate to suit the source drive and workload.
$ tar -b 512 -cpf - /.../wherever | mbuffer -s 262144 -R 25M -m 1024M -P 100 --md5 -f -o /dev/nst0
QEMU won't compile properly with GCC version 4. On Gentoo, you can revert to another installed GCC version using the gcc-config command:
$ gcc-config -l [1] x86_64-pc-linux-gnu-3.4.6 [2] x86_64-pc-linux-gnu-3.4.6-hardened [3] x86_64-pc-linux-gnu-3.4.6-hardenednopie [4] x86_64-pc-linux-gnu-3.4.6-hardenednopiessp [5] x86_64-pc-linux-gnu-3.4.6-hardenednossp [6] x86_64-pc-linux-gnu-4.1.2 * $ gcc-config 1 $ source /etc/profile $ emerge -av app-emulation/qemu
I’m sure everyone has a tale of tedium while dealing with customer service. Here’s a run-down of my recent attempt to troubleshoot my new static IP address.
So, I don’t have any Internet access at the moment, but I feel I should do Nokia a favour and tell them about the wrong telephone numbers they are giving out. However, I believe the following M1122 command should help me determine whether the problem is with the ATM link:
atmping 0 100 segment atmping 0 100 end-to-end
I will try these out when I get home.
Killing Joke bass player Paul Raven died of a suspected heart attack in Geneva on October 20. It’s a bit hard to believe; I won’t ever get to see that particular configuration of the band playing live.
A thought on “intellectual property”:
My C programming experience is pretty limited, and recently I was trying to convert a monolithic program into separate files/modules. Here are a few notes on the process, in particular the various C language storage classes.
mymodule.c) will be compiled to an object file (e.g. mymodule.o)static global variables are visible to all functions within the current source file. They are not accessible to functions defined in other files.static unless declared otherwise.static local variables (i.e. static variables declared within a function) are initialised at run-time but not re-initialised when the function is called.extern global variables are visible to all modules, not just functions within the current source file. Use these for variables to be shared among modules/files.extern variables cannot be initialised in the file declaring them as extern. However, other modules sharing them can initialise them, as they are not extern in that context..h) file, and the function definitions in a source (.c) file. Then just #include the .h file in any dependent modules (do not include the .c file, as this will double up on definitions!).Typical compilation and linking routine to create an executable:
$ gcc -c -o mymodule.o mymodule.c $ gcc -c -o anothermodule.o anothermodule.c $ gcc -c -o main.o main.c # Linking stage; note use of gcc, not ld! $ gcc -o myprogram main.o mymodule.o anothermodule.o