> > @@ -3157,12 +3162,9 @@ void kmsg_dump(enum kmsg_dump_reason reason) > > struct kmsg_dumper *dumper; > > unsigned long flags; > > > > - if ((reason > KMSG_DUMP_OOPS) && !always_kmsg_dump) > > - return; > > - > > rcu_read_lock(); > > list_for_each_entry_rcu(dumper, &dump_list, list) { > > - if (dumper->max_reason && reason > dumper->max_reason) > > + if (reason > dumper->max_reason) > > continue; > > Why always_kmsg_dump check moved from the dumper loop entry point to the > dumper registration code? What if the user change always_ksmsg_dump > dynamically via sysfs? Hi Sergey, I changed it to make code cleaner: for such basic operation there are too many conditions if we will keep it inside the kmsg_dump(). However, if being able to set always_kmsg_dump dynamically during runtime is deemed important, I can change it back to be checked in kmsg_dump. Thank you, Pasha > > -ss