All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <83e4baf9-6ece-6e81-1864-689934b7733a@lge.com>

diff --git a/a/1.txt b/N1/1.txt
index 1e0e87b..e21c3f2 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -25,8 +25,8 @@ On 1/17/2018 11:19 AM, Byungchul Park wrote:
 >>
 >> In printk() when it tries to write to the consoles, we have:
 >>
->>     if (console_trylock())
->>         console_unlock();
+>> A A A A if (console_trylock())
+>> A A A A A A A  console_unlock();
 >>
 >> Now I added an else, which will check if there is an active owner, and
 >> no current waiter. If that is the case, then console_waiter is set, and
@@ -60,19 +60,19 @@ On 1/17/2018 11:19 AM, Byungchul Park wrote:
 >> We could look at it from this side. The possible deadlock would
 >> look like:
 >>
->> CPU0                            CPU1
+>> CPU0A A A A A A A A A A A A A A A A A A A A A A A A A A A  CPU1
 >>
 >> console_unlock()
 >>
->>    console_owner = current;
+>> A A  console_owner = current;
 >>
->>                 spin_lockA()
->>                   printk()
->>                     spin = true;
->>                     while (...)
+>> A A A A A A A A A A A A A A A  spin_lockA()
+>> A A A A A A A A A A A A A A A A A  printk()
+>> A A A A A A A A A A A A A A A A A A A  spin = true;
+>> A A A A A A A A A A A A A A A A A A A  while (...)
 >>
->>      call_console_drivers()
->>        spin_lockA()
+>> A A A A  call_console_drivers()
+>> A A A A A A  spin_lockA()
 >>
 >> This would be a deadlock. CPU0 would wait for the lock A.
 >> While CPU1 would own the lockA and would wait for CPU0
@@ -85,10 +85,10 @@ On 1/17/2018 11:19 AM, Byungchul Park wrote:
 >> CPU0
 >>
 >> spin_lockA()
->>    printk()
->>      console_unlock()
->>        call_console_drivers()
->>     spin_lockA()
+>> A A  printk()
+>> A A A A  console_unlock()
+>> A A A A A A  call_console_drivers()
+>> A A A A spin_lockA()
 >>
 >> By other words, this deadlock was there even before. Such
 >> deadlocks are prevented by using printk_deferred() in
@@ -106,4 +106,10 @@ Of course, it's not an important thing but trivial one though.
 
 -- 
 Thanks,
-Byungchul
\ No newline at end of file
+Byungchul
+
+--
+To unsubscribe, send a message with 'unsubscribe linux-mm' in
+the body to majordomo@kvack.org.  For more info on Linux MM,
+see: http://www.linux-mm.org/ .
+Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
\ No newline at end of file
diff --git a/a/content_digest b/N1/content_digest
index 8e3884d..914bacf 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -76,8 +76,8 @@
   ">>\n",
   ">> In printk() when it tries to write to the consoles, we have:\n",
   ">>\n",
-  ">> \302\240\302\240\302\240\302\240if (console_trylock())\n",
-  ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240 console_unlock();\n",
+  ">> A A A A if (console_trylock())\n",
+  ">> A A A A A A A  console_unlock();\n",
   ">>\n",
   ">> Now I added an else, which will check if there is an active owner, and\n",
   ">> no current waiter. If that is the case, then console_waiter is set, and\n",
@@ -111,19 +111,19 @@
   ">> We could look at it from this side. The possible deadlock would\n",
   ">> look like:\n",
   ">>\n",
-  ">> CPU0\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 CPU1\n",
+  ">> CPU0A A A A A A A A A A A A A A A A A A A A A A A A A A A  CPU1\n",
   ">>\n",
   ">> console_unlock()\n",
   ">>\n",
-  ">> \302\240\302\240 console_owner = current;\n",
+  ">> A A  console_owner = current;\n",
   ">>\n",
-  ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 spin_lockA()\n",
-  ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 printk()\n",
-  ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 spin = true;\n",
-  ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 while (...)\n",
+  ">> A A A A A A A A A A A A A A A  spin_lockA()\n",
+  ">> A A A A A A A A A A A A A A A A A  printk()\n",
+  ">> A A A A A A A A A A A A A A A A A A A  spin = true;\n",
+  ">> A A A A A A A A A A A A A A A A A A A  while (...)\n",
   ">>\n",
-  ">> \302\240\302\240\302\240\302\240 call_console_drivers()\n",
-  ">> \302\240\302\240\302\240\302\240\302\240\302\240 spin_lockA()\n",
+  ">> A A A A  call_console_drivers()\n",
+  ">> A A A A A A  spin_lockA()\n",
   ">>\n",
   ">> This would be a deadlock. CPU0 would wait for the lock A.\n",
   ">> While CPU1 would own the lockA and would wait for CPU0\n",
@@ -136,10 +136,10 @@
   ">> CPU0\n",
   ">>\n",
   ">> spin_lockA()\n",
-  ">> \302\240\302\240 printk()\n",
-  ">> \302\240\302\240\302\240\302\240 console_unlock()\n",
-  ">> \302\240\302\240\302\240\302\240\302\240\302\240 call_console_drivers()\n",
-  ">> \302\240\302\240\302\240\302\240spin_lockA()\n",
+  ">> A A  printk()\n",
+  ">> A A A A  console_unlock()\n",
+  ">> A A A A A A  call_console_drivers()\n",
+  ">> A A A A spin_lockA()\n",
   ">>\n",
   ">> By other words, this deadlock was there even before. Such\n",
   ">> deadlocks are prevented by using printk_deferred() in\n",
@@ -157,7 +157,13 @@
   "\n",
   "-- \n",
   "Thanks,\n",
-  "Byungchul"
+  "Byungchul\n",
+  "\n",
+  "--\n",
+  "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n",
+  "the body to majordomo\@kvack.org.  For more info on Linux MM,\n",
+  "see: http://www.linux-mm.org/ .\n",
+  "Don't email: <a href=mailto:\"dont\@kvack.org\"> email\@kvack.org </a>"
 ]
 
-2134716049dba9739aa67dc422b88a01ae29e34a802049672b5c18fbcad5db53
+3e139cae2b0a8deb4f8368db646d2eb1866596008925d800e851002d2b9e1775

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.