RE: how to debug... program hangs while downing for write a rwsem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



And I am also trying to do the experiment with linux5.15.68.
Somehow linux doesn't start with this new setup and I need some time.
Thank you for the advices.

Chan Kim

>-----Original Message-----
>From: Chan Kim <ckim@xxxxxxxxxx>
>Sent: Thursday, September 22, 2022 10:18 PM
>To: 'Greg KH' <greg@xxxxxxxxx>
>Cc: 'kernelnewbies@xxxxxxxxxxxxxxxxx' <kernelnewbies@xxxxxxxxxxxxxxxxx>
>Subject: RE: how to debug... program hangs while downing for write a rwsem
>
>Hi, Greg K-H,
>
>I found the scheduler isn't working correct.
>When I run an application instead of the shell, and when I call sleep()
>inside the application, it hangs.
>So I have to investigate about the clock settings first(in dts, etc).
>(The serial port is 8250 compatible uart that we've been using).
>Thank you.
>
>Chan Kim
>
>>-----Original Message-----
>>From: Greg KH <greg@xxxxxxxxx>
>>Sent: Wednesday, September 21, 2022 8:16 PM
>>To: Chan Kim <ckim@xxxxxxxxxx>
>>Cc: kernelnewbies@xxxxxxxxxxxxxxxxx
>>Subject: Re: how to debug... program hangs while downing for write a
>>rwsem
>>
>>On Wed, Sep 21, 2022 at 08:02:50PM +0900, Chan Kim wrote:
>>> Hello kernel experts and users,
>>>
>>> I'm trying to boot linux-5.10.0-rc5 on our arm64 board (using
>>> neoverse-v1 core).
>>
>>5.10-rc5 is very very very old and obsolete, and not even a real release.
>>Why are you using that specific kernel version?
>>
>>At the very least, use a released and supported 5.10.y tree, but even
>>better, use the latest 5.19.y release.
>>
>>> After the shell comes up, when I press enter key at the prompt, it
>>> gives me another prompt.
>>> But when I press enter key again, it stops responding.
>>> After inspecting where the program hangs, I found it hangs in
>>> function tty_set_termios while downing the rwsem.
>>> Please see below where I marked "<===== this line "". (in file
>>> drivers/tty/tty_ioctl.c)
>>>
>>> int tty_set_termios(struct tty_struct *tty, struct ktermios
>>> *new_termios) {
>>>     struct ktermios old_termios;
>>>     struct tty_ldisc *ld;
>>>
>>>     WARN_ON(tty->driver->type == TTY_DRIVER_TYPE_PTY &&
>>>         tty->driver->subtype == PTY_TYPE_MASTER);
>>>     /*
>>>      *  Perform the actual termios internal changes under lock.
>>>      */
>>>
>>>
>>>     /* FIXME: we need to decide on some locking/ordering semantics
>>>        for the set_termios notification eventually */
>>>     down_write(&tty->termios_rwsem);                        <====== this
>>> line
>>
>>What serial driver are you using that is causing this problem?
>>
>>thanks,
>>
>>greg k-h





_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]

  Powered by Linux