android - Linux apanic mechanism and difference from newer ram_console/persistent_ram mechanism -


i studying different logging mechanisms on linux in case of kernel panic (oops). far search on web, have been able derive following information:

  • apanic old mechanism of getting job done.
  • ram_console/persistent_ram new mechanism.

could enlighten me following in regard ?

  • what old apanic mechanism, @ high-level how did work ?
  • why apanic mechanism deprecated, in favor of ram_console/persistent_ram mechanism ?
  • what advantages new ram_console/persistent_ram mechinsm bring table.
  • in way ram_console/persistent_ram functionally different old apanic approach ?

i looking pointers , high level answers, in sense direction can take research mechanisms further. appreciate relevant information in regard.

thanks

find answers below series of questions.

what old apanic mechanism, @ high-level how did work?

it mechanism used android message logging. writes log message specific offset in mtd partition of nand. kernel module exports file named called "apanic" "debugfs". debugfs can mounted on directory using below command. " mount -t debugfs none /sys/kernel/debug" requires debugfs configuration enabled on linux kernel. more information on go through source code in link below.

https://android.googlesource.com/kernel/msm.git/+/android-msm-2.6.35/drivers/misc/apanic.c

why apanic mechanism deprecated, in favor of ram_console/persistent_ram mechanism ?

this apanic driver not part of linux kernel. specific android. deprecated in latest version of androids. reason writing nand partition may not idea when kernel opps happens. since nand_write slow has limited write cycles. opinion. not sure of actual reason .

what advantages new ram_console/persistent_ram mechinsm bring table?

it logging mechanism used android logging console messages. here logging messages goes ram area. in case of persistent_ram , log messages goes persistent memory area (which retained ) of ram. driver module creates file named "last_kmsg" in proc directory. message can read in next boot if kernel oops , stops booting. more information go through source code given in below link.

https://android.googlesource.com/kernel/common.git/+/android-3.4/drivers/staging/android/ram_console.c

in way ram_console/persistent_ram functionally different old apanic approach ?

the former ram based , later mtd based.

in latest experimental android source not finding source of both. not know reason.

https://android.googlesource.com/kernel/common.git/+/experimental/android-3.10-rc5/drivers/staging/android/

hope clarified queries.

regards,

yuvaraj.a


Comments

Popular posts from this blog

image - ClassNotFoundException when add a prebuilt apk into system.img in android -

I need to import mysql 5.1 to 5.5? -

Java, Hibernate, MySQL - store UTC date-time -