User-Submitted Improvements

Wow they migrated my data to Rucio. Everything is bright and shiny now.
Wow they migrated my data to …
"Gamergate isn't about misogyny, doxxing journalists or rage-quitting, baby," said Rod. "We just want transparency and integrity in game journos," he cooed.  "Indeed... However, your 90 minutes of free public WIFI have expired," trolled the librarian.
"Gamergate isn't about misogy…
"Hi guys. Not to be rude but can you go away? I'm pretty busy designing the Artificial Intelligence trees for my video game." Stated Barbie.
"Hi guys. Not to be rude but …
"It will go faster if Brian and I do some geeky sh**t," offers Steven. "Great!" says Barbie. "Steven, will you boot up Debian using this here sparkle drive?" "Sure!" says Steven. "Library Windoze Nazi OS going bye-bye in 10...9...8...."
"It will go faster if Brian a…
"I'm only doing the back end development"  barbie says, laughing. "brian can make the graphics!"
"I'm only doing the back end …
Hey sis, I've been coding for too many hours; it's time to take a break. Maybe we can have a pillow fight another time, I'm going to take a walk.
Hey sis, I've been coding for…
"Your robot puppy is so sweet," says Skipper. "Can I play your game?" "Of course you can!" Barbie says, laughing, "Brian and Steven are going to do some testing, but when it's in beta"
"Your robot puppy is so sweet…
"Can Brian and I help?" asks Steven. "Great!" says Barbie. "You can do some user testing for me." "Sure!" says Steven. "The library computer has the latest browsers installed, we can use that."
"Can Brian and I help?" asks …
"These are Steven and Brian's design ideas!" Barbie says, laughing. "I'll be doing the code. Graphic design is it's own highly technical skill, and just because I'll be coding it doesn't mean I know how to make it look great! That's why building a game like this is such a team effort."
"These are Steven and Brian's…
In computer class, Barbie raises her hand. "Yes, Barbie?" asks Ms. Smith, the teacher. "Why did you use the E13B standard font to encode my name in binary when other methods of representation are far more efficient?" The teacher is surprised, because all other students need their laptop for reading binary, but Barbie obviously doesn't.
In computer class, Barbie rai…
I do not eat breakfast. Please do not ask me any questions about
what I will do for breakfast. Please just do not bring it up.
I do not eat breakfast. Pleas…
"Usually I get paid for doing my job, but this time just high fives will be okay"
"Usually I get paid for doing…
After class, Barbie meets with Steven and Brian in the library. "Hi, guys," says Barbie. "Steven, I forked your repo and I noticed you're using some gems with really degrading and sexist names. Would you like me to help you find some less offensive alternatives?"
After class, Barbie meets wit…
void rcu_irq_exit(void)
{
	unsigned long flags;
	long long oldval;
	struct rcu_dynticks *rdtp;

	local_irq_save(flags);
	rdtp = this_cpu_ptr(&rcu_dynticks);
	oldval = rdtp->dynticks_nesting;
	rdtp->dynticks_nesting--;
	WARN_ON_ONCE(rdtp->dynticks_nesting < 0);
	if (rdtp->dynticks_nesting)
		trace_rcu_dyntick(TPS("--="), oldval, rdtp->dynticks_nesting);
	else
		rcu_eqs_enter_common(rdtp, oldval, true);
	rcu_sysidle_enter(rdtp, 1);
	local_irq_restore(flags);
}
void rcu_irq_exit(void) { un…
/*
 * Core SRCU state machine.  Advance callbacks from ->batch_check0 to
 * ->batch_check1 and then to ->batch_done as readers drain.
 */
static void srcu_advance_batches(struct srcu_struct *sp, int trycount)
{
	int idx = 1 ^ (sp->completed & 1);

	/*
	 * Because readers might be delayed for an extended period after
	 * fetching ->completed for their index, at any point in time there
	 * might well be readers using both idx=0 and idx=1.  We therefore
	 * need to wait for readers to clear from both index values before
	 * invoking a callback.
	 */

	if (rcu_batch_empty(&sp->batch_check0) &&
	    rcu_batch_empty(&sp->batch_check1))
		return; /* no callbacks need to be advanced */

	if (!try_check_zero(sp, idx, trycount))
		return; /* failed to advance, will try after SRCU_INTERVAL */

	/*
	 * The callbacks in ->batch_check1 have already done with their
	 * first zero check and flip back when they were enqueued on
	 * ->batch_check0 in a previous invocation of srcu_advance_batches().
	 * (Presumably try_check_zero() returned false during that
	 * invocation, leaving the callbacks stranded on ->batch_check1.)
	 * They are therefore ready to invoke, so move them to ->batch_done.
	 */
	rcu_batch_move(&sp->batch_done, &sp->batch_check1);

	if (rcu_batch_empty(&sp->batch_check0))
		return; /* no callbacks need to be advanced */
	srcu_flip(sp);

	/*
	 * The callbacks in ->batch_check0 just finished their
	 * first check zero and flip, so move them to ->batch_check1
	 * for future checking on the other idx.
	 */
	rcu_batch_move(&sp->batch_check1, &sp->batch_check0);

	/*
	 * SRCU read-side critical sections are normally short, so check
	 * at least twice in quick succession after a flip.
	 */
	trycount = trycount < 2 ? 2 : trycount;
	if (!try_check_zero(sp, idx^1, trycount))
		return; /* failed to advance, will try after SRCU_INTERVAL */

	/*
	 * The callbacks in ->batch_check1 have now waited for all
	 * pre-existing readers using both idx values.  They are therefore
	 * ready to invoke, so move them to ->batch_done.
	 */
	rcu_batch_move(&sp->batch_done, &sp->batch_check1);
}

/*
 * Invoke a limited number of SRCU callbacks that have passed through
 * their grace period.  If there are more to do, SRCU will reschedule
 * the workqueue.
 */
static void srcu_invoke_callbacks(struct srcu_struct *sp)
{
	int i;
	struct rcu_head *head;

	for (i = 0; i < SRCU_CALLBACK_BATCH; i++) {
		head = rcu_batch_dequeue(&sp->batch_done);
		if (!head)
			break;
		local_bh_disable();
		head->func(head);
		local_bh_enable();
	}
}

/*
 * Finished one round of SRCU grace period.  Start another if there are
 * more SRCU callbacks queued, otherwise put SRCU into not-running state.
 */
static void srcu_reschedule(struct srcu_struct *sp)
{
	bool pending = true;

	if (rcu_batch_empty(&sp->batch_done) &&
	    rcu_batch_empty(&sp->batch_check1) &&
	    rcu_batch_empty(&sp->batch_check0) &&
	    rcu_batch_empty(&sp->batch_queue)) {
		spin_lock_irq(&sp->queue_lock);
		if (rcu_batch_empty(&sp->batch_done) &&
		    rcu_batch_empty(&sp->batch_check1) &&
		    rcu_batch_empty(&sp->batch_check0) &&
		    rcu_batch_empty(&sp->batch_queue)) {
			sp->running = false;
			pending = false;
		}
		spin_unlock_irq(&sp->queue_lock);
	}

	if (pending)
		queue_delayed_work(system_power_efficient_wq,
				   &sp->work, SRCU_INTERVAL);
}

/*
 * This is the work-queue function that handles SRCU grace periods.
 */
void process_srcu(struct work_struct *work)
{
	struct srcu_struct *sp;

	sp = container_of(work, struct srcu_struct, work.work);

	srcu_collect_new(sp);
	srcu_advance_batches(sp, 1);
	srcu_invoke_callbacks(sp);
	srcu_reschedule(sp);
}
EXPORT_SYMBOL_GPL(process_srcu);
/* * Core SRCU state machine…
For no reason at all, Kylie takes on REGEDIT again. Two laptops = double that HAXX0RZ!
For no reason at all, Kylie t…
"It will go faster if Brian and I help," says Steven. "It's sweet of you to offer," says Barbie, "but I've got this, thanks." Steven nods, and he and Brian leave. Barbie sits down and cracks her knuckles, ready to solve the problem in front of her.
"It will go faster if Brian a…
"What's up sis?" asks Skipper. "Ugh, I'm 10 hours into debugging a race condition in this shitty Intel wireless driver." exclaims Barbie. "Why did I choose to be a kernel hacker, I could have done so much more with my life!"
"What's up sis?" asks Skipper…
Le BIOS n'était pas protégé alors, j'ai booté avec un Live Debian, et j'ai fait un Dual-boot, j'ai enfin une vrai machine qui tourne.
Le BIOS n'était pas protégé a…
This is like one of those awkward diversity photos that companies put out to try and convince people their engineering staff isn't all white and asian dudes.
This is like one of those awk…
"Who needs a split ergonomic keyboard when you can just buy two laptops?"
"Who needs a split ergonomic …
After class, Steven and Brian come across Barbie typing furiously in the library. "Hi, guys," says Barbie. "Skippers computer has been rootkitted, and I thought it'd be an interesting exercise to recreate the MBR by hand."
After class, Steven and Brian…
"It will go faster if Brian and I help," offers Steven. "Great!" says Barbie. "Steven, can you go get me some coffee?" "Sure!" says Steven. “The cafeteria usually has good coffee."
"It will go faster if Brian a…
Skipper asks Barbie to help her on a programming assignment for her introductory data structures class. "This code is fucking terrible." says Barbie. "Why are you using *another* list to reverse a linked list? Can't you do it in place n00b?. Also your editor sucks, who uses gedit?"
Skipper asks Barbie to help h…
"Your robot puppy is so sweet," says Skipper. "Can I play your game?" "I'm only creating the design ideas," Barbie says, laughing, “I won’t have the lower-level code done until tomorrow."
"Your robot puppy is so sweet…

more (171 pages)