RE: efi_pstore: question about how to remove create_sysfs_entry()from a write callback.

From: Seiji Aguchi
Date: Tue Aug 14 2012 - 14:52:08 EST


> Can we not serialize this with &efivars->lock if it is updated to disable interrupts? A loop in the workqueue that locks, iterates through
> ->get_next_variable, and compares against searches in
> efivars->list should work, no?

If my understanding is correct, your pseudo code is as follows.

spin_lock_irqsave(&efivars_lock);

do {
get_next_variable();
if (found new entry)
efivars_create_sysfs_entries();

} while()

spin_lock_irqrestore(&efivars_lock);

But, memory is allocated dynamically with kzalloc() in efivars_create_sysfs_entries().
I don't want to allocate memory while holding spin_lock.

Please let me know if I'm missing something.

Seiji
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/