How can I 'getchar()' in module code?

Bernd Petrovitsch bernd at
Tue Dec 3 09:20:55 EST 2013

On Die, 2013-12-03 at 08:38 -0500, Valdis.Kletnieks at wrote:
> On Tue, 03 Dec 2013 20:35:41 +0800,  said:
> > For debugging purpose, I want something like 'getchar()' that can pause
> > execution in the module code. Do any candidates I can choose?

You do not want that - there is way too much parallelism and
asynchronous stuff in the kernel.
Debugging with getchar() and the like pretty much works only in
single-threaded stuff ....

> The problem is that pausing execution in module code is dangerous, as if
> you hold any locks or anything like that, you can hang other threads or
> even the whole machine.
> You probablhy want to be looking at the kgdb support, that is coded to
> work around a lot of the issues and you get full GDB support not just a
> getchar() pause.

Or just use printk() to print interesting values in interesting cases.

Bernd Petrovitsch                  Email : bernd at
                     LUGA :

More information about the Kernelnewbies mailing list