text:
These patches implement basic checkpoint-restart [CR]. This version (v5) supports basic tasks with simple private memory, and open files (regular files and directories only). The main changes include rework of memory restart code and response to feedback. See original announcements below. Oren. -- Todo: - Add support for x86-64 and improve ABI - Refine or change syscall interface - Extend to handle (multiple) tasks in a container - Security (without CAPS_SYS_ADMIN files restore may fail) Changelog: [2008-Sep-11] v5: - Config is now 'def_bool n' by default - Improve memory dump/restore code (following Dave Hansen's comments) - Change dump format (and code) to allow chunks of <vaddrs, pages> instead of one long list of each - Fix use of follow_page() to avoid faulting in non-present pages - Memory restore now maps user pages explicitly to copy data into them, instead of reading directly to user space; got rid of mprotect_fixup() - Remove preempt_disable() when restoring debug registers - Rename headers files s/ckpt/checkpoint/ - Fix misc bugs in files dump/restore - Fixes and cleanups on some error paths - Fix misc coding style [2008-Sep-09] v4: - Various fixes and clean-ups - Fix calculation of hash table size - Fix header structure alignment - Use stand list_... for cr_pgarr [2008-Aug-29] v3: - Various fixes and clean-ups - Use standard hlist_... for hash table - Better use of standard kmalloc/kfree [2008-Aug-20] v2: - Added Dump and restore of open files (regular and directories) - Added basic handling of shared objects, and improve handling of 'parent tag' concept - Added documentation - Improved ABI, 64bit padding for image data - Improved locking when saving/restoring memory - Added UTS information to header (release, version, machine) - Cleanup extraction of filename from a file pointer - Refactor to allow easier reviewing - Remove requirement for CAPS_SYS_ADMIN until we come up with ...
Add those interfaces, as well as helpers needed to easily manage the file format. The code is roughly broken out as follows: checkpoint/sys.c - user/kernel data transfer, as well as setup of the checkpoint/restart context (a per-checkpoint data structure for housekeeping) checkpoint/checkpoint.c - output wrappers and basic checkpoint handling checkpoint/restart.c - input wrappers and basic restart handling Patches to add the per-architecture support as well as the actual work to do the memory checkpoint follow in subsequent patches. Signed-off-by: Oren Laadan <firstname.lastname@example.com> --- Makefile | 2 +- checkpoint/Makefile | 2 +- checkpoint/checkpoint.c | 174 ++++++++++++++++++++++++++++++++ checkpoint/restart.c | 189 ++++++++++++++++++++++++++++++++++ checkpoint/sys.c | 218 +++++++++++++++++++++++++++++++++++++++- include/linux/checkpoint.h | 60 +++++++++++ include/linux/checkpoint_hdr.h | 75 ++++++++++++++ include/linux/magic.h | 3 + 8 files changed, 717 insertions(+), 6 deletions(-) create mode 100644 checkpoint/checkpoint.c create mode 100644 checkpoint/restart.c create mode 100644 include/linux/checkpoint.h create mode 100644 include/linux/checkpoint_hdr.h diff --git a/Makefile b/Makefile index f448e00..a558ad2 100644 --- a/Makefile +++ b/Makefile @@ -619,7 +619,7 @@ export mod_strip_cmd ifeq ($(KBUILD_EXTMOD),) -core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ +core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ checkpoint/ vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \ $(core-y) $(core-m) $(drivers-y) $(drivers-m) \ diff --git a/checkpoint/Makefile b/checkpoint/Makefile index 07d018b..d2df68c 100644 --- a/checkpoint/Makefile +++ b/checkpoint/Makefile @@ -2,4 +2,4 @@ # Makefile for linux checkpoint/restart. # -obj-$(CONFIG_CHECKPOINT_RESTART) += sys.o +obj-$(CONFIG_CHECKPOINT_RESTART) += ...
This one has been bugging me a bit. This adds one net line of code and I think it's much easier to read: { struct cr_hdr h; int ret; ret = cr_read_obj(ctx, &h, buf, n); if (ret) return ret; ret = -EINVAL; if (h.type == type) ret = h.parent; return ret; } -- Dave --
It's probably time to address this fixme. -- Dave --
Could you explain why you're not using the slab here? -- Dave --
All of the casting here is unnecessary. 'void *' behaves like 'char *' when you do arithmetic on it. I really do detest having a memory allocator BUG_ON() when it runs out of space. -- Dave --
The BUG_ON() statement asserts that we don't run out of buffer space. Buffer usage is a function of the checkpoint/restart logic, and does not depend on user input, hence not susceptible to DoS. In other words, if the code is correct, this should never happen (much like a kernel stack overflow), and if it happens it's a kernel bug. I think it was Arnd who recommended with regard to this to crash loudly if there is a bug in the kernel ... Oren. --
OK, that's fair enough. But, can we document it as such? "Only headers and things of known, static sizes can go in here. We don't use Yes, it does mean that there is a bug because someone either made a structure bigger, PAGE_SIZE smaller, or a call path got deeper than we expected. I'm just having visions of the email hitting my inbox in 18 months. :) The structures are sized consistently across all architectures and configurations. However, PAGE_SIZE and the size of that buffer are not. The buffer will be 8k on x86, but 128k on most ppc64 configurations. Can we at least make it sized in numbers of bytes rather than pages? Also, please remember that using kmalloc() buys you lots of fun stuff on top of get_free_pages(), like redzones and easier debugging. -- Dave --
No. Arithmetic on void pointer is not allowed by the standard. This is a gcc extension. It's okay to be used in the Linux kernel but not in general. The second cast (from char * to void *) however is useless. Bastian -- Prepare for tomorrow -- get ready. -- Edith Keeler, "The City On the Edge of Forever", stardate unknown --
This feels a litlte weird, since the ctx->crid actually was calculated in ctx_alloc() in sys_checkpoint(). I'd almost prefer do_checkpoint() return 0 on success. If h->len > n should we return -ENOSPC so the caller can theoretically Here I am getting confused about return values. cr_read_obj() says it returns size of payload. cr_read_obj_type() says it returns "object reference of the parent object", though if cr_read_obj() returned non-zero then it returns its return value, which could be size of object read. cr_read_string() returns cr_read_obj_type()'s return value. Now here you only copy buf into t->comm if return value was 0. Am I misreading? Or is this code wrong? Annoying as it may be (causing patch conflicts in patches 3-9), could you please put the return values of all these functions in the comments --
For each VMA, there is a 'struct cr_vma'; if the VMA is file-mapped, it will be followed by the file name. Then comes the actual contents, in one or more chunk: each chunk begins with a header that specifies how many pages it holds, then the virtual addresses of all the dumped pages in that chunk, followed by the actual contents of all dumped pages. A header with zero number of pages marks the end of the contents. Then comes the next VMA and so on. Signed-off-by: Oren Laadan <firstname.lastname@example.com> --- arch/x86/mm/checkpoint.c | 30 +++ arch/x86/mm/restart.c | 1 + checkpoint/Makefile | 3 +- checkpoint/checkpoint.c | 53 ++++ checkpoint/checkpoint_arch.h | 2 + checkpoint/checkpoint_mem.h | 41 ++++ checkpoint/ckpt_mem.c | 492 ++++++++++++++++++++++++++++++++++++++ checkpoint/sys.c | 27 ++- include/asm-x86/checkpoint_hdr.h | 5 + include/linux/checkpoint.h | 12 + include/linux/checkpoint_hdr.h | 32 +++ 11 files changed, 692 insertions(+), 6 deletions(-) create mode 100644 checkpoint/checkpoint_mem.h create mode 100644 checkpoint/ckpt_mem.c diff --git a/arch/x86/mm/checkpoint.c b/arch/x86/mm/checkpoint.c index eb60003..fa87e4a 100644 --- a/arch/x86/mm/checkpoint.c +++ b/arch/x86/mm/checkpoint.c @@ -196,3 +196,33 @@ int cr_write_cpu(struct cr_ctx *ctx, struct task_struct *t) cr_hbuf_put(ctx, sizeof(*hh)); return ret; } + +/* dump the mm->context state */ +int cr_write_mm_context(struct cr_ctx *ctx, struct mm_struct *mm, int parent) +{ + struct cr_hdr h; + struct cr_hdr_mm_context *hh = cr_hbuf_get(ctx, sizeof(*hh)); + int ret; + + h.type = CR_HDR_MM_CONTEXT; + h.len = sizeof(*hh); + h.parent = parent; + + mutex_lock(&mm->context.lock); + + hh->ldt_entry_size = LDT_ENTRY_SIZE; + hh->nldt = mm->context.size; + + cr_debug("nldt %d\n", hh->nldt); + + ret = cr_write_obj(ctx, &h, hh); + cr_hbuf_put(ctx, sizeof(*hh)); + if (ret < 0) + goto ...
If COW occur in file-backed pages, Is page_mapping is modified ? I don't understand why this condition represent "file backed clean cow"? -- Kinds regards, MinChan Kim --
Restoring the memory address space begins with nuking the existing one of the current process, and then reading the VMA state and contents. Call do_mmap_pgoffset() for each VMA and then read in the data. Signed-off-by: Oren Laadan <email@example.com> --- arch/x86/mm/restart.c | 54 ++++++ checkpoint/Makefile | 2 +- checkpoint/checkpoint_arch.h | 2 + checkpoint/checkpoint_mem.h | 5 + checkpoint/restart.c | 43 +++++ checkpoint/rstr_mem.c | 370 ++++++++++++++++++++++++++++++++++++++ include/asm-x86/checkpoint_hdr.h | 4 + include/linux/checkpoint.h | 3 + 8 files changed, 482 insertions(+), 1 deletions(-) create mode 100644 checkpoint/rstr_mem.c diff --git a/arch/x86/mm/restart.c b/arch/x86/mm/restart.c index 79780df..a0cd5ab 100644 --- a/arch/x86/mm/restart.c +++ b/arch/x86/mm/restart.c @@ -176,3 +176,57 @@ int cr_read_cpu(struct cr_ctx *ctx) out: return ret; } + +int cr_read_mm_context(struct cr_ctx *ctx, struct mm_struct *mm, int parent) +{ + struct cr_hdr_mm_context *hh = cr_hbuf_get(ctx, sizeof(*hh)); + int n, rparent; + + rparent = cr_read_obj_type(ctx, hh, sizeof(*hh), CR_HDR_MM_CONTEXT); + cr_debug("parent %d rparent %d nldt %d\n", parent, rparent, hh->nldt); + if (rparent < 0) + return rparent; + if (rparent != parent) + return -EINVAL; + + if (hh->nldt < 0 || hh->ldt_entry_size != LDT_ENTRY_SIZE) + return -EINVAL; + + /* + * to utilize the syscall modify_ldt() we first convert the data + * in the checkpoint image from 'struct desc_struct' to 'struct + * user_desc' with reverse logic of include/asm/desc.h:fill_ldt() + */ + + for (n = 0; n < hh->nldt; n++) { + struct user_desc info; + struct desc_struct desc; + mm_segment_t old_fs; + int ret; + + ret = cr_kread(ctx, &desc, LDT_ENTRY_SIZE); + if (ret < 0) + return ret; + + info.entry_number = n; + info.base_addr = desc.base0 | (desc.base1 << 16); + info.limit = ...
PATH_MAX is about as short of a global macro name as you're going to That's an interesting loop condition, especially since it will never actually get triggered. while(1) would give the same functionality, right? -- Dave --
Create trivial sys_checkpoint and sys_restore system calls. They will enable to checkpoint and restart an entire container, to and from a checkpoint image file descriptor. The syscalls take a file descriptor (for the image file) and flags as arguments. For sys_checkpoint the first argument identifies the target container; for sys_restart it will identify the checkpoint image. Signed-off-by: Oren Laadan <firstname.lastname@example.com> --- arch/x86/kernel/syscall_table_32.S | 2 + checkpoint/Kconfig | 11 +++++++++ checkpoint/Makefile | 5 ++++ checkpoint/sys.c | 41 ++++++++++++++++++++++++++++++++++++ include/asm-x86/unistd_32.h | 2 + include/linux/syscalls.h | 2 + init/Kconfig | 2 + kernel/sys_ni.c | 4 +++ 8 files changed, 69 insertions(+), 0 deletions(-) create mode 100644 checkpoint/Kconfig create mode 100644 checkpoint/Makefile create mode 100644 checkpoint/sys.c diff --git a/arch/x86/kernel/syscall_table_32.S b/arch/x86/kernel/syscall_table_32.S index d44395f..5543136 100644 --- a/arch/x86/kernel/syscall_table_32.S +++ b/arch/x86/kernel/syscall_table_32.S @@ -332,3 +332,5 @@ ENTRY(sys_call_table) .long sys_dup3 /* 330 */ .long sys_pipe2 .long sys_inotify_init1 + .long sys_checkpoint + .long sys_restart diff --git a/checkpoint/Kconfig b/checkpoint/Kconfig new file mode 100644 index 0000000..ffaa635 --- /dev/null +++ b/checkpoint/Kconfig @@ -0,0 +1,11 @@ +config CHECKPOINT_RESTART + prompt "Enable checkpoint/restart (EXPERIMENTAL)" + def_bool n + depends on X86_32 && EXPERIMENTAL + help + Application checkpoint/restart is the ability to save the + state of a running application so that it can later resume + its execution from the time at which it was checkpointed. + + Turning this option on will enable checkpoint and restart + functionality in the kernel. diff --git a/checkpoint/Makefile ...
Acked-by: Serge Hallyn <firstname.lastname@example.com> thanks, --
Dump the files_struct of a task with 'struct cr_hdr_files', followed by all open file descriptors. Since FDs can be shared, they are assigned an objref and registered in the object hash. For each open FD there is a 'struct cr_hdr_fd_ent' with the FD, its objref and its close-on-exec property. If the FD is to be saved (first time) then this is followed by a 'struct cr_hdr_fd_data' with the FD state. Then will come the next FD and so on. This patch only handles basic FDs - regular files, directories and also symbolic links. Signed-off-by: Oren Laadan <email@example.com> --- checkpoint/Makefile | 2 +- checkpoint/checkpoint.c | 4 + checkpoint/checkpoint_file.h | 17 +++ checkpoint/ckpt_file.c | 221 ++++++++++++++++++++++++++++++++++++++++ include/linux/checkpoint.h | 7 +- include/linux/checkpoint_hdr.h | 32 ++++++- 6 files changed, 278 insertions(+), 5 deletions(-) create mode 100644 checkpoint/checkpoint_file.h create mode 100644 checkpoint/ckpt_file.c diff --git a/checkpoint/Makefile b/checkpoint/Makefile index 9843fb9..7496695 100644 --- a/checkpoint/Makefile +++ b/checkpoint/Makefile @@ -3,4 +3,4 @@ # obj-$(CONFIG_CHECKPOINT_RESTART) += sys.o checkpoint.o restart.o objhash.o \ - ckpt_mem.o rstr_mem.o + ckpt_mem.o rstr_mem.o ckpt_file.o diff --git a/checkpoint/checkpoint.c b/checkpoint/checkpoint.c index d4c1b31..87420dc 100644 --- a/checkpoint/checkpoint.c +++ b/checkpoint/checkpoint.c @@ -203,6 +203,10 @@ static int cr_write_task(struct cr_ctx *ctx, struct task_struct *t) cr_debug("memory: ret %d\n", ret); if (ret < 0) goto out; + ret = cr_write_files(ctx, t); + cr_debug("files: ret %d\n", ret); + if (ret < 0) + goto out; ret = cr_write_thread(ctx, t); cr_debug("thread: ret %d\n", ret); if (ret < 0) diff --git a/checkpoint/checkpoint_file.h b/checkpoint/checkpoint_file.h new file mode 100644 index 0000000..9dc3eba --- /dev/null +++ b/checkpoint/checkpoint_file.h @@ -0,0 ...
Why not? | int i; | int n = 0; | int tot = CR_DEFAULT_FDTABLE; _NO_. tot is signed, this does not have documented overflow behaviour. krealloc does not free the memory on error, so this is a leak. Bastian -- The more complex the mind, the greater the need for the simplicity of play. -- Kirk, "Shore Leave", stardate 3025.8 --
Yes, the assumption is that the process is frozen (or that we checkpoint ourselves). With this assumption, it is possible to (a) leave out RCU locking, and also (b) continue after the krealloc() from where we left off. Also, it means that (c) the contents of our 'fds' array remain valid by the time the caller makes use of it. This certainly deserves a comment in the code, will add. If the assumption doesn't hold, then I'll have to add the RCU locking. Cases (b) and (c) are already safe because the caller(s) use fcheck_files() to access the file-descriptors collected in the array. While in my mind a task should never be unfrozen while being checkpointed, in reality future code may allow it e.g. if a OOM kicks in a kills it. So I tend Ok. Thanks, Oren. --
More to the point, you're not preventing them being unfrozen, so I think Right, so you may as well drop this. You're not protecting from userspace here, right? You're protecting against a bogus max_fds. --
Oren, You should probably also cc the x86 maintainers on at least the x86-specific bits. -- Dave --
Dude, you don't need to cast to void*. -- Dave --
One of the big things I'm looking for in these file patches is to make sure that we can expand some day to lots of mounts and lots of filesystem namespaces. This tells me that we probably need a per-process vfsroot (which is also a shared object). We probably need to make a note in the task structure as well as here. -- Dave --
Covers application checkpoint/restart, overall design, interfaces and checkpoint image format. Signed-off-by: Oren Laadan <firstname.lastname@example.com> --- Documentation/checkpoint.txt | 207 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 207 insertions(+), 0 deletions(-) create mode 100644 Documentation/checkpoint.txt diff --git a/Documentation/checkpoint.txt b/Documentation/checkpoint.txt new file mode 100644 index 0000000..6bf75ce --- /dev/null +++ b/Documentation/checkpoint.txt @@ -0,0 +1,207 @@ + + === Checkpoint-Restart support in the Linux kernel === + +Copyright (C) 2008 Oren Laadan + +Author: Oren Laadan <firstname.lastname@example.com> + +License: The GNU Free Documentation License, Version 1.2 + (dual licensed under the GPL v2) +Reviewers: + +Application checkpoint/restart [CR] is the ability to save the state +of a running application so that it can later resume its execution +from the time at which it was checkpointed. An application can be +migrated by checkpointing it on one machine and restarting it on +another. CR can provide many potential benefits: + +* Failure recovery: by rolling back an to a previous checkpoint + +* Improved response time: by restarting applications from checkpoints + instead of from scratch. + +* Improved system utilization: by suspending long running CPU + intensive jobs and resuming them when load decreases. + +* Fault resilience: by migrating applications off of faulty hosts. + +* Dynamic load balancing: by migrating applications to less loaded + hosts. + +* Improved service availability and administration: by migrating + applications before host maintenance so that they continue to run + with minimal downtime + +* Time-travel: by taking periodic checkpoints and restarting from + any previous checkpoint. + + +=== Overall design + +Checkpoint and restart is done in the kernel as much as possible. The +kernel exports a relative opaque 'blob' of data to userspace which can +then be handed to the new ...
This really should include your demo programs from your patch 0/9 --
which is right between id and parent? -- Kinds regards, MinChan Kim --
Infrastructure to handle objects that may be shared and referenced by multiple tasks or other objects, e..g open files, memory address space etc. The state of shared objects is saved once. On the first encounter, the state is dumped and the object is assigned a unique identifier (objref) and also stored in a hash table (indexed by its physical kenrel address). From then on the object will be found in the hash and only its identifier is saved. On restart the identifier is looked up in the hash table; if not found then the state is read, the object is created, and added to the hash table (this time indexed by its identifier). Otherwise, the object in the hash table is used. Signed-off-by: Oren Laadan <firstname.lastname@example.com> --- Documentation/checkpoint.txt | 38 +++++++ checkpoint/Makefile | 2 +- checkpoint/objhash.c | 237 ++++++++++++++++++++++++++++++++++++++++++ checkpoint/sys.c | 4 + include/linux/checkpoint.h | 20 ++++ 5 files changed, 300 insertions(+), 1 deletions(-) create mode 100644 checkpoint/objhash.c diff --git a/Documentation/checkpoint.txt b/Documentation/checkpoint.txt index 6bf75ce..2929512 100644 --- a/Documentation/checkpoint.txt +++ b/Documentation/checkpoint.txt @@ -169,6 +169,44 @@ cr_hdr + cr_hdr_task cr_hdr + cr_hdr_tail +=== Shared resources (objects) + +Many resources used by tasks may be shared by more than one task (e.g. +file descriptors, memory address space, etc), or even have multiple +references from other resources (e.g. a single inode that represents +two ends of a pipe). + +Clearly, the state of shared objects need only be saved once, even if +they occur multiple times. We use a hash table (ctx->objhash) to keep +track of shared objects in the following manner. + +On the first encounter, the state is dumped and the object is assigned +a unique identifier and also stored in the hash table (indexed by its +physical kenrel address). From then on the object will be found in ...
I'd much rather see all this documentation put properly inline with the I have some nits about some of that. I'd prefer to see the main code flow of the functions get taken out of the if(){} blocks and put at the first indenting level (cr_obj_new() could use this). One other nit would be to try and get rid of some of the '?:' use. I personally find those hard to read and we don't use them that heavily in the core kernel. For instance, the above can be written: obj = cr_obj_find_by_ptr(ctx, ptr); if (!obj) return -ESRCH; if (obj->type != type) return -EINVAL; return obj->objref; Which make the error conditions and their results just pop out much easier at the cost of a single added line of code. -- Dave --
One more thing, 'physical' is rather awkward. Many kernel developer use physical address and virtual address with different meaning. It is confusing them. -- Kinds regards, MinChan Kim --
Acked-by: Serge Hallyn <email@example.com> Thanks, Oren, I actually think this is quite nice and readable. Though three questions below. First one is, since you've mentioned having multiple threads doing checkpoint, won't you need some locking? What is the point of the 'type'? By that I mean: is it meant to catch bugs in the implementation, or bad What exactly will objref_index be used for? I don't see any real --
yes. The hash table is maintained in the kernel during checkpoint/restart, adding shared objects to the hash table when they are first seen. An object can be a 'struct file', 'struct mm_struct', etc. When an object is added, it's reference count is incremented to ensure that the pointer is still valid for as long as it's in the hash table. Similarly, when we remove an object from the hash, we need to decrement the reference count. This is done in cr_obj_ref_grab(), cr_obj_ref_drop(). There are different functions to inc/dec the reference count of objects of different types. '->type' keeps track of the type of the object, so we know which function to call. (At this point, we only track shared 'objref_index' is a counter used to assign unique identifiers (objref) to objects as they are added to the hash table. It is incremented with every object that joins the hash table (and the old value is used as [...] Oren. --
If you were to rename objref_index to next_free_ref, I think that'd be helpful. (I also don't think 'obj' should in the name at all, and you should just s/objref/id/, but that's really too much pain) thanks, -serge --
(Following Dave Hansen's refactoring of the original post) Add logic to save and restore architecture specific state, including thread-specific state, CPU registers and FPU state. Currently only x86-32 is supported. Compiling on x86-64 will trigger an explicit error. Signed-off-by: Oren Laadan <firstname.lastname@example.com> --- arch/x86/mm/Makefile | 2 + arch/x86/mm/checkpoint.c | 198 ++++++++++++++++++++++++++++++++++++++ arch/x86/mm/restart.c | 177 ++++++++++++++++++++++++++++++++++ checkpoint/checkpoint.c | 13 +++- checkpoint/checkpoint_arch.h | 7 ++ checkpoint/restart.c | 13 +++- include/asm-x86/checkpoint_hdr.h | 72 ++++++++++++++ include/linux/checkpoint_hdr.h | 1 + 8 files changed, 481 insertions(+), 2 deletions(-) create mode 100644 arch/x86/mm/checkpoint.c create mode 100644 arch/x86/mm/restart.c create mode 100644 checkpoint/checkpoint_arch.h create mode 100644 include/asm-x86/checkpoint_hdr.h diff --git a/arch/x86/mm/Makefile b/arch/x86/mm/Makefile index dfb932d..58fe072 100644 --- a/arch/x86/mm/Makefile +++ b/arch/x86/mm/Makefile @@ -22,3 +22,5 @@ endif obj-$(CONFIG_ACPI_NUMA) += srat_$(BITS).o obj-$(CONFIG_MEMTEST) += memtest.o + +obj-$(CONFIG_CHECKPOINT_RESTART) += checkpoint.o restart.o diff --git a/arch/x86/mm/checkpoint.c b/arch/x86/mm/checkpoint.c new file mode 100644 index 0000000..eb60003 --- /dev/null +++ b/arch/x86/mm/checkpoint.c @@ -0,0 +1,198 @@ +/* + * Checkpoint/restart - architecture specific support for x86 + * + * Copyright (C) 2008 Oren Laadan + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file COPYING in the main directory of the Linux + * distribution for more details. + */ + +#include <asm/desc.h> +#include <asm/i387.h> + +#include <linux/checkpoint.h> +#include <linux/checkpoint_hdr.h> + +/* dump the thread_struct of a given task */ +int cr_write_thread(struct cr_ctx ...
Restore open file descriptors: for each FD read 'struct cr_hdr_fd_ent' and lookup objref in the hash table; if not found (first occurence), read in 'struct cr_hdr_fd_data', create a new FD and register in the hash. Otherwise attach the file pointer from the hash as an FD. This patch only handles basic FDs - regular files, directories and also symbolic links. Signed-off-by: Oren Laadan <firstname.lastname@example.com> --- checkpoint/Makefile | 2 +- checkpoint/restart.c | 4 + checkpoint/rstr_file.c | 202 ++++++++++++++++++++++++++++++++++++++++++++ include/linux/checkpoint.h | 1 + 4 files changed, 208 insertions(+), 1 deletions(-) create mode 100644 checkpoint/rstr_file.c diff --git a/checkpoint/Makefile b/checkpoint/Makefile index 7496695..88bbc10 100644 --- a/checkpoint/Makefile +++ b/checkpoint/Makefile @@ -3,4 +3,4 @@ # obj-$(CONFIG_CHECKPOINT_RESTART) += sys.o checkpoint.o restart.o objhash.o \ - ckpt_mem.o rstr_mem.o ckpt_file.o + ckpt_mem.o rstr_mem.o ckpt_file.o rstr_file.o diff --git a/checkpoint/restart.c b/checkpoint/restart.c index a0d5e60..956e274 100644 --- a/checkpoint/restart.c +++ b/checkpoint/restart.c @@ -212,6 +212,10 @@ static int cr_read_task(struct cr_ctx *ctx) cr_debug("memory: ret %d\n", ret); if (ret < 0) goto out; + ret = cr_read_files(ctx); + cr_debug("files: ret %d\n", ret); + if (ret < 0) + goto out; ret = cr_read_thread(ctx); cr_debug("thread: ret %d\n", ret); if (ret < 0) diff --git a/checkpoint/rstr_file.c b/checkpoint/rstr_file.c new file mode 100644 index 0000000..780c0fc --- /dev/null +++ b/checkpoint/rstr_file.c @@ -0,0 +1,202 @@ +/* + * Checkpoint file descriptors + * + * Copyright (C) 2008 Oren Laadan + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file COPYING in the main directory of the Linux + * distribution for more details. + */ + +#include <linux/kernel.h> +#include <linux/sched.h> +#include ...
No. (this was discussed earlier already). cr_hbuf_get() "allocates" space inside a dedicated buffer for headers in the checkpoint context (ctx->hbuf). It does not allocate new kernel memory. Instead, it returns the current position in that buffer ctx->hbuf[ctx->hpos], and advances ctx->hpos appropriately. On the other side, cr_hbuf_put() reverses that effect, reducing ctx->hpos accordingly. If an error occurs, the checkpoint (or restart) operation is aborted, and eventually the context (ctx) will be cleaned up; at that point the special purpose buffer will be freed. [...] Oren. --
Yes I realize you're not doing a real allocation here and so, especially if the whole thing is about to fail anyway, there may seem to be little point in bothering to _put(). The thing is it's an unbalanced operation, and the behind-the-scenes implementation may change at some later point so IMO it's definately worth balancing these things now. -serge --
I think this is like claiming that my malloc() will get freed if my applications exits, so I don't have to worry about free(). It is messy, it makes lifetime rules and use less explicit, and it makes bugs harder to find. If I were a good programmer (which I'm not) I probably wouldn't do that. -- Dave --
Restore open file descriptors: for each FD read 'struct cr_hdr_fd_ent' and lookup objref in the hash table; if not found (first occurence), read in 'struct cr_hdr_fd_data', create a new FD and register in the hash. Otherwise attach the file pointer from the hash as an FD. This patch only handles basic FDs - regular files, directories and also symbolic links. Signed-off-by: Oren Laadan <email@example.com> --- checkpoint/Makefile | 2 +- checkpoint/restart.c | 4 + checkpoint/rstr_file.c | 202 ++++++++++++++++++++++++++++++++++++++++++++ include/linux/checkpoint.h | 1 + 4 files changed, 208 insertions(+), 1 deletions(-) create mode 100644 checkpoint/rstr_file.c diff --git a/checkpoint/Makefile b/checkpoint/Makefile index 7496695..88bbc10 100644 --- a/checkpoint/Makefile +++ b/checkpoint/Makefile @@ -3,4 +3,4 @@ # obj-$(CONFIG_CHECKPOINT_RESTART) += sys.o checkpoint.o restart.o objhash.o \ - ckpt_mem.o rstr_mem.o ckpt_file.o + ckpt_mem.o rstr_mem.o ckpt_file.o rstr_file.o diff --git a/checkpoint/restart.c b/checkpoint/restart.c index a0d5e60..956e274 100644 --- a/checkpoint/restart.c +++ b/checkpoint/restart.c @@ -212,6 +212,10 @@ static int cr_read_task(struct cr_ctx *ctx) cr_debug("memory: ret %d\n", ret); if (ret < 0) goto out; + ret = cr_read_files(ctx); + cr_debug("files: ret %d\n", ret); + if (ret < 0) + goto out; ret = cr_read_thread(ctx); cr_debug("thread: ret %d\n", ret); if (ret < 0) diff --git a/checkpoint/rstr_file.c b/checkpoint/rstr_file.c new file mode 100644 index 0000000..780c0fc --- /dev/null +++ b/checkpoint/rstr_file.c @@ -0,0 +1,202 @@ +/* + * Checkpoint file descriptors + * + * Copyright (C) 2008 Oren Laadan + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file COPYING in the main directory of the Linux + * distribution for more details. + */ + +#include <linux/kernel.h> +#include <linux/sched.h> +#include ...
At the kernel summit, it was asked whether at some point this CR work could be used as the basis for a new suspend to disk implementation. I answered that we don't plan to handle kernel threads. In your experience, are there any reasons why eventually we couldn't eventually handle kernel threads? -serge --
As far as I can see, there isn't an inherent reason not to handle kernel threads. However, I never looked deep into the problem. The main issue that I can see with it is similar to what the hibernation developers must tackle anyway - how to freeze kernel threads when some of them may still be needed to take the system down. Assuming that is solved, then we're left with how to freeze the kernel threads in a state that makes sense for a restart; for regular tasks this is right before going back to user-land (*), for kernel threads it may not be the best place :) (*) however, tasks that are ptraced or in the middle of a vfork will require special treatment - since upon freezing they cannot be forced to that convenient position; so upon restart there must be special code to make their behavior after restart compatible with what they would have done originally - probably by emulation as opposed to rebuilding their old kernel stack. For instance, if a task was stopped due to ptrace before return from a syscall, then upon restart it should return to that exact state. So I'd assume that kernel threads could be treated in a similar manner by special-casing, if necessary. Question: I'd assume that at least for some of the kernel threads a simple re-launch at restart will do; how many really require that we save and restore their state ? Oren --
Playing around a bit, all seems to work as advertised. Has anyone playing with this run into any oopses with the latest version? Cedric, could you send out your patch (or a pointer to them) to make ckpt/restart on another task work, so we can pound the core code a bit harder with liblxc? thanks, -serge --
sure. the user tools are in CVS for the moment : http://lxc.cvs.sourceforge.net/lxc/ but Daniel will probably release something soon. the lxc-checkpoint and lxc-restart tools are a bit too optimistic on the availability of the checkpoint and restart syscalls, a cleanup might be needed. the patchset is here : http://legoater.free.fr/patches/2.6.27/2.6.27-rc7-lxc2/ it's based on top of current mainline and includes : . sysfs patches for net namespace . freezer subsystem . oren's V5 checkpoint and restart patches . a personal hack to do external checkpoint and restart using the lxc-checkpoint and lxc-restart tools . some fixes and also an old mq namespace implementation (being reworked currently) restart is still bogus because some state is not well captured at checkpoint time. I'm working on it right now ! Thanks, C. --


text:
RIO OutBound Short Fly Sink Tip Fly Lines
From $ 79.95 Options:
In stock
Rio Outbound Short, intermediate sink tip fly line. 1.5-2.0 ips sink rate. A short head version of the incredibly popular OutBound lines. They are ideal for wading anglers or for coping with tough winds and big flies when a short head is necessary. The head is only 30 feet long and ensures fast, one-shot casts for maximum distance. The lighter sized lines are excellent for the trout angler fishing from a drift boat, while the larger sizes are particularly useful for the striper fly fisher. The lines are built with a supple core and feature a coldwater coating with XS Technology for extreme distance. DualTone ensures the angler can easily find the perfect loading point.
Other Great Deals:

subset: commoncrawl


text:
What's Hot
33% of FIFO Miners are FAT!!!
I found a recent study that says a 3rd of FIFO workers are "dangerously obese and are at risk of heart attack".
Dr Choong, whose Port Kennedy clinic treats about 400 FIFO workers, said between 30-35 per cent were overweight.
"Being overweight makes you a prime candidate for a heart attack, something that is compounded by the stress of the (FIFO) lifestyle with its long hours and little rest," he said.
The Dream Continues for Mark Hunt
What a fight from Mark Hunt (& Stefan Struve) I'm still pumped from this fight!! I've always been a Mark Hunt fan way back before he won K1 Grand Prix and now the fairy tale comeback continues and he's reaping what I think he deserves!! Check out the highlights below!! Read More…
The 2 GREATEST Road Blocks!!
I stole these 2 road blocks from Paul Counsel. It was geared towards increasing your income and lifestyle (freedom) of lifestyle. BUT I think regardless of how you want to use it, I think it's a UNIVERSAL LAW!!
1: Behavioural inflexibility
I'll describe behavioural inflexibility as not following through in the real world i.e. if it's to lose 5kg you have to exercise at least 3x per week and be nutritional compliant 80% of the time (or working towards 80% of the time.)
E.g. March 1st to March 31st = 31days.
Was your behaviour flexible enough to DO:
12 workouts from 31days.
Where you compliant with your nutrition plan 80% of the time or work towards 80% each week.
To me this is "black & white" you either DID or Did Not. YES there is a STORY we sell ourselves which leads to #2
2: Mind inflexibility
My description of mind inflexibility; is the inability to let go of what you think you know as current life is showing it's not working and re-learn all over again without hanging on to past experiences as if they are truth. i.e. learn, unlearn, re-learn & do-learn or follow through as per #1.
What are you thoughts of these 2 biggest road blocks?
Strength to YOU,
Spida Hunter
What's New
Combat Warrior Tribe
Get Instant Access to "Combat Warrior Tribe Now" For Only $4.95! Limited to 5, ...
Protected: Strength Programme Bodyweight Only!
This post is password protected. To view it please enter your password below: Password: ...
Fat Loss & Fitness Membership Bonuses
Here is where you can collect your bonuses, please check back often as I ...
Check these 3 Studies Out on Fish Oil!
I wanted to share with you today 3 DIFFERENT studies showing the power of ...
A Big Fish Oil Thanks!!
I personally would like to say Thank you for taking the leap of faith ...
MMA Fighters Circuit with Audio Coaching!
Seeing is only have the education process, what if I could provide you with ...
A Day in the Life of Spida MMA Debut
I recorded a Day in the Life of Spida!! This video is 4wks out ...


text:
vegan spinach dip
I wasn't planning for this to be the recipe that broke the blogging dry spell, but after tasting the bite of the leftovers this morning I found I'd stumbled upon something. I've actually been cooking quite a bit lately, out of necessity and economy, fashioning meals that could've come straight out of the Trader Joe's cookbook and might have been hard to defend in recipe form, like fish-stick tacos with homemade salsa, or turkey burgers with a secret ingredient (crushed pistachios) and pesto tortellini. Last night, after dropping over a grand on new apartment furniture (everything in our apartment except the bed is sourced from either Craigslist or the street, including a barely-used Ikea kitchen block, a cheerfully painted blue bookshelf that a nearby elementary school threw out, and two bar schools discarded by the Shake Shack downstairs), we had a cheap date that mostly consisted of spending five hours in the Museum of Natural History across the street and watching a terrible Robin Williams movie on Netflix Instant. In between, I made some nachos for dinner, bound by the constraints of the ingredients already in the fridge: a bag of frozen chopped spinach, a can of refried beans, an onion, a tomato, tortilla chips and good olive oil.
The vegetable mixture that came out of this under-$5 experiment is good enough to serve for entertaining, the beans giving it a creaminess reminiscent of those vaguely-disgusting vaguely-delicious dairy-based dips that tempt and horrify me.
Vegan spinach dip:
- 1 cup frozen chopped spinach
- 2 tbsp good extra-virgin olive oil
- 1/2 can refried beans
- 3/4 cup diced yellow onion
- Salt and pepper to taste
- Saute the onion in a pan with a tablespoon of olive oil, stirring frequently.
- Meanwhile, defrost the spinach with the remaining tablespoon of olive oil in a small covered saucepan. Once cooked through, add refried beans and stir until mixed well.
- When onions are golden and translucent, add to bean mixture and stir well. If you like, melt a little cheddar on top. Serve with tortilla chips.


text:
What did I get myself into? With 2 rambunctious girls in the house already, a third won't be too bad, right?
When Kristin was younger (3-4 years old), she would always ask for a puppy. We promised her when she turned 10, we would think about it. She never forgot those words, and it seemed almost every year, she would bring it up and we would always try to talk her out of it. "How about a pet rock? How about some fish? You know, stuffed animals make great pets!" Well, she turns 10 this year and we kept our promise.
Meet Voldie (short for Voldemort).
We brought her home a month ago from a great breeder in Ripon. Kristin had the biggest grin on her face when we met her.
Things she likes. Balls, grass, bark, rocks, eating anything and everything that she finds on the floor.
She slept a lot the first few days. I thought it was super.
Kayla loves to play with Voldie, except when she is nipping and jumping all over her.
She's not as big of a fan of water as the kids are.
Kayla was trying to teach her how to play piano.
"Too hard to teach piano, I think I'll just tell her my funny jokes."
For a dog that doesn't like water, she sure seems interested in baths and toilets.
Kristin found a new use for Voldie, a nice warm soft pillow.
If there is a bathtub or toilet, you'll find Voldie, or rather she will find you while you are taking a bath or using the toilet.
Just like the girls, she grows so fast.
Apr 2, 2013
Dec 24, 2012
Wishing you Happy Holidays!
Oct 31, 2012
"Pick a bucket to go trick or treating" I said.
I should be more specific next time.
Halloween is always a fun time of year for the kids, and choosing a costume is a big part of it. We had some rather interesting choices for costumes this year. Kristin chose to be Hermoine from the Harry Potter series, and Kayla chose to be Princess Leia from Star Wars. Kristin has been glued to the book series and is a big fan of Hermoine. Kayla chose Princess Leia, as she is always playing Star Wars with her classmates during recess. She's the only girl in the group when they play, so I guess she got assigned princess duty.
Hope everyone has a safe and Happy Halloween!
Oct 4, 2012
Just a few more minutes.....
Waking up for school, trying to squeeze in those last few minutes of sleep. I still feel that way. Every day.
Kristin turns 9 years old today, and sorry, you don't get to sleep in, even on your birthday.
It has been a busy few months, traveling across the Pacific to visit relatives, soccer, a quick visit to Disneyland, and the start of school. It was the first time the K's visited Hong Kong, and unfortunately it was a short trip, 4 days to be exact. With the time difference of -15 hours, they never got fully adjusted and ended up waking up super early, and falling asleep in the afternoons.
Every morning around 5 AM, Kayla would wake up. I was able to see some amazing sunrises thanks to her.
We were able to squeeze in some sight seeing, and went to the Peak.
Attempted to take some pictures with their younger cousins.
If there is a playground, they will play, regardless of what country they are in.
Saw this awesome home? from the top of the Peak.
We took a ferry ride. Some amazing views from the sea.
Selina made the mistake of showing them the hotel pool the first day we were there. They then proceeded to ask to go swimming everyday after that. Kayla was always the first to be ready to go swimming.
A few weeks after Hong Kong, we did a quick trip to Disneyland with our awesome friends from New York, Vanessa and Justin.
Best part of the trip was definitely the Cars ride. You can see Kristin grabbing on to Vanessa, and Kayla is grabbing on to me. After that ride, I don't think they will want to go on another roller coaster for a while.
The amount of detail they put into the rides is amazing. I really liked the little mermaid ride.
Best part of Disneyland for Kayla, definitely the cotton candy.
Oh, and meeting Dale, which they thought were part of Alvin and the Chipmunks.
Kristin ran for school treasurer...she didn't win, but at least she tried :)
Subscribe to:
Posts (Atom)


text:
I also have a Raspberry Pi Version B. I'm using it as a NAS. I have a samba server with a 1TB external USB Hard drive. I also have set up a DLNA and it
blittled Yesterday, 05:24 AMOkay, you'll probably notice (if you haven't already) projects starting to re-appear in the projects section. I am trying to get them restored as quickly
Chris Savage June 17th, 2013, 07:19 PMI did not know the history. Very interesting stuff indeed.
Chris Savage June 17th, 2013, 08:59 AMWell, the first spammer since the site has been restored has been banned. Interestingly I suspected this one from the get-go and noted his account appropriately.
Chris Savage June 16th, 2013, 08:00 PMOkay, so since I got the site back up and running and have been getting most of the content restored I have started thinking about the future of Savage///Circuits
Chris Savage June 16th, 2013, 07:57 PMReaper was based directly on Vegas when it started, though it's evolved since then. Vegas started out as a multitrack audio program (a DAW), and then
dmlandrum June 16th, 2013, 06:34 PM[SIZE=3][FONT=tahoma]Twice I have created an account on Facebook and twice I have been compelled to close my account and say goodbye. There will not be a third time. When I was on Facebook everything...
Chris Savage June 16th, 2013 08:56 PM


text:
You can view the current or previous issues of Diabetes Health online, in their entirety, anytime you want.
Click Here To View
See if you qualify for our free healthcare professional magazines. Click here to start your application for Pre-Diabetes Health, Diabetes Health Pharmacist and Diabetes Health Professional.
Latest Glucagon Articles
Popular Glucagon Articles
Highly Recommended Glucagon Articles
Researchers in Taipei, Taiwan, report that they have identified the top three drugs for reducing A1C levels in type 2 diabetes: biphasic insulin, GLP-1 analogs, and basal insulin. They hedged a little on their endorsement of GLP-1 analogs, however, by saying that although they are not decisively better at controlling A1Cs than other oral diabetes drugs, they have the advantage of helping to reduce weight without adding to the danger of hypoglycemia.
2 comments - Posted May 16, 2012
With tens of millions of American facing life with type 2 diabetes and many millions more at risk of the disease, scientists are scrambling to unravel novel treatments. The latest breakthrough could come from California's Salk Institute.
0 comments - Posted May 13, 2012
The FDA has approved US sales of JANUMET® XR, a daily oral treatment for type 2 diabetes that combines sitagliptin and extended-release metformin. The drug is the fourth oral type 2 diabetes treatment introduced by Merck, which also sells JANUVIA, JANUMET, and JUVISYNC.
0 comments - Posted Feb 6, 2012
The one time I needed a glucagon injection, I didn't have any. I had never been given a prescription for it, had no idea how to use it, and was absolutely clueless about what it did.
1 comment - Posted Oct 29, 2011
Diabetes Health is the essential resource for people living with diabetes- both newly diagnosed and experienced as well as the professionals who care for them. We provide balanced expert news and information on living healthfully with diabetes. Each issue includes cutting-edge editorial coverage of new products, research, treatment options, and meaningful lifestyle issues.


text:
Moderator: Moderators
Re: Metroid Prime Trilogy RifftraxMIke, Bill , Kevin and metroid ?! woo00OOOO! Haha !You just made my day !
( the audio is from star wars right ? ) |
Re: Metroid Prime Trilogy RifftraxHoly crap that was awesome! The last 45 seconds or so are relentless.
"You'll have to wait in the ship, we don't allow women here." X-Ray Scope Acquired! |
Re: Metroid Prime Trilogy RifftraxI'll admit, I found this enjoyable and funny.
And just the right length (watching the whole of Metroid Prime on this would get a little odious). "I cannot think of a more hilarious way to die"
Re: Metroid Prime Trilogy Rifftrax"Break out the marshmallows. Toast, and enjoy, as we die!"
This is awesome!
Wii U: OhThatMason |
Re: Metroid Prime Trilogy Rifftrax "To Infinity and beyond!" "I'm Peterpan!"
This video was great. |
Re: Metroid Prime Trilogy Rifftrax"He had so many great lines, I'm almost sorry to see him go."
Gold. |
Re: Metroid Prime Trilogy RifftraxMy son's first Communion is tomorroooooow
Re: Metroid Prime Trilogy RifftraxThis is almost too good. These guys sound like the ones from MST3K.
I've never heard of rifftrax before. |
Re: Metroid Prime Trilogy Rifftrax
It's the guy from mst3k ! !! Joel , Frank Tracey , Mary , Josh did this after --> http://cinematictitanic.com/ Mike ,Bill ,Kevin did this after --> http://www.rifftrax.com/iriffs (even Jurrasik park with Al yankovich as guest ) Both are Super good if you liked Mst3k |
Re: Metroid Prime Trilogy Rifftrax"NOW! OFF TO DENNY'S!"
This has got to be one of the most amazing things I have ever seen. SRSLY, why didn't we think of this. I can understand not doing Prime, but how has no one on the Database done an Other M rifftrax? I sense a MDb Holiday Special~~
Adam: The cake is only a lie because I did not authorize it. |
Re: Metroid Prime Trilogy RifftraxHeh, that was pretty entertaining. Some of the jokes were lost on me, but I enjoyed it for the most part.
"Work is for people who can't play video games." - Jillian Wiebe, "The King of Kong"
Re: Metroid Prime Trilogy Rifftrax"This can't be the NYC subway it's moving!" Hahaha
Samus - She's the only woman I'll ever love.
Re: Metroid Prime Trilogy RifftraxAhahaha. I love MST3K/Rifftrax.
http://www.youtube.com/watch?v=hhxuD-_5Ces ^A very worthwhile use of a couple hours. The skits are there to be skipped, though. Melissa
Re: Metroid Prime Trilogy Rifftrax
I'm pretty sure there's a thread around here somewhere... Somebody was trying to recruit people to do a Riff on Other M. I gave it a "maybe", depending on whether or not other people joined in. I don't recall anybody else wanting to join in. I think Warhead started that thread...? IF ADAM WANTS A GIRL TO ****ING DANCE, HE SHOULD JUST GO TO A STRIP CLUB. ~Doc Scratch |
Users browsing this forum: Bing [Bot], Google [Bot] and 1 guest


text:
Five of the eight Bryan County Conference schools will appear in the Class 2A basketball playoffs this Friday and Saturday.
The girls will start things first with Friday night games set for 6:30 p.m.:
Calera girls vs. Haworth (in Colbert). On Saturday night, Colbert will host the winner for the District 6 championship. Both Saturday teams will advance to a regional round which will also be held in Colbert on Feb. 21.
Caddo girls vs. Vanoss (in Silo). On Saturday night, Silo will host the winner for the District 7 championship. Both Saturday teams will advance to the regional round on Feb. 21 in Colbert.
Tushka girls vs. Canadian (in Talihina). Winner will play Talihina on Saturday.
The district bracket on the boys side is a little more complicated. Two opening games will be held at 8 p.m. Friday: Calera at Colbert, and Caddo vs. Vanoss in Silo.
Colbert will host the boys district final on Saturday, with No. 4 Haworth set to play the winner between the Leopards and Calera. Also on Saturday, Silo will host the winner between Caddo and Vanoss.
The Tushka Tigers await the winner between Talihina and Canadian, with the District 4 championship set for 8 p.m. Saturday in Talihina.
The 3A district playoff will be held Friday as well, with Kingston hosting Davis for a girls game at 6:30 p.m. and the boys game at 8 p.m. Both teams will advance to the regional round starting Feb. 21 in Tishomingo.
Also, the brackets for the 5A basketball playoffs have been released by OSSAA, with Durant girls to visit fourth-ranked Tulsa East Central at 8 p.m. on Feb. 21. The boys will play Noble at Tulsa Bishop Kelley High School at 6:30 p.m. Feb. 22.


text:
ANN ARBOR, MI (Toledo News Now) – United Bank & Trust and nonprofit Cell Phones for Soldiers are asking Lenawee, Livingston, Monroe and Washtenaw county residents to help troops call home by donating gently-used cell phones.
With ongoing deployments to combat areas and elsewhere, as many as 369,000 troops are serving in the U.S. military overseas. By donating gently-used cell phones to Cell Phones for Soldiers, residents can provide troops with that precious connection to loved ones back home.
Phones can be donated at any United Bank & Trust Michigan location, including Ann Arbor, Dexter, Manchester, Saline, Dundee, Tecumseh, Adrian and Brighton.
"For every cell phone we collect, Cell Phones for Soldiers will provide military members with a prepaid calling card to stay in touch with their family and friends. We make it easy to help. Just drop your old cell phone into the Cell Phones For Soldiers drop box at any of our locations. We'll take care of the rest," said Kathleen Craig, assistant vice president.
Based in Norwell, MA, Cell Phones for Soldiers was founded in 2004 by Robbie and Brittany Bergquist, then 12 and 13 years old. From the recycling of used mobile phones and cash donations, the organization has raised more than $7 million, collected more than 8.3 million cell phones and provided troops overseas with more than 114 million minutes of free talk time.
Learn more about Cell Phones for Soldiers.
Copyright 2012 Toledo News Now. All rights reserved.
Explore ToledoNewsNow.com All content © Copyright 2000 - 2013 WorldNow and Toledo News Now, a Raycom Media Station. All Rights Reserved. For more information on this site, please read our Privacy Policy and Terms of Service. |


text:
Great Rentals is part of HomeAway.com, the world's leading vacation rentals marketplace. Search over 170,000 vacation rentals properties now! Click here to see more Waupaca Vacation Rentals
Waupaca Vacation Rentals for Golf Vacations
Sort by: | Show rentals per page |
View all 4 Waupaca Vacation Rentals or all 79 Central Wisconsin Vacation Rentals
Advertise your rental in Waupaca, Central Wisconsin
Waupaca Relax in this beautiful 4 bedroom cottage on Bear Lake.
- 4 BR/1 BA, 1 half bath Cottage (sleeps 8) Lake, Television, DVD Player, Fireplace
Waupaca Clean, Comfortable 3 Bedroom Vacation Home on Beautiful Bear Lake in Central WI
(sleeps 8)
$850/wkper property, Lake, Lawn / Garden, Air Conditioning, Satellite / Cable, Television, DVD Player, Parking, barbecue
Waupaca Green, unique, comfortable, open loft cabin
- 4 BR/2 BA Cottage (sleeps 8) wheelchair accessible, River, Rural, Jacuzzi, Balcony, pets considered, DVD Player, Parking, Fireplace
Waupaca Rustic Cottage on Quiet Road at Waupaca Chain O'Lakes
- 3 BR/1 BA, 1 half bath Cottage (sleeps 6) Lake, Waterfront, Television, DVD Player, Parking
Didn't find what you're looking for?
View all 4 Waupaca Vacation Rentals or all 79 Central Wisconsin Vacation Rentals


text: As part of his final address to the participants in the law and religion symposium last week, Rik Torfs, a Belgian senator and head of the faculty of canon law at KU Leuven, observed that some of the great things in public discourse occur in the context of vociferous initial backlash. After all, he said, if you posit something and everyone just accepts it as a matter of course, then it is merely a truism and of no benefit to anyone. You haven't really said anything at all.


text:
Average Rating:
Read all product reviews [3] | Write your own review
"2nd Best"
Eric Evans on 10/28/2012 5:28:54 PM
Review: These sardines have great texture and flavor. For me, they are second only to the Vital Choice spiced sardines, which are my favorite, and far superior to sardines available in grocery stores.
"Absolutely, no-close-second, the BEST sardines I've ever eaten"
Joy Gadaway on 5/9/2011 7:57:01 PM
Review: Wonderful video! I've enjoyed Vital Choice sardines and in fact have given them as Christmas presents! They are absolutely, no-close-second, the BEST sardines I've ever eaten. I am very grateful for this lovely gift from the sea and for the care that is taken every step of the way.
"Best sardines but Omega 3 numbers flawed"
glenn on 4/28/2011 10:37:44 AM
Review: These are the best canned Sardines I have ever tasted, and I have purchased them many times from Vital Choice and will continue to do so, but, the Omega 3 content is highly suspect. If you look at the Sardines in water it says they have a total of 3398mg of Omega 3's per can.(1699mgx2=3398mg).The ones in olive oil have 5306mg per can. (2653mgx2=5306mg). The only difference in the ones with olive oil is the addition of olive oil. There is only a trace of Omega 3's in olive oil. Only a trace, and ... More details


text:
Shop Our Store
Select your preferred location and we'll note which parts are ready to be picked up TODAY.
Distributor, Street Fire HEI, Magnetic Pickup, Vacuum, Mechanical Advance, Chevy, Big/Small Block, Each
Estimated Ship Date: 5/28/2013 (if ordered today) Would you rather pick it up? Select Location
View Similar Products
Results 1 - 20 of 426


text: As far as I have been able to find out it takes over 2,600 calories to gain 7,815' of altitude over the 13.32 miles. I start with a good breakfast an hour and a half before the start then an energy bar and endurance drink 30 min. before the Ascent then I take a hammer gel pack and two cups of water at EVERY water stop starting at the first (take a few tums with you). A Search and rescue member told me a few years ago that gatorade will dehydrate you at altitude, I can confirm that. You are on the right track asking this question to preventing yourself from being a zombie but you will probably see some above tree line. All you can do for them is tell them to keep moving.


text:
Brian's The Week In Smoke, Cigar Safari Edition
It's time again for another issue of Brian's The Week In Smoke. This time, a special edition is in order to cover the cigars I smoke down in Nicaragua on Drew Estate's Cigar Safari. But instead of revisiting cigars like the T52 (which I smoked every day I was there), I'm focusing mostly on the rarer, more interesting smokes of the trip. Oh yes, I should mention that these cigars were included as part of the trip, so …
God of Fire Don Carlos 2008 (first impressions)
Sadly, smoking a cigar has become a relatively rare event for me lately, as everything at home and work has been so busy. Having finally found an opportunity to enjoy a nice, long, relaxing smoke, I sifted through my coolidor looking for something truly top-shelf. A while back, our friend Keith Park of Prometheus sent me a wonderful Limited Edition God of Fire 9-cigar Assortment. I've been spreading these out a bit, only smoking them on special occasions in …
Cigar Bunching Methods at Drew Estate with Willy Herrera and Nick Melillo
A lot of people know that a cigar is composed of a wrapper, binder and filler, but not many understand how it all comes together. One of the most critical components in the cigar making processes is the bunching of the filler tobaccos to be rolled with a binder. At Drew Estate, they used what they refer to as estrujado method or "lazy entubado" and entubado methods. That is where they form a base of two tobacco leaves before using …
Vallejuelo Cigar
Wrapper : Ecuadorian Habano
Binder : Dominican
Filler : Nicaraguan and Dominican
Source : Gifted by Jeff O.
Welcome to this week's cigar review of the Vallejuelo Cigar in the gran toro size (6×54). This cigar is available in four different sizes and MSRP is $4.50 to $6.50 depending on size. This cigar in the gran robusto size has won accolades so lets see how the gran toro does.
Taking a look at this Vallejuelo Cigar and …
Perla del Mar
Wrapper : Ecuadorian Connecticut
Binder : Nicaraguan
Filler : Nicaraguan
Source : Gifted by local sales rep Dan
Down and dirty first impressions review on the Perla del Mar (Pearl of the Sea) by J.C. Newman Cigars this week. I am smoking the M size (4.75×52) which our local sales rep, Dan, gifted me two of. All of the Perla del Mar cigars are box pressed.
Wrapper of the Perla del Mar gives off a slight barnyard …


text:
".. the Invisible Empire had launched a violent campaign of cross burnings, death threats and angry rallies in its quest for civic domination and white supremacy."That's it - second paragraph - second sentence - no need to read further; I am calling BULLSHIT!
You have presented no evidence that the OC Klan of the 1920's (actually 1922-25) was on a "quest for white supremacy." Why would they be on such a quest? The OC population of non-whites at that time was less than 10% in the OC.
What the KKK of 1922-25 OC was about was:1. Supporting Prohibition aggressively2. Hating Catholics3. Political power. The Klan capitalized on genuine discontent through aggressive newspaper criticism of the Anaheim City Council - (sounds like GA would fit right in).4. Business interests - if you didn't belong to the Klan you didn't do business with certain people5. They didn't like unions6. A shoppers discount - 20% off for Klan members7. Protection against speeding tickets8. Did I say hating Catholics?
I will give you this Gustavo; there is no doubt that race played a part in the OC Klan - people were concerned about the influx of Mexicans fleeing the terror of the Mexican Revolution. But this was no "quest for white supremacy" in the OC. The worst event in the OC that you could come up with was "a large rally near a Mexican citrus camp.
Before you go calling me a supporter or apologist for the OC KKK, let me say that I completely 110% agree with Alexander P. Nelson's statement:"In my opinion, the KU KLUX KLAN as an organization is absolutely un-American, and its slogan of 'One Hundred Per Cent American' is absolutely misleading, for the reason that the fundamental principles upon which the KLAN is founded are RACIAL HATRED AND RELIGIOUS BIGOTRY," But your statement that the OC KKK was on a "quest for white supremacy" is also absolutely misleading and is counterproductive towards fostering racial tolerance and understanding.


text:
Go to profile
firstname.lastname@example.com's groups
Sort by:
- Latest Groups
- Alphabetical
- Most Discussed
- Most Wall Posts
- Most Members
- Most Active
Arcturian Halls
Learn more and share more about the Arcturian people, and explore the Ancient Record Halls in their Mountain Cities. Unveil the relationship between the Dwarven Mythology and the Arcturian ways, uncover the secrets of the Pyramids, and unfold the Light-language.
Created on: Friday, 21 November 2008


text:
John McAfee released in Guatemala, lands in Miami
A photo of software founder of John McAfee on Dec. 12, 2012. McAfee was released from detention in Guatemala and was scheduled to fly to the U.S. / CBS News
Updated 9:41 PM ET
GUATEMALA CITYAnti-virus software founder John McAfee arrived in the U.S. on Wednesday night after being deported from Guatemala, where he had sought to evade police questioning in the killing of a man in neighboring Belize.
The American Airlines commercial jet carrying McAfee landed in Miami shortly before 7 p.m. Wednesday, said Miami International Airport spokesman Greg Chin.
A short time later, a posting on McAfee's website announced that he was at a hotel in Miami's upscale South Beach neighborhood. He said he arrived by taxi after a group of customs or immigration agents, he didn't know which, escorted him to an airport taxi stand. McAfee has frequently communicated through the website.
"I have no phone, no money, no contact information," the post said. Reached by telephone at the hotel, the 67-year-old McAfee told an AP reporter that he couldn't talk because he was waiting for a call from his girlfriend, 20-year-old Belizean Samantha Vanegas.
Vanegas had accompanied him when he was on the run, but did not go with him to the U.S.
On a blog he has been posting for the past two weeks, McAfee wrote, "I have been forcibly separated from Sam," but claimed she would be coming to the United States later.
McAfee sat in a coach-class seat on the flight, which took off at midafternoon from Guatemala City, according to the airline.
Other passengers on the flight told The Associated Press that McAfee was escorted off the aircraft before others were allowed to disembark.
"They asked us to please stay seated and said, `Mr. John McAfee, come to the front,' and he did," said Maria Claridge, a 36-year-old photographer from Fort Lauderdale. "He walked very peacefully, chin up. He didn't seem stressed."
Claridge said she did not see what happened to McAfee after he left the aircraft. She said he was well dressed, in a black suit and white shirt, appeared to be traveling alone and that she didn't realize who he was until another passenger told her.
"I thought he was either a diplomat or a politician," she said. "It just seemed eerie to be traveling on an airplane with someone who was in trouble."
An FBI spokesman in Miami, James Marshall, told the AP in an email that the agency is not involved with McAfee's return to the U.S.
Authorities from U.S. Customs and Border Protection, Immigration and Customs Enforcement, the U.S. Marshals office and the U.S. attorney's office did not immediately respond to questions about whether McAfee would be questioned or detained in the U.S. They said there was no active arrest warrant for McAfee that would justify taking him into custody.
Bystanders in Guatemala City stopped to stare at the passing police convoy that escorted McAfee to the Central American country's international airport. People at the airport crowded around the immigration truck carrying McAfee, straining to take pictures of him with their cellphones.
"I'm free. I'm going to America," McAfee said before boarding the plane.
He suggested his weeklong detention in Guatemala for entering the country clandestinely had taken its toll on him.
"All I can tell you is, I'm 10 years older, and I don't know what I'm doing. I'm just going to Miami," he said.
McAfee said Sunday that he wanted to return to the United States and "settle down to whatever normal life" he can. "I simply would like to live comfortably day by day, fish, swim, enjoy my declining years."
His expulsion from Guatemala marked the last chapter in a strange, monthlong odyssey to avoid police questioning about the November killing of American expatriate Gregory Viant Faull, who lived a couple of houses down from McAfee's compound on Ambergris Caye, off Belize's Caribbean coast.
McAfee has acknowledged that his dogs were bothersome and that Faull had complained about them days before some of the dogs were poisoned, but denies killing Faull.
He was in hiding in Belize for weeks after police pronounced him a person of interest in the killing. Belizean authorities have urged him to show up for questioning, but have not lodged any formal charges against him. McAfee has said he feared he would be killed if he turned himself in to Belizean authorities.
McAfee is an acknowledged practical joker who has dabbled in yoga, ultra-light aircraft and the production of herbal medications. He has led an eccentric life since he sold his stake in the software company named after him in the early 1990s and moved to Belize about three years ago to lower his taxes.
He told The New York Times in 2009 that he had lost all but $4 million of his $100 million fortune in the U.S. financial crisis. However, a story on the Gizmodo website quoted him as describing that claim as "not very accurate at all."
Anti-virus guru John McAfee released
Popular on CBSNews.com
- Serena Williams sorry for "what I supposedly said" on rape
- TWA Flight 800 gets another look 17 years later 112 Comments
- TWA Flight 800 disaster - a look back 19 Photos
- 3 football players charged in Naval Academy rape case
- FBI: No sign of Jimmy Hoffa's body in Detroit suburb
- America's endangered historic places 11 Photos
- Reporter Michael Hastings dies at 33
- FBI finds possible remains at gangster's NYC home
- linkicon reporticon emailicon
- Merry pranks unending; hard to distinguish fact from fiction in the
"Crackafee" stories. But how can he be broke? It was just reported,
not more than a couple of days ago, that the former anti-virus guru
inked the rights to his story. Should be some $$$ in that. - reply
- linkicon reporticon emailicon
- Can I get an escort off the plane and through customs the next time I fly international coach? Because the last time, it cost me $800 since it took two hours. Oh wait, I'm not rich and famous and wanted for questioning in a murder.
- reply
- linkicon reporticon emailicon
- Good for him.
Somehow I'm finding the articles about companies like Hostess using employee wages slated for their pension plans to fund company operations being a tad more heinous. But that company's defenders will still blindly blame all them pesky thuggy unions, while turning a blind eye to the bigger thugs... - reply
- linkicon reporticon emailicon
- If Hostess really raided the employee pension funds, those responsible should serve long prison terms.
- linkicon reporticon emailicon
- http://www.investopedia.com/financial-edge/1212/what-to-do-if-your-company-cuts-your-401k.aspx
True, that one article claims Hostess execs did such deeds.
- linkicon reporticon emailicon
- Bad McAfee,
Bad McAfee.
No more bath salts. - reply
- linkicon reporticon emailicon
- What about the murder? Do they think that he had nothing to do with it?
- reply


text:
Eddie Lack, the Canucks' top goaltending prospect, had successful surgery on his hip on Tuesday, the NHL team said following the procedure.
Canucks assistant GM Laurence Gilman said Lack was expected to make a full recovery in six months, but said that time-frame was conservative.
"He'll be in camp and in position to compete for a job," said Gilman.
Training camp opens in mid-September, about seven and a half months from now. Depending, of course, on how the Canucks' lineup looks following the expected trade of Roberto Luongo, Lack was expected to be a prime candidate to back up No. 1 Cory Schneider next season.
But Lack hasn't played since Nov. 24, with the problem initially being called an injured hip flexor, and he won't have played any games for nearly 10 months when training camp begins.
Gilman said Lack's surgery won't have any impact on a Luongo trade – where the Canucks will likely have to get an NHL back-up in any such deal or find a free agent to sign.
The procedure was performed in Vail, Colo., by well-known orthopedic surgeon Dr. Marc Phillippon, the same doctor who operated on Canucks centre Ryan Kesler's torn hip labrum.
Evidently, the surgery wasn't too onerous, as Lack was tweeting on Tuesday afternoon:
'My surgery went very well and I'm focused doing whatever I can to get back quickly! Thanks for all ur thoughts! // stork #GoCanucksGo"
Lack's numbers were markedly below those of his first two AHL seasons. In 13 games, he had a goals against average of 3.00 and a save percentage of .899. His record was 7-4-2-1.
The Canucks other assistant GM, Lorne Henning – who oversees player personnel – said Lack was experiencing soreness in his hip much of the season in the AHL and believes that affected his play.
"Some games he was phenomenal but some games he was feeling it," said Henning. "It was a big part of (the poorer numbers)."
Henning said the Canucks decided to shut down Lack in late November in hopes that rest would heal the injury.
"He rested it for a while and then he tried to come back, but it didn't feel right," said Henning. "He went back and rested it again, but it just wasn't working."
Henning was an assistant coach in Anaheim in 2004 when the Ducks' star goaltender Jean-Sebastien Giguere suffered a torn hip labrum. Gigeure also went to Dr. Phillippon for surgery and came back as good as ever. He's still playing (Colorado), at 35.
"Giguere had it in Anaheim and he's still playing," said Henning. "The idea was to get it done now so (Lack) will have time to get some training in before camp."
The Canucks may also be looking to sign another minor league goaltender, as rookie Joe Cannatta is the only other goaltender they have under contract in the system.


text:
Kids Canvas Art
Wall Decals
Wall Letters
Personalized Art for Kids
Hand Painted Art for Kids
Growth Charts
Framed Art for Kids
Wall Hangings for Kids
DIY Kids Wall Murals
Dry Rub Transfers
Art Prints for Kids
Kids Wall Plaques
Kids Wood Signs
Prepasted Wall Murals
Kids Photo Art
Kids' Theme Rooms
Personalized Birth Certificate Hand Painted Tile - Train with Photo by Jamie's Painting & Design These very unique personalized birth tilesĀwill add a playful touch to anyĀbaby's room. Each original artwork is heat-sealed into the tile, which ensures a high-quality finish and a long lasting keepsake for your child's room. This sweet wall plaque makes the best gift! The tile comes with coordinating ribbon which is already assembled and ready to be hung. This item is custom made especially for you upon your order. Please include any additional notes or requests in the Comments box during checkout. To proceed with your order, we will need to receive a digital photograph of your baby so the artist can print it on the tile. After your order has been processed, we will contact you to request the digital photograph!
SIZE: 6" x 8"
Category: Art, Kids Photo Art


text:
The National Housing Corporation (NHC) in collaboration with the Parastatal Sector Pension Fund (PSPF) has pledged to construct more affordable housing.
NHC Director General, Nehemiah Mchechu, said this while addressing workers of the corporation during their annual general meeting held in Morogoro.
Among the corporation's plans to achieve this include the use of profit raised from the sale of 10,000 medium and high cost houses, to build some 5,000 low income houses.
NHC has secured a loan and is ready to work with PSPF to, in his words "…immediately starts construction of the houses..."
The corporation has dispatched two teams across the country to determine the project's feasibility and hope to have gathered sufficient information to commence with the implementation by the end of July.
The project will also utilise the banking system to fund house loans. NHC intends to extend the housing benefits to its employees. Veneranda Seif, NHC Morogoro Regional Manager believes that good internal cooperation between the management and staff has led to the considerably prosperous growth.
The corporation's efforts follow a recently meeting in Dodoma where President Jakaya Kikwete convened with all heads of the social security funds to discuss the construction of cheap houses for low income earners.


text:
ACU Set To Host Oliver Jackson Track Meet
By: Lance Fleming, ACU Assistant Director of Athletics for Media Relations
Updated: May 8, 2012
ACU will host teams and athletes from Hardin-Simmons, Wayland Baptist, McMurry, Angelo State, Tarleton State, Northwood, Southwest Christian Community College, Wiley, Lubbock Christian, and Dallas Baptist.
Field events are scheduled to start at 1 p.m. with preliminary races in the short hurdles races and the 100 meters and 200 meters set to start at 3 p.m. Other running event finals are set for a 5 p.m. start.
Student-athletes trying to qualify for the outdoor championship meet only have another week to get a qualifying mark before the NCAA announces the field next week. The national championship meet is set for May 24-26 at the DeRose ThunderBowl in Pueblo, Colo.
The ACU men enter Wednesday's meet having just won their 19th straight Lone Star Conference championship last weekend in Commerce. The Wildcats are ranked No. 3 in the nation, according to the latest United States Track and Field and Cross Country Coaches' Association poll.
Adams State (Colo.) is ranked No. 1 in the country, followed by St. Augustine's (N.C.) at No. 2, ACU at No. 3, Lincoln (Mo.) at No. 4 and Western State (Colo.) at No. 5. The ACU men are the defending national champion and have won three of the last five outdoor national championships.
On the women's side, the ACU women enter Wednesday's meet having finished second to Angelo State by one-half point at last weekend's LSC championship meet. ACU is ranked No. 13 in the latest USTFCCCA poll.
Grand Valley State (Mich.) is ranked No. 1 in the country, followed by Lincoln (Mo.) at No. 2, Adams State (Colo.) at No. 3, Central Missouri at No. 4 and Grand Canyon (Ariz.) at No. 5.


text:
You have
stories left before being redirected to Clickshare to login or register.
Man who rode horse while drunk gets time served
Thursday, January 10, 2013
BUNNELL, Fla. (AP) — A Florida man accused of riding his horse while intoxicated during a police chase has changed his plea and was sentenced to time served. |


text:
Named for the Florentine Camerata, a group of artists and patrons who 400 years ago created opera, Portland Opera's Camerata Circle continues the tradition of supporting the creation and preservation of opera, both on the stage and in our community.
If you are passionate about opera and believe in supporting great opera for current and future generations, you can join the Camerata Circle with a gift of $2,500 or more. Contributions made in the current fiscal year, including preferred seating, may be applied towards membership in Camerata.
Benefits to Camerata members include:
To learn more about the Camerata, please contact Senior Giving Manager, Joe Peacock at 503.417.0572 (direct) or email@example.com.
Camerata Lounge Sponsor |


text:
Comcast Digital in Jackson County offers premier technology and a slew of perks. That sounds expensive, right? Actually, Comcast Digital in Jackson County offers a way to reduce costs. It's called bundled services and the savings are real. A bundled services package from Comcast Cable TV in Jackson County offers a full or partial blend of T digital TV, phone and high-speed Internet. A Comcast bundle means multiple services, a lone invoice and low prices, all direct from Comcast digital in Jackson County. Qualifying new subscribers may qualify for cash rebates that equal hundreds of dollars. As a general rule, you can bundle Comcast cable in Jackson County around your specific preferences and budget. This equals the right combination of channels and all the extras you covet at price that's never a struggle. Custom build a basic package or something that fulfills your every home entertainment wish. Add digital phone to your Comcast bundle, and can enjoy unlimited local and long distance calling, for less than a dollar a day. Comcast Phone will also include perks like free voicemail, caller ID, call-waiting and call-forwarding. As an added measure of convenience, you can include global long distance and stay in touch with all the people who matter wherever they may reside.
On the issue of cable Internet, a bundled services package from Comcast digital in Jackson County makes the top high speed Internet plans available at price everyone can manage. Depending on your computer and the plan you settle on, connection rates surpass 50 Mbps. Satellite, DSL and dialup don't come close. The fast connection rates from Comcast cable Internet deliver quick downloads, easy viewing of streaming video content, online gaming and more.
Comcast in 32426 offers the premier home entertainment. Subscribe to TV Cable from Comcast in 32426 and an action-packed lineup awaits you. This includes all the top networks, Hollywood films, award-winning series, concerts and sports. Comcast Cable in 32426 airs programming in full digital picture. With digital cable from Comcast TV in 32426, you'll witness rich picture detail and hear smooth audio. Choose Comcast TV digital cable in 32426 and you can count on a reliable service at all times. That means a clear picture and hearing smooth audio day whenever you tune in. Comcast also makes customizing your lineup hassle-free. Do so as it suits you. Make Comcast Digital in 32426 work for you. An exceptional mix of cable TV packages awaits your expert fine-tuning. Decide on a basic offering that covers the fundamentals of digital cable. With Comcast, there is always a way to treat yourself. Opt for a fully loaded package with 200-plus channels and all the perks. Of course, you can always put together a package somewhere between the basic and comprehensive. Comcast Cable TV in 32426 offers the most possibilities of any provider. There is so much in store for you when you choose Comcast cable TV in 32426.
Comcast in 32426 doles out an invite to enjoy on-demand cable when you activate new service. The Comcast brand of on-demand cable comes stocked with movies, big game sports, concerts and more. This stockpile of entertainment requires just a click of the button to enjoy. New programs and the like enter the mix frequently. Expect to see a fresh supply of entertainment from Comcast Cable in 32426. Comcast Digital also provides numerous HD movies and more through the on-demand cable channel. If you like, you may want to include a DVR with your Comcast plan. In fact, you may qualify for a free DVR as a first-time Comcast subscriber. On-demand cable coupled with a DVR puts home entertainment lovers in charge like never before. Depending on the model of DVR you choose, you can record hundreds and sometimes thousands of hours of your favorite titles, even pause and rewind live Comcast Cable TV, or return to the program's beginning. And, an HD-DVR stores your favorite titles in the highest resolution whenever you find convenient.
Comcast in Jackson County offers on-demand cable. Comcast stocks its brand of On-Demand cable with a huge array of movies, big game sports, concerts and a whole lot more. Think of it as a library filled with countless titles, all available with a single click on your TV remote. New programs and films enter the cycle frequently. Expect a fresh supply of entertainment from Comcast Cable in 32426. Comcast Digital also offers a high volume of HD movies and more within the framework of on-demand cable. You may want to add a DVR to your Comcast plan for added convenience. First-time Comcast subscribers may even qualify for a free DVR at the time of service activation. On-demand cable plus a home DVR puts entertainment enthusiasts in charge like never before. DVR models vary, but you can potentially store hundreds and sometimes thousands of hours of your favorite titles. Also, pause and rewind live television, or return to the beginning of the broadcast. Hi-def minded TV watchers can also opt for HD-DVR stores titles in the highest resolution.
Comcast in Jackson County offers the kind of home entertainment that will blow you away. Get cable from Comcast TV in Jackson County and an action-packed lineup waits before you. This means all the television's top networks, Hollywood's biggest blockbusters, hit series, big-name concerts and sports. Comcast Cable in 32426 airs programming in 100% digital picture. Get digital cable TV from Comcast in Jackson County, you'll witness rich picture detail and hear smooth audio. Choose Comcast TV digital cable in 32426 and you can count on a reliable service at all times. This equals a clear picture and crisp audio every time you watch TV. Comcast also makes it easy to arrange your lineup as it suits you. See how easy it is to make Comcast in Jackson County work for you. Choose an entry-level offering that covers the fundamentals or something larger and grander in scope. With Comcast Cable in Jackson County, there's always something special for you. Get all the perks, 200-plus channels and all the technology extras with a top-level package. Of course, you can always find something in between the basic and comprehensive. Comcast Cable TV in 32426 offers the most possibilities of any provider. See how much awaits you when you choose Comcast cable in Jackson County.
Copyright © All Rights Reservide This Site is Licensed by Acceller


text:
I'm just going to be honest here guys. I'm not sure how I felt about this season. There were some really great minor storylines but all the major plot points felt a little over-dramatized and redundant.Here is my personal good, bad and ugly
If you haven't watched this season stop here:
The Good:
Joan- She grew the hell up! And not in that fake show-y way she would in previous seasons. It was legit and it was awesome. We also saw a new set of insecurities brought up. It was lovely to watch. Also, her Heidi Fleiss scenario was my favorite storyline from this season. How is this the first time that has come up?!
Megan- I think there could of been a lot less of her this season BUT everything they showed was great. It was nice to be pleasantly surprised by who she was. It was also GREAT seeing her parents because without them there wouldn't of been an inappropriate amount of sex in the air around Sally Draper (seriously, every season I am grossed out by a Sally storyline)
Lane- Poor Lane. Though his suicide was predictable I was definitely captured by his fall from grace. His wife buying a Jaguar?! And then it didn't start?! I found myself feeling bad that his suicide wasn't even going well. I'm glad the writers finally spared us seeing him humiliated every week.
Sally- She is everything and I want a spin-off show for her NOW. They adult things she says to that boy on the phone? HILARIOUS!
The Bad:
Don- One of my biggest pet peeves is when a show uses an ENTIRE SEASON as a platform for the next season. We spent 13 episodes watching Don age. After episode 6 I was COMPLETELY OVER poor sad detached Don. We get it- Don doesn't do happy well. Don feels old and untalented. He needs drama and mucky water. It didn't take me 13 eps to figure that out.All of the action moved around Don this season and therefore I felt like I didn't learn anything new. And he made Peggy leave by being an asshole! Don, I will never forgive you.
The Ugly:
Betty- Why do the writers insist on making Betty so evil!? It"s starting to feel like farce. It makes for some great lines but it just doesn't add value to the show I think. Poor Sally.
Roger- Mushroom's? Really? I can never tell if Roger is fighting off age or has just accepted it. Also, when did he become such a pushover? EVERYONE shook him down for money this season.A better storyline would of been money woes for him.
I say all of the above to say— I can't wait for next season!! :)


text:
Because if you were talking about "The Santa Clause," then this would work. Otherwise, not so much. Remember the uproar over Dan Quayle misspelling potato as "potatoe" when it was spelled that way on the card provided to him? Granted, this isn't the President's personal error, but it's still a really stupid mistake. And consider if this had happened to the George W. Bush White House.
This mistake would be EVERYWHERE in the media, and yes I can say that based on past performance by the MSM.


text:
Please enter your current email address to receive instructions on resetting your password.
Your password has been reset. Please check your email for further instructions.
You are sending a link to the page. Please completely fill out the form below.
Add an additional message below.
The URL for the page will automatically be added to your message.
Taylor Swift returns to John Paul Jones Arena with her RED Tour. The tour will kick-off on March 13 in Omaha, Nebraska and continue through September. Acclaimed singer/songwriter Ed Sheeran, whose duet with Taylor from her RED album, "Everything Has Changed," has already reached the #1 position atop iTunes all-genre Top Songs chart, will be a special guest on all of the shows on the tour.
This facility meets ADA Accessibility Guidelines for wheelchair accessibility, including an accessible entrance, access to goods and services, usability of rest rooms and accessible parking and drop-off areas. For additional details, please see the ADA website.
Order your Free 2013 Virginia Travel Guide.
What's going on around Virginia? Subscribe to the Virginia eNews.
Thank You! For subscribing to the Virginia eNewsletter. You will begin receiving 2 email newsletters each month.
View Our Newsletter Archive
Online Travel Guide
Virginia Green
Weather Forecasts
Virginia iPhone Apps


text:
Cathedral City Self Storage
760-469-4617 74853 Hovley Ln East, Palm Desert, CA 92260 Next to Hovley Lane Post Office
Hours and Access
Office: Mon - Sat: 8 am - 6 pm Sun: 10 am - 2 pm Gates: Mon - Sat: 7 am - 7 pm Sun: 10 am - 2 pm GREAT FEATURES THAT BENEFIT YOU
If you need self storage in Cathedral City, think of Stor-n-Lock. Our Cathedral City storage facility is clean and convenient with a focus on providing friendly customer service and giving you peace of mind that your important belongings are close by. Whether business storage, personal items, or anything in between, Stor-n-Lock truly strives to give all of its customers a comfortable, convenient storage experience.
We encourage you to compare our self storage facilities to any of the Cathedral City self storage facilities listed below:


text:
Accurate Calculations Guarantee
We guarantee accurate calculations or we'll reimburse resulting IRS penalties and interest charges (limits apply).
Worry-free Audit Support®
It's unlikely you'll receive an IRS tax audit. But if you do, free audit support and audit representation is part of our guarantee. Our audit support helps you understand why you're being audited and what kind of response to prepare. If you need representation, we can communicate on your behalf through an audit proceeding.
Maximum Refund Guarantee
We promise you the biggest tax refund you're entitled to or your tax preparation is free.
View DetailsIf you find another online tax preparation method that results in a larger refund (or smaller liability) than that calculated by the H&R Block At Home online tax program, we will refund the fees you paid us to use our online tax program to prepare that return. To qualify, the larger refund or smaller tax liability must not be due to differences in data supplied by you or positions taken on your return that are contrary to law.
View Reviews
- More H&R Block At Home™ - Premium Reviews
- H&R Block At Home™ - Premium reviews (page 2)
Supports most tax forms
See a full list of tax forms supported by H&R Block At Home™ Premium.
View ListForm 1040 Individual Income Tax Return
Form 1040A Individual Income Tax Return
Form 1040EZ Income Tax Return for Single and Joint Filers
Form W-2 Wage and Tax Statement
Form 1098 Mortgage Interest Statement
Form 1098-E Student Loan Interest
Form 1098-T Tuition Payment
Form 1099-DIV Dividends and Distributions Income
Form 1099-G Certain Government Payments
Form 1099-INT Interest Income
Form 1099-MISC Miscellaneous Income
Form 1099-G Certain Government Payments
Form 2441 Child and Dependent Care Credit
Form 8863 Education Credits
Form 8917 Tuition and Fees Deduction
Schedule A Itemized Deductions
Schedule B Interest and Dividends
Schedule C Profit or Loss from Business
Schedule C-EZ Net Profit from Business
Schedule D Capital Gains and Losses
Schedule EIC Earned Income Credit
Schedule SE Self-Employment Tax
Other IRS Forms and Schedules:
Schedule E Rents, Royalties, Partnerships, Etc.
Schedule F Profit or Loss from Farming
Schedule H Household Employment Taxes
Schedule K-1 Estate and Trust Income
Schedule K-1 Partnership and S Corporation
Schedule R Credit for the Elderly or the Disabled
Schedule 8812 Additional Child Tax Credit
Section 179 Worksheet
Taxable Recovery Worksheet
Form W-2G Gambling Winnings
Form 982 Reduction of Tax Attributes Due to Discharge of Indebtedness
Form 1040-ES Estimated Tax
Form 1040-V Payment Voucher
Form 1040-X Amended U.S. Individual Income Tax Return (For current year returns)
Form 1098-C Vehicle Donation
Form 1099-G Certain Government Payments
Form 1099-OID Original Issue Discount
Form 1099-Q Payments from Qualified Education Programs
Form 1099-RRB Railroad Retirement
Form 1099-S Proceeds From Real Estate Transactions
Form 1099-SA Distributions from HSA, Archer MSA, or Medicare Advantage MSA
Form 1099-SSA Social Security Distributions
Form 1116 Foreign Tax Credit
Form 1310 Refund Due a Deceased Taypayer
Form 2106 Employee Business Expenses
Form 2106-EZ Unreimbursed Employee Business Expenses
Form 2210 Underpayment Penalty
Form 2210-F Underpayment of Estimated Tax by Farmers and Fisherman
Form 2439 Undistributed Long-Term Capital Gains
Form 2555 Foreign Earned Income
Form 2555-EZ Foreign Earned Income Exclusion
Form 3903 Moving Expenses
Form 4137 Social Security Tax on Unreported Tips
Form 4562 Depreciation and Amortization
Form 4684 Casualties and Thefts
Form 4797 Sales of Business Property
Form 4835 Farm Rental Income and Expenses
Form 4868 Automatic Extension of Time to File
Form 4952 Investment Interest Expense
Form 4972 Tax on Lump-Sum Distributions
Form 5329 Return for IRA and Retirement Plan Tax
Form 5405 First-Time Homebuyer Credit
Form 5695 Residential Energy Credits
Form 6251 Alternative Minimum Tax
Form 8283 Noncash Charitable Contributions
Form 8332 Release of Claim to Exemption
Form 8396 Mortgage Interest Credit
Form 8453 Electronic Filing
Form 8582 Passive Activity Loss Limitations
Form 8606 Nondeductible IRAs
Form 8615 Tax for Children Who Have Investment Income of More Than $1,900
Form 8801 Credit for Prior Year Minimum Tax-Individuals, Estates, and Trusts
Form 8814 Election for Child's Income
Form 8815 Exclusion of Interest from Series EE Bonds
Form 8822 Change of Address
Form 8822-B Change of Address - Business
Form 8829 Expenses for Business Use of Your Home
Form 8839 Qualified Adoption Expenses
Form 8862 Information to Claim Earned Income Credit after Disallowance
Form 8880 Credit for Qualified Retirement Savings Contributions
Form 8885 Health Insurance Credit for Eligible Recipients
Form 8888 Direct Deposit to More than One Account
Form 8889 Health Savings Accounts (HSAs)
Form 9465 Installment Agreement Request
Computer Requirements
Our programs have been developed to get you filing right away.
View RequirementsWindows Operating System | Supported Browsers |
Windows VISTA |
Windows 7 |
MAC Operating System | Supported Browsers |
Mac OS 10.6 |
Hardware | Minimum Requirements |
Memory Windows | 512 MB or above |
Memory Mac | G3 or G4 128 MB RAM |
Processor | 800 MHz or above |
Internet | 56K or above |
Adobe Acrobat Reader | 5.0.5 or higher |
Monitor | 1024x768, SVGA color monitor |
Printer | Compatible ink jet or laser |
Speakers & Sound Card | For videos / animation |
H&R Block At Home™ Premium
The best way to file your taxes if you're self-employed or own rental property.
1Purchase of this program entitles you to one session with an H&R Block tax professional.
State programs can be added within the program for an additional cost. Most state programs available in January. Release dates vary by state. The following states do not support part-year/nonresident forms: AL, DC, HI, MT and ND.
H&R Block At Home is a registered trademark of HRB Innovations, Inc. TurboTax is a registered trademark of Intuit, Inc.
H&R Block At Home™ and H&R Block Best of Both℠ prices are ultimately determined at the time of print or e-file. All prices are subject to change without notice